$ show fanmingming/live
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.
The LLM identified 5 files worth highlighting for reuse:
A Cloudflare Worker that fetches EPG data from multiple external sources (112114.xyz and celetor/epg GitHub releases) and serves it in DIYP format. It is self-contained, handles caching, and can be deployed independently. Demonstrates a reusable pattern for aggregating and proxying external data via serverless functions.
A Cloudflare Worker that proxies radio station play URLs and logo redirects. It fetches metadata from radio.cn and returns appropriate responses. Standalone and reusable for any radio streaming proxy use case.
A ServiceWorker that intercepts fetch requests for HLS segments and streams them to a file download using StreamSaver. Combined with m3u8/mitm.html, it enables client-side recording of live streams. This pattern is reusable for any browser-based streaming download tool.
A pure frontend HTML page that converts TXT channel lists to M3U format. No server uploads required; all processing happens in the browser. Demonstrates a clean, self-contained utility pattern for format conversion.
A lightweight HLS video player that uses native HLS support when available and falls back to hls.js. It is a single-file component that can be embedded in any page. Shows a simple, reusable pattern for cross-browser HLS playback.