MediaGo is a cross-platform media download manager that enables users to download videos from a wide range of sources, including HLS/m3u8 streams, YouTube, Bilibili, TikTok, Douyin, Xiaohongshu, and direct URLs. It is built as a monorepo with a Go backend (REST API + SSE events), an Electron desktop shell, a web UI (React 19), a mobile player UI, and a Chrome MV3 browser extension. The backend manages a download task queue that orchestrates external binaries (yt-dlp, BBDown, ffmpeg, aria2c, N_m3u8DL-RE) via PTY/exec runners, provides real-time progress through SSE, and includes an MCP server for AI agent integration. The Electron app embeds a Chromium webview for media source sniffing and supports share intents, ad blocking, and device mode. The browser extension detects media resources on pages and dispatches them to the local or remote MediaGo server via HTTP or a custom protocol.
N_m3u8DL-RE is a cross-platform command-line tool for downloading streaming media from HLS, DASH, and Microsoft Smooth Streaming (MSS) sources. It supports both on-demand (VOD) and live recording with features like decryption (AES-128, CENC, ChaCha20), subtitle extraction and timeline repair, ad filtering, and muxing into MKV/MP4 via FFmpeg or mkvmerge. The architecture is a monolithic CLI application built on .NET 10 with System.CommandLine, Spectre.Console for progress UI, and extensive external tool integration. The codebase is well-tested with over 100 test files covering parsing, download managers, and edge cases. Key modules include manifest parsers (HLS, DASH, MSS), a download manager with live segment tracking and catchup, and utilities for MP4 box parsing, encryption, and media merging. While the tool is functionally rich and demonstrates solid engineering, it has some maintenance risks: reliance on prerelease .NET toolchains, large monolithic classes (e.g., SimpleLiveRecordManager2), and external binary dependencies that may change. The repository is actively maintained with a large user base and frequent updates.