A cross-platform video downloader with built-in sniffing — point it at a page, pick what you want, and save. No packet capture, no browser extensions to configure, no fiddling with command-line tools.
The app UI currently ships with English, Simplified Chinese, and Italian.
See something you want on any site → click the extension → send it to MediaGo. Detects video resources automatically, shows the count on the toolbar badge, works with most mainstream video platforms including YouTube, Bilibili and more. Ships bundled with the Desktop app — open Settings → More Settings → Browser extension directory to find the install folder.
Powered by yt-dlp under the hood. Supports YouTube, Twitter/X, Instagram, Reddit and over a thousand more video sites.
Using Claude Code, Cursor or another AI coding assistant? Install the MediaGo skill and just say "please download this video: <url>". The AI handles the rest.
npx clawhub@latest install mediagoMediaGo exposes a full HTTP API — scripts, automation tools and other apps can create download tasks, query progress and manage the list directly. The browser extension uses this same API to talk to the desktop app; anyone else can tap in too.
After a download finishes, convert it to another format or quality without leaving MediaGo. No more opening a separate tool for ffmpeg.
Headless install on your server, then access the web UI from anywhere on the same network:
docker run -d --name mediago -p 8899:8899 -v /path/to/mediago:/app/mediago caorushizi/mediago:3.5.0Available on Docker Hub and GHCR (ghcr.io/caorushizi/mediago) — same image, pick whichever registry is faster for you. Supports both Intel / AMD (amd64) and ARM (arm64). On the desktop build,
MediaGo listens on both 127.0.0.1 and your LAN IP out of the box, so
phones and tablets on the same Wi-Fi can open the web UI too.
- Windows — installer
- Windows — portable
- macOS — Apple Silicon (arm64)
- macOS — Intel (x64)
- Linux (deb)
- Docker Hub:
docker run -d --name mediago -p 8899:8899 -v /path/to/mediago:/app/mediago caorushizi/mediago:3.5.0 - GHCR:
docker run -d --name mediago -p 8899:8899 -v /path/to/mediago:/app/mediago ghcr.io/caorushizi/mediago:3.5.0
Browsing older releases? See the GitHub Releases page.
- Install BT Panel using the official script.
- Log in to the panel, click Docker in the sidebar and finish the Docker service setup (just follow the prompts).
- Find MediaGo in the app store, click Install, configure your domain, and you're done.
- 🌐 Browser extension — sniff videos on any site, send to MediaGo in one click
- 🎬 YouTube + 1000+ sites — powered by yt-dlp
- 🦞 OpenClaw Skill — download videos via AI coding assistants
- 🔌 HTTP API — integrate with scripts, automation and third-party tools
- 🎞️ In-app format conversion — choose output format and quality
- 🐳 Simpler Docker deployment — mount a single folder, multi-arch images on GHCR
- ⚡ Faster startup — backend rewrite, lower memory footprint, built-in video player
This project is for educational and research purposes only. Do not use it for any commercial or illegal purposes.
- All code and functionality provided by this project are intended solely as a reference for learning about streaming media technologies. Users must comply with the laws and regulations of their jurisdiction.
- Any content downloaded using this project remains the property of its original copyright holders. Users should delete downloaded content within 24 hours or obtain proper authorization.
- The developers of this project are not responsible for any actions taken by users, including but not limited to downloading copyrighted content or impacting third-party platforms.
- Using this project for mass scraping, disrupting platform services, or any activity that infringes upon the legitimate rights of others is strictly prohibited.
- By using this project you acknowledge that you have read and agree to this disclaimer. If you do not agree, stop using the project and delete it immediately.
Building from source? See CONTRIBUTING.md.
Translating MediaGo? See TRANSLATION.md.




