Koodo Reader is a cross-platform ebook reader application supporting a wide range of formats (EPUB, PDF, MOBI, AZW3, TXT, FB2, CBR/CBZ, MD, DOCX, HTML, etc.). It is built as an Electron desktop app with a React/TypeScript frontend and a separate Go HTTP server for OPDS catalog serving and KOReader sync. The application provides a full-featured reading experience including bookmarks, notes, highlights, text-to-speech (with multiple voice engines), translation and dictionary lookup (via built-in and custom plugins), OCR for scanned PDFs, and cloud sync/backup across many providers (WebDAV, S3, OneDrive, Google Drive, Dropbox, etc.). It also includes a library management system with shelves, tags, search, and import from local files, folders, URLs, and OPDS catalogs. The architecture is a monolith with a clear separation between the Electron main process (Node.js) and the renderer (React), plus an optional Go server for network-facing features. The codebase is large and feature-rich but shows signs of technical debt: widespread use of deprecated React lifecycle methods, heavy reliance on opaque minified libraries (kookit-extra), frequent `as any` type casts, and mixed Chinese/English comments. Despite these issues, the application is actively maintained and offers a robust set of features for ebook enthusiasts.
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.