This repository is a curated directory of internet radio streams, organized by genre, with automated tooling to generate M3U playlists, check link health, and probe stream availability. It is primarily a data curation project, with the README.md serving as the source of truth. The supporting scripts form a robust data pipeline: parsing the markdown, generating playlists, and running health checks with retry logic and silence detection. The project demonstrates strong data engineering practices in a non-traditional data context, with shared parsers, persistent state tracking, and CI workflows that handle race conditions gracefully.
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.