δΈζ
Β Β β’Β Β
ζ₯ζ¬θͺ
Β Β β’Β Β
Italiano
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.0For builds that request an initialization code, read setup-token in the server config directory (docker exec mediago cat /app/mediago/data/setup-token for the default container), then enter it on the setup page. The file is deleted after successful setup; existing accounts do not need to initialize again.
Available 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
Install One CLI 0.1.24 or newer first.
macOS / Linux:
curl -fsSL https://1cli.dev/install.sh | bashWindows (PowerShell):
irm https://1cli.dev/install.ps1 | iexFor manual installation, download the CLI archive for your operating system
and architecture from GitHub Releases
and add the one executable to PATH.
After installation, open a new terminal and run these commands from the repository root:
one --version
one mise trust
one mise install
one setup
one dev
one dev:web
one dev:electron
one check
one testone.manifest.toml registers the existing projects. mise.toml pins Node,
pnpm, Go and Task and exposes product workflows through One. Run one run
to list tasks, one build -p core to build Core, or one build -p docs
to build the documentation. one dev --dry-run -o json previews execution.
After changing package scripts, run one init mise and review the diff.
See CONTRIBUTING.md for configuration and validation.
The following Task commands remain compatible and are used by existing CI:
Repository workflows support Task v3.51.1 or newer
within the v3 release line. Install the latest compatible v3 release on macOS,
Linux, or Windows (PowerShell) with a Go toolchain, make sure the Go binary
directory is on PATH, and verify it before running repository commands:
go install github.com/go-task/task/v3/cmd/task@latest
task --versionFrom the repository root, the primary clone-and-start flow is:
git clone https://github.com/caorushizi/mediago.git
cd mediago
task setup
task dev:alltask setup installs the Node workspace and the runtime tools needed by the
application. Their only version source is packages/tooling/manifests/runtime-deps.json; Task
does not automatically upgrade them. Running pnpm install alone installs
only Node workspace packages, not runtime binaries such as BBDown.
One delegates product workflows to the existing Taskfile. Turbo, pnpm :raw
scripts, Go commands, and utilities in packages/tooling remain implementation
details used by Task and CI.
Use task dev:web for the web surface or task dev:electron for
desktop-only development. The deployable Web product is the Docker image;
there is no separate Node.js server package. Before submitting changes, run:
task check
task testThis 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.
Run pnpm security:js for the complete workspace dependency audit and
pnpm security:go with official govulncheck v1.9.0 on PATH for affected Go
function calls. GitHub runs these checks, CodeQL, and container dependency scans
on pull requests and daily. Container scans cover OS and identifiable embedded
packages; absence of findings does not validate every bundled native library.
The UI development server binds to 127.0.0.1 by default. For intentional LAN
testing, set MEDIAGO_DEV_HOST=0.0.0.0 in .env.development.local.
The runtime container uses Distroless Debian 13 with the required ICU/zlib libraries
and package provenance. It keeps the same port, volume paths and appended flag
overrides. There is no shell or package manager inside the production image; use
docker logs and the health/API endpoints for diagnostics. The external streaming
engine is rebuilt from checksum-pinned v0.2.1 source with the patched Go toolchain.
Usage statistics are optional. See the Privacy policy for installer-time choice and in-app controls. Windows SignPath signing is pending approval/integration; existing unsigned releases remain unsigned. See the Code signing policy.



