Browse YouTube as a scrollable thumbnail grid entirely inside a terminal window.
Watch videos up to 1080p at 60 frames per second without opening a browser.
Automatically skip sponsor segments during playback using SponsorBlock integration.
Sign in with a TV-style pairing code so watch history and recommendations sync to a YouTube account.
| helpfreedom/youthub | bhartiyashesh/purelymailcalendar | biao994/docpaws | |
|---|---|---|---|
| Stars | 55 | 55 | 55 |
| Language | Python | Python | Python |
| Setup difficulty | hard | moderate | moderate |
| Complexity | 4/5 | 4/5 | 3/5 |
| Audience | developer | general | developer |
Figures from each repo's GitHub metadata at analysis time.
Requires compiling a patched FFmpeg-based player (ffplay-yt) from source.
YouHub is a YouTube client that runs entirely inside a terminal window, without a web browser. It displays a scrollable grid of video thumbnails using a feature of the kitty terminal emulator that lets terminal apps show images, and plays videos up to 1080p at 60 frames per second. The project is written in Python and JavaScript, runs on Linux, and was tested on Debian 11. Instead of using the popular yt-dlp tool to fetch videos, YouHub connects to YouTube's streaming protocol directly, through a method reverse-engineered from how the official YouTube site works. This approach requires generating a "proof of origin" token that YouTube expects from real browsers, which the project does using a JavaScript library running in a simulated browser environment, without launching an actual browser. To avoid YouTube's automated-traffic detection, the project rotates through 24 different network fingerprint strategies when fetching video data. Playback goes through a custom player called ffplay-yt, which is a modified version of the open-source FFplay tool with added features: a side panel showing video recommendations, playback speed control, and two-way communication with the rest of the application over a local socket. SponsorBlock integration automatically skips sponsor segments, with a visual indicator on the progress bar. Hovering over a thumbnail in the grid shows a four-frame preview slideshow after three seconds. Logging in uses a TV-style pairing code: the user opens a YouTube page in any browser, types a short code shown in the terminal, and the app stores the resulting token locally. Watch history is also attributed to the user's YouTube account, so recommendations update based on what was watched through the client. Installation requires building ffplay-yt from source, which involves downloading FFmpeg 4.3.9 source code, patching it with the project's modified player file, and compiling it. The README walks through each step, including installing Python dependencies, Node.js packages, and the system libraries needed to build the player.
YouHub is a terminal-based YouTube client that shows video thumbnails as images and streams video directly, without a web browser or yt-dlp.
Mainly Python. The stack also includes Python, JavaScript, FFmpeg.
No license is stated in the provided text.
Setup difficulty is rated hard, with roughly 1day+ to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.