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.
This repository is an IPTV live-source automation tool that collects, tests, and aggregates TV channel streams from various sources (local files, subscriptions, EPG). It provides multiple interfaces: a CLI for updating channel lists, a REST API for serving M3U/TXT playlists, an RTMP/HLS streaming service for relaying channels, and desktop GUIs (Qt and Tkinter) for configuration and monitoring. The application is modular, with separate components for data fetching, channel testing, result aggregation, streaming, and GUI. It uses Docker for easy deployment and includes features like automatic speed testing, resolution filtering, whitelist/blacklist management, and EPG integration. The code demonstrates strong engineering practices with reusable components such as a structured reporting system, adaptive performance tuning, smart URL freezing with backoff, and cross-platform process handling.
Tuliprox is a production-grade IPTV streaming proxy and DVR system written in Rust, with a WebAssembly frontend in Yew. It aggregates IPTV sources from M3U, Xtream, Stalker, HDHomeRun, and media servers (Plex/Emby/Jellyfin) and presents them as a unified streaming backend via multiple protocols (HLS, Xtream, M3U, HDHomeRun). The system provides advanced features: HLS caching and segment repair, recording with conflict resolution and retention policies, RBAC with per-user connection limits and GeoIP filtering, EPG with smart matching, playlist transformation with a DSL-based mapping engine, and comprehensive notification channels (Discord, Telegram, Slack, etc.). The architecture is modular with many loosely-coupled crates (auth, session, hls, dvr, parser, repository, messaging) sharing a common model crate (`shared`), which enforces type safety and prevents configuration drift between frontend and backend. The frontend is a rich single-page application with real-time dashboards, source/playlist editors, user management, and a setup wizard. The codebase demonstrates high craftsmanship in its custom B+Tree storage engine, HLS state machine, notification channel trait, and frontend form management macros. It is actively maintained with CI/CD, Docker deployment, and clear separation of concerns, though some dependency version pinning and large enum variants indicate areas for cleanup.
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.
This repository is an automated IPTV playlist aggregation pipeline. It operates as a daily GitHub Actions workflow that fetches live TV channel URLs from dozens of remote sources, parses them (M3U and plain text), classifies by channel category using hand-maintained dictionary files (e.g., CCTV, provincial channels, sports, movies), applies name normalization via OpenCC, deduplicates, sorts, and outputs merged TXT and M3U files. It also includes a stream validation subsystem (blacklist1.py, blacklist2.py) that checks URL health, records failures with timestamps, and maintains a persistent failure cache and host reputation tracker via a JavaScript state module. Historical snapshots and output archives are stored for rollback. The system is heavily customized for Chinese IPTV sources and lacks automated tests, but the core pipeline pattern and the stream validation state management are reusable.
This repository is a curated collection of live TV and radio channel playlists (M3U format) along with supporting web tools. It provides direct-access channel logos, an EPG (Electronic Program Guide) via Cloudflare Workers, a web-based HLS player, a streaming download proxy using ServiceWorker, and a TXT-to-M3U converter. The architecture is a static site hosted on GitHub Pages and Cloudflare CDN, with serverless functions for data aggregation. The primary data flows involve fetching EPG from external sources (112114.xyz, celetor/epg) and radio metadata from radio.cn, then serving them through Workers. The playlists aggregate hundreds of Chinese and international channels, but rely on third-party stream URLs that may become stale. The codebase is functional and well-documented, but contains some outdated vendored libraries (Vue.js 2.6.10) and external dependencies that introduce drift risk. It is not a software library but a practical toolset for IPTV enthusiasts.
This repository aggregates, validates, and serves Chinese TV live stream URLs (m3u8). It uses a Flask web server to expose a curated list of channels, and a set of Python scripts to discover and test stream sources. The main search script (Tv_search/search_Tv.py) leverages Selenium to scrape the tonkiang.us website for channel links, then downloads short video segments to measure speed and filter viable streams. Additional scripts process Henan TV API data and replace sections of the output with ffmpeg-tested sources. The project is a practical, community-driven IPTV source aggregator with a focus on speed and reliability, but the codebase is a collection of tightly coupled scripts with minimal abstraction, making it more of a functional tool than a reusable library.
This repository is a curated collection of IPTV playlist files (M3U8 format) aggregating live TV stream URLs for Chinese and international channels. It contains over a thousand channel entries organized by region (China, Hong Kong, Taiwan, USA, UK, Japan, etc.) and category (news, sports, movies, adult content). The most notable files are auto-updated playlists (e.g., cnTV_AutoUpdate.m3u8) that are regenerated periodically from external live sources. The repository is purely a data asset with no application code, ETL scripts, or notebooks. It is intended for use with media players like VLC or Kodi. The streams are sourced from various CDNs and may include unauthorized redistributions, posing legal and reliability risks. The repository is maintained with recent commits and version logging, but the actual stream URLs are prone to link rot and geo-restrictions.