Weekly trend workflow: runs the full iptv-checker weekly, keeps a
snapshot of failed URLs in .github/checker-history/failed.txt, and
reports newly-broken vs newly-recovered channels since the last run
in the job summary.
PR check workflow: on any PR touching lists/*.md, extracts only the
added/changed stream links from the diff and checks just those (not
the whole 2000+ channel playlist), reporting online/failed results
directly in the PR's Checks summary.
Follow-up pass on remaining dead small local TV stations, using
alternate CDN paths, Wayback Machine clues, and Twitch/YouTube live
fallbacks where the repo's naming convention supports it. Verified
every replacement URL with curl before applying. Reverted one
agent-reported fix (Switzerland SRF Zwei) that no longer resolved
on independent re-check.
Italy: 9, Hungary: 2, Croatia: 1, North Macedonia: 1, Greece: 1
New country page sourced from a community-submitted playlist, with
every entry re-checked against its current live stream before
inclusion. 13 working channels (MTV Lebanon, Tele Liban, Al Manar,
Al Mayadeen, Voice of Lebanon, Noursat family, etc.), 9 more kept in
an Invalid section for channels that no longer resolve.
Sourced from the actively-maintained i.mjh.nz/.r/ resolver (Matt
Huisman's AU Freeview mirror project), which redirects to fresh,
tokenized CDN URLs on each request. Confirmed live for Seven, 7two,
7mate, 7flix, Nine, 10, 10 Peach, 10 Shake. SBS/NITV are no longer
carried by this mirror (still invalid).
Final round of the country-by-country pass against the CI
failed-channel report. Verified every replacement URL with curl
before applying. Spain VOD (all HQM Radio, provider backend down)
and USA VOD (all Bumblebee TV, CDN provider discontinued) had zero
fixable entries — confirmed the entire underlying providers are
gone, not just individual links.
Andorra, Dominican Republic, Estonia, Faroe Islands, Latvia,
Lithuania, Moldova, Netherlands, North Korea (KCTV), Peru,
San Marino: 1-2 each. VOD Italy: 10. News/Business/Weather: 4.
Continued the country-by-country pass against the CI failed-channel
report. Verified every replacement URL with curl before applying.
Denmark, Turkey, Trinidad, Norway, Macau, Bulgaria, Switzerland,
Nigeria, Hong Kong, Romania, Montenegro yielded no confident fixes
this round (mostly geo-blocked broadcasters, confirmed-dead hosts
with no findable replacement, or false-positive checker failures)
and were left untouched.
Israel: 5, Egypt: 4, Venezuela: 4, Georgia: 2, Belgium: 1 (+1 dup
removed in azerbaijan.md), Somalia: 4, Ireland: 4, Austria: 2,
Serbia: 1, Saudi Arabia: 1, Ukraine: 2, Slovenia: 1, Mexico: 3,
Kenya: 1, Costa Rica: 1, Brazil: 2, Iran: 1
Both domains are now fully unreachable (DNS failure / connection
refused), confirmed on repeated checks. 27 USA VOD and 18 Spain VOD
entries were still marked valid despite the backing CDN being gone.
Continued the country-by-country pass against the CI failed-channel
report. Verified every replacement URL with curl before applying.
Also fixed a malformed nested-bracket markdown link in belarus.md.
China: 10, Portugal: 5 (+2 duplicates removed), Poland: 6,
Korea: 2, Albania: 3, Australia: 4, Belarus: 3,
Bosnia and Herzegovina: 1, Iraq: 3, North Macedonia: 2,
Canada: 3, India: 1, Taiwan: 3, Chile: 1, Sweden: 1
The whole www.tvkaista.net/stream-forwarder/get.php proxy is now
returning 502 Bad Gateway, so several Poland/Slovenia rows that were
still marked valid were actually broken. Replaced TVP1, TVP Polonia,
TVP Info, TVP World with working alternatives; the rest are marked
invalid pending a working replacement (TV SLO 1/2/3 candidates found
but not yet verified due to a fetch rate limit).
Continued the country-by-country pass against the CI failed-channel
report. Verified every replacement URL with curl (including retrying
with player-style user agents where a host blocked generic UAs)
before applying. Japan, UK, and Croatia batches from this round
yielded no confident fixes (mostly geo-blocked national broadcasters
or no findable replacement) and were left untouched.
Argentina: 6 fixed
Czech Republic: 13 fixed
Germany: 1 fixed
Greece: 6 fixed
News: 14 fixed
Cross-referenced the CI iptv-checker's failed-channel report against
each country list, verified every replacement URL with curl before
applying, and removed one genuine duplicate (Telecolor International).
Real geo-blocked national-broadcaster 403s and CI-runner false
positives (esp. HTTP 408 timeouts, which turned out unreliable) were
left untouched rather than guessed at.
Italy: 6 fixed, 1 duplicate removed
Spain: 16 fixed
Russia: 3 fixed
UAE: 13 fixed
USA: 10 fixed
The config's files list still referenced the README's placeholder
filenames (playlist1.m3u, playlist2.m3u), which don't exist in this
repo, so the linter was silently checking nothing. Point it at the
real playlist.m3u8, drop the noisy full-file cat dump, and surface
its output in the job summary like the iptv-checker step.
Add a job summary listing the failed channels and upload the full
online.m3u/failed.m3u results as a build artifact, instead of running
the checker and discarding its output.
G1 TV and W9 now point to verified working streams. Removed dead
tntendirect.com/edge duplicate rows for TF1, France 5 and TFX where
a working stream for the same channel already existed elsewhere in
the file.
Cross-referenced TDTChannels' maintained playlist against dead/missing
entries: removed a duplicate dead TV3 row in spain.md (TV3Cat already
covers it), and added new working channels to mexico.md (7), peru.md (3),
and usa.md (7). All new stream URLs verified live.