What is this?
An IPTV source auto-update tool: it collects live stream links from multiple sources, checks availability, speed-tests them and outputs playable M3U/TXT playlists or an API endpoint you can import into any player.
Is this a desktop app, a server service, or a script I run once?
Several ways: a Windows/macOS desktop GUI, a command-line version, Docker images (amd64/arm64/armv7), or hands-free via a GitHub Actions workflow. The Python core can also serve results as a page on port 8080.
How do I get it running and get my first playlist?
Run the Docker image or the desktop GUI, adjust config/config.ini (or env vars) and let it update — it runs once at startup by default. Results go to output/result.txt plus an M3U file, served by a built-in page service on port 8080: point your player at that URL.
Do I need to install anything else alongside it?
The Docker image needs nothing extra. For the desktop GUI you must install FFmpeg yourself — the tool calls it to detect stream resolution and capture verification screenshots.
Will the streams it finds actually play well?
Not guaranteed — the README warns result quality depends on your data sources and network, so expect to tune the config. It filters dead and ad-placeholder streams, and an optional compensation mode can top up channels that would otherwise end up empty.
Is it really free to use, and what's the catch in the license?
GitHub classifies the license as NOASSERTION — custom terms rather than a standard open-source license — and the README carries separate Disclaimer and License sections. It also stresses staying within legal authorization and the target sites' terms.
Where does it get the stream links from?
By default from a local source file (local.txt) plus subscription sources — remote playlists you add. Dead subscription or EPG addresses are detected and auto-disabled, and a custom User-Agent can be set for fetching them.
How does it decide which links are worth keeping?
Each candidate is speed-tested for latency, rate, resolution and framerate. Defaults filter streams under 1280x720 or 0.5 MiB/s, drop no-signal/ad placeholder loops, and sort each channel by speed; region, ISP and IPv4/IPv6 preferences are configurable.
Can it keep the playlist fresh without me doing anything?
Yes — GUI, CLI and Docker modes support scheduled updates by interval or at fixed times (every 12 hours by default), and results can be written in real time while testing. GitHub Actions deployments run on their own workflow schedule.
What do the generated playlists include besides raw links?
EPG guide data for program previews, channel logos (local or from a logo library), update timestamps and per-link info like source and resolution. A restream mode transcodes for weak networks and direct browser playback, and replay-type interfaces are supported.
What are similar projects?
IPTV, Tvlist-awesome-m3u-m3u8, iptv, live, awesome-iptv, IPTV, LibreTV, bug



