opensourceprojects.dev

A broadsheet for software that doesn't ask for your email

A video downloader with built-in sniffing and a yt-dlp backend
GitHub RepoViews11

Project Description

View on GitHub

MediaGo: A Video Downloader That Handles the Sniffing So You Don't Have To

You've found a video you want to keep. Maybe it's a conference talk, a tutorial, or something you'll want to watch on a plane. So you start the familiar dance: open the dev tools, hunt through the network tab, copy a URL, paste it into a command-line tool, and hope the flags are right. MediaGo is a cross-platform video downloader that skips most of that. Point it at a page, pick what you want, and save it—no packet capture, no browser extensions to configure, no command-line fiddling.

What It Does

At its core, MediaGo is a desktop app that combines resource sniffing with a yt-dlp backend. That means it can detect video streams on a page for you, then hand off the actual downloading to yt-dlp, which covers YouTube, Twitter/X, Instagram, Reddit, and over a thousand other sites. The app UI currently ships in English, Simplified Chinese, and Italian.

There's also a browser extension for Chrome and Edge that ships bundled with the desktop app. It detects video resources automatically, shows a count on the toolbar badge, and lets you send a video straight to MediaGo with one click. You'll find the install folder under Settings, then More Settings, then Browser extension directory. Beyond the desktop app, MediaGo exposes a full HTTP API that scripts and other tools can use to create download tasks, query progress, and manage the list—the extension itself talks to the app through this same API. And there's a Docker image if you'd rather run it headless on a server and use the web UI from anywhere on your network.

Why It's Cool

  • The sniffing is the real differentiator. Most downloaders assume you already have a URL. MediaGo's pitch is that you don't need one—it finds the video resources on a page for you. That's the part that usually sends people to browser dev tools, and having it built in removes a genuine annoyance.

  • It leans on yt-dlp instead of reinventing it. yt-dlp is the de facto standard for video downloading, and it's actively maintained. Wrapping it rather than building a competing extractor means MediaGo inherits support for a huge list of sites without maintaining that list itself. Smart division of labor.

  • The extension is bundled, not a separate scavenger hunt. A lot of tools make you find and sideload their extension from some corner of the docs. MediaGo ships it with the desktop app and tells you exactly where the install folder lives. Small thing, but it's the kind of friction that kills adoption.

  • Built-in format conversion. After a download finishes, you can convert it to another format or quality without leaving the app. No more opening a separate tool for ffmpeg—which, if you've ever done it, you know is a context switch you'd rather skip.

  • The HTTP API is a nice escape hatch. Automation folks and tinkerers get a documented way to drive the app programmatically, and the extension proves it works in practice. If you want to script a batch of downloads or wire MediaGo into something else, the door is open.

  • There's an AI assistant skill, too. If you use Claude Code, Cursor, or another AI coding assistant, you can install the MediaGo skill and just say "please download this video: <url>." It's a small touch, but it fits how people are starting to interact with their tools.

  • Docker makes it a server tool, not just a desktop one. One command gets you a headless install, and you access the web UI from any machine on the same network. For a homelab or a shared setup, that's a meaningful option. Note that builds requesting an initialization code will need you to read setup-token from the server config directory (for the default container, docker exec mediago cat /app/mediago/data/setup-token), then enter it on the setup page. The file is deleted after setup, and existing accounts don't need it.

How to Try It

The fastest path is the desktop app. Head to the repository and grab a release for your platform, or check the Quick Start guide if you want step-by-step instructions.

If you'd rather run it on a server, the Docker route is one line:

docker run -d --name mediago -p 8899:8899 -v /path/to/mediago:/app/mediago caorushizi/mediago:3.5.0

Then open the web UI on port 8899. If your build asks for an initialization code, read the setup-token file as described above.

And if you want the AI assistant integration:

npx clawhub@latest install mediago

Once installed, you can ask your assistant to download a video by URL.

Final Thoughts

MediaGo is a practical answer to a specific annoyance: the gap between "I see a video" and "I have that video saved." It's not trying to be a media manager or a streaming tool—it's a downloader with the tedious parts automated and a few smart integrations on top. If you regularly save videos from the web and you're tired of the dev-tools routine, it's worth a look. The yt-dlp backend means you're building on something solid, and the API and Docker options give you room to grow beyond the desktop. Start with a single download and see if it saves you a step or two.


Follow @githubprojects for more developer tools and open source projects.

Back to Projects
Project ID: mediagoLast updated: October 26, 2026 at 08:39 AM