Commit Graph
797 Commits
Author SHA1 Message Date
Kálmán „KAMI” Szalai df7787500d Triage: mark confirmed-dead channels Invalid, clarify geo-blocked Japan feeds
Went through the open issue backlog and verified each claim against
the live streams with check_channels.py / curl before touching
anything, rather than acting on the reports alone.

Moved to Invalid (2 attempts, both `gone`, re-verified by hand):
- Greece: Start, Thraki Net TV
- Slovakia: Doma, Dajto, Krimi, Markíza TN Live, Jojko (joining the
  JOJ-family channels already Invalid - same upstream host, same
  missing-channel pattern)
- Bosnia and Herzegovina: Sevdah
- Spain: Nova, La 7 CYLTV, Canal TE24
- USA: NASA TV Public
- USA + zz_news_en: CNN / CNN International - both point at
  turnerlive.warnermediacdn.com/.../cnn_slate/..., which returns a
  permanently frozen manifest (#EXT-X-PUBLISHED-TIME and
  MEDIA-SEQUENCE identical across two fetches 8s apart, dated several
  months in the past) - a live-looking HTTP 200 that check_channels.py
  currently has no way to catch, since it never compares a URL against
  its own earlier response. Also moved the alternate CNN entry in
  zz_news_en.md (a raw.githubusercontent.com link that 404s outright).
- Not moved: N1 Bosna i Hercegovina (`disputed` - ffprobe found a real
  stream behind the dead-looking HTTP response, needs a human) and
  everything reported merely `unreachable`/`blocked` across these
  lists - neither is strong enough evidence on its own, see
  check_channels.py's own docstring.

Japan: added the Ⓖ marker to the 6 terrestrial channels on mov3.co
(NHK総合, 日本テレビ, テレビ朝日, TBSテレビ, テレビ東京, フジテレビ) -
confirmed HTTP 403 from here on all six, consistent with the
geo-restriction every other Ⓖ-marked channel in this repo already
documents. They were working `[>]` entries with no Ⓖ, which reads as
"this should work from anywhere" when it does not.

Left alone after checking (false alarms / already resolved, not a
list-file problem):
- Croatia HRT 1-4: already Ⓖ-marked and alive.
- Mongolia TenGer TV/TV5/TV9: all 40 Mongolia channels alive.
- Japan Willfonk/naori-test links: already Invalid on master.
- Several `unreachable` entries (Greece ART TV/Epirus TV 1, Croatia's
  RTL family, half of Spain, Bosnia's BHT/Glas Drine/etc.) -
  `unreachable` means "every attempt timed out or failed to connect
  from here", not "confirmed gone" - too weak to act on without a
  second opinion, and these didn't get one in this pass.

ran: python3 make_playlist.py (clean regen) + check_channels.py on
every touched list afterward to confirm nothing newly broke and the
moved channels no longer show up as working.
2026-10-23 09:32:08 +02:00
Kálmán „KAMI” Szalai 3e6687424c Add TV4, Cool and Film+ to Hungary from the same confirmed-live mirror
Same 141.94.193.53 host as the M1/M2/M5/Duna/RTL/TV2/ATV fixes in this
branch, per #1228. Re-tested all three live just now. TV4 is a genuine
free-to-air DVB-T2 channel; Cool and Film+ are RTL Group's
subscription-tier channels in official distribution, included here
since this mirror serves them without auth (same basis other
already-listed subscription channels in this repo are included on).
2026-10-23 09:04:47 +02:00
Kálmán „KAMI” Szalai ef189b70f3 Restore working channels flagged Invalid, fix dead Hungarian streams
Re-tested every URL below just now (curl + real HLS manifest body check)
before restoring, per issue #1226's finding that some Invalid rows have
working streams again:

- Italy: K2, Frisbee, Canale 58 — live again (closes #1205)
- Lebanon: ALWifak News TV, Arabica TV — live again
- Hungary: Hír TV — old onlinestream.live link now serves a player error;
  replaced with the working videa.hu relay
- Hungary: M1, M2/Petőfi TV, M5, Duna TV, RTL Klub, TV2, ATV — old
  88.212.15.19 links are dead; replaced with the 141.94.193.53 mirror
  URLs reported working in #1228 (verified live here too), moved back
  out of Invalid

Regenerated playlist.m3u8 and the per-country playlists via
make_playlist.py.
2026-10-23 08:52:44 +02:00
KAMI fb104bb268 Merge pull request #1233 from jmartini89/fix-italy_epg_la5_hgtv
Hotfix: EPG ID for italian channels La5 and HGTV
2026-10-23 08:37:55 +02:00
KAMI 1a2d10503b Merge pull request #1236 from jshaivitz-sys/patch-1
Add Botflix TV and Botflix Radioo official HLS streams
2026-10-23 08:37:19 +02:00
KAMI 94d61af506 Merge pull request #1237 from SoulmatelynchVFX/fix/bulgaria-dead-streams
Move dead Bulgaria streams to Invalid
2026-10-23 08:37:15 +02:00
KAMI fb400a4d6f Merge pull request #1242 from UnfocusedSpectator/fix-chile
chile.md Rearrangement
2026-10-23 08:37:12 +02:00
UnfocusedSpectator 5bd9b3b9d1 Added the Geo-block checkmark to CHV Deportes 2026-10-23 01:53:37 -03:00
UnfocusedSpectator 79b3f58a2d Rearranged channels.
Added: CHV Deportes, Mega 2, Meganoticias.
Removed: UCL is an uruguayan channel so I removed it.
2026-10-23 01:41:41 -03:00
antipopov de72e78a45 Update russia.md Add Ministerstvo Idey stream
Added official educational live stream for channel "Министерство Идей" (Russia).
2026-10-22 17:05:45 +05:00
Seal Wang 4d677a61e2 Move dead Bulgaria streams to Invalid 2026-10-19 10:29:06 +08:00
jshaivitz-sys 70caa4826f Add Botflix TV and Botflix Radioo official HLS streams 2026-10-18 19:01:29 -07:00
jmartini 4e217ae724 fixed epg id for italian channels la5 and hgtv 2026-10-18 12:33:25 +02:00
Liquidrocks bb1dd303d0 Update japan.md 2026-10-18 09:21:20 +02:00
Liquidrocks f9f30dff92 Added Nippon TV link - Update japan.md 2026-10-17 12:17:47 +02:00
Kálmán „KAMI” SzalaiandClaude Sonnet 5.5 73d61f8df0 Move dead Japan, Slovakia, Poland and Czech streams to Invalid
Addresses #1184, #1199, #1190, #1153.

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-15 01:15:44 +02:00
Kálmán „KAMI” SzalaiandClaude Sonnet 5.5 0fe4f090b5 Finland: update MTV Uutiset Live stream URL (#1194)
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-15 01:05:28 +02:00
Kálmán „KAMI” SzalaiandClaude Sonnet 5.5 f7223e6d37 Merge verified community fixes; regenerate playlists
Restore Pannon RTV and Putnok Városi TV, which are still live.

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-15 00:57:45 +02:00
Kálmán „KAMI” Szalai c78a998e7a Merge branch 'pr-1201' 2026-10-15 00:56:09 +02:00
Kálmán „KAMI” Szalai 6eebe07312 Merge branch 'pr-1207' 2026-10-15 00:56:09 +02:00
Kálmán „KAMI” Szalai b15bf6aa0c Merge branch 'pr-1213' 2026-10-15 00:56:09 +02:00
Kálmán „KAMI” Szalai 68184aa6fe Merge branch 'pr-1217' 2026-10-15 00:56:09 +02:00
Kálmán „KAMI” Szalai ad72dda279 Merge branch 'pr-1221' 2026-10-15 00:56:09 +02:00
Seal Wang d3196d9010 Move broken Hungarian streams to Invalid 2026-10-13 10:03:15 +08:00
Seal Wang e25c4cdf29 Move broken CCTV-16 and FZTV-2 to Invalid (China) 2026-10-12 17:10:13 +08:00
samethernet 7bbf8f0085 Fix NHK World Japan Link
Fix NHK World Japan Link, old link broken.
2026-10-11 14:50:32 +11:00
jmartini 1e8c2a69bd fixed italy 27 twentyseven EPG id 2026-10-09 22:36:18 +02:00
telluroid 73fd992d82 Update germany.md
Replacing the HR url with one that actually shows the program all day instead of just displaying a legal note.
2026-10-09 15:31:14 +02:00
mohamedvabedi 5a38fdf08b Sahara 24: update to the official stream URL 2026-09-27 16:57:57 +00:00
Djordje StojanovicandCursor a93bb2404b Mark dead ORF q8c HLS invalid and point ORF III at the working qxa stream.
Co-authored-by: Cursor <[email protected]>
2026-09-18 21:49:17 +02:00
Alessio 0cb84acf0d Change Super! logo image
Super! came back to its old logo since July 17, 2026
2026-09-13 13:20:30 +02:00
Kálmán „KAMI” SzalaiandClaude Sonnet 5 8f59d91d90 Replace dead Japan/Slovakia streams with verified working mirrors
Sources the repo's own check_channels.py (--attempts 4, ffprobe-class
rigor) confirms alive repeatedly, not single-probe guesses:

Japan (#1184) - 5 of 7 terrestrial channels moved from the dead-or-
flaky naori-test.netgenx.site relay to mov3.co mirrors (already the
same provider used for iptv-org/iptv's jp.m3u):
- NHK総合 -> nhk4.mov3.co, テレビ朝日 -> tvasahi.mov3.co,
  TBSテレビ -> tbs5.mov3.co, テレビ東京 -> tvtokyo.mov3.co,
  フジテレビ -> fujitv4.mov3.co
No public mirror found for NHK Eテレ or 日本テレビ (日テレ) - left on
naori-test, which is flaky rather than confirmed dead so not worth
downgrading to [x] either.

Slovakia (#1153) - 5 of 20 channels moved off the dead-or-flaky
sktv.mxnticek.eu relay:
- Markíza, Klasik -> cdnsk003.panaccess.com (STVR's own CDN, also
  serving the already-working MTR.sk entry in iptv-org/iptv's sk.m3u)
- Jednotka, Dvojka -> 88.212.15.19 test streams (from iptv-org/iptv)
- NR SR -> n11.stv.livebox.sk (STVR's own parliament feed)
STVR :24 and Šport have a candidate on 88.212.15.27, but it timed out
repeatedly under check_channels.py despite answering a lone curl, so
it's left unreplaced rather than swapped for an equally unreliable
source. Markíza's JOJ-group siblings (JOJ, Wau, Dajto, Krimi, Doma,
TA3, ...) have no public mirror found - these are commercial
broadcasters whose only known source remains the flaky mxnticek relay.

Co-Authored-By: Claude Sonnet 5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01HnjzQpjtzZkVgRJGZipm44
2026-09-12 16:22:59 +02:00
KAMI e1ca41cfff Merge pull request #1188 from almi05/add-telecolore-salerno
Add Telecolore Salerno
2026-09-12 15:26:15 +02:00
Alessio 4fb51acec3 Merge branch 'Free-TV:master' into master 2026-09-12 13:25:25 +02:00
KAMI b3ccbdad3d Merge pull request #1189 from almi05/update-italy-channels
Comprehensive Italian channels maintenance: mirrors, international feeds, regional restores & invalid cleanup
2026-09-12 12:04:51 +02:00
Kálmán „KAMI” SzalaiandClaude Sonnet 5 da45fdcc62 Mark dead willfonk.com Japan streams as invalid
stream01.willfonk.com has zero "alive" results across 1000+ checks in
the checker history over the last 8 days, and my own multi-attempt
probe (check_channels.py --confirm-dead) confirms it's consistently
unreachable. Part of #1184.

naori-test.netgenx.site and sktv.mxnticek.eu (also reported in #1184
and #1153) are left untouched: the checker history shows both still
returning "alive"/"flaky" results within the last 3 days, so per
check_channels.py's own guidance they're unreliable/geo-sensitive
rather than confirmed dead, and shouldn't be blanket-marked invalid
on a single failed probe.

Co-Authored-By: Claude Sonnet 5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01HnjzQpjtzZkVgRJGZipm44
2026-09-12 11:17:11 +02:00
Alessio f54a1b3fd0 Restore TSN Tele Sondrio News, upgrade Rtp Tv to HTTPS and add 29 regional DVB-T channels and visual radios
- Restore TSN Tele Sondrio News (LCN 85, Lombardia) to Regional DVB-T with active Akamai 720p stream
- Upgrade Rtp Tv stream protocol to HTTPS (flash2.xdevel.com)
- Add 29 verified regional DVB-T channels and visual radios in alphabetical order:
  * Regional DVB-T: AM Terni Television, Tele Golfo RTG, Tele Granducato, Tele Lacco Ameno, Tele Laser, Tele Ritmo, Tele Stabia / Gigli TV, TGS Telegiornale di Sicilia, TRG Media, TRSP Tele Radio San Pietro
  * Visual Radios & Local TVs: Bella e Monella TV, Enjoy Television, Radio Arancia TV, Radio Bianconera TV, Radio Delta 1 TV, Radio Digiesse TV, Radio Iglesias Visual Radio, Radio Juke Box TV, Radio Kiss Kiss Italia TV, Radio Kiss Kiss Napoli TV, Radio Napoli Emme, Radio Number One TV, Radio Padova TV, Radio Punto Zero TV, Radio Ritmo 80 TV, Radio Studio TV, Radio Taormina TV, Radio Televisione Sarda, Radio Tivù Azzurra, RTN Napoli
- All streams verified active on official CDNs (1080p/720p) with on-screen logos
- Only lists/italy.md modified
2026-09-11 19:43:00 +02:00
Alessio 554eff051b Restore working regional channels and cleanup Invalid section in lists/italy.md 2026-09-11 18:19:30 +02:00
Alessio d852d384d8 Fix Class CNBC epgid
typo, now it should match the epg
2026-09-11 17:41:59 +02:00
Alessio 2de5b6243b Update Italian channels: Rai & Mediaset international feeds, TGCOM24 & Rai News 24 mirrors, Sportitalia, Radio TV Serie A, Class CNBC, invalidate BIKE Channel 2026-09-11 17:20:02 +02:00
Alessio ad3d2ccedf Add Telecolore Salerno (closes #1185) 2026-09-11 13:48:12 +02:00
Alessio 05a69691a2 Move broken K2 and Frisbee streams to Invalid (lists/italy.md)
- Video chunks (.ts segments) return HTTP 403 Forbidden due to DRM/auth restrictions.
- Moved entries to ## Invalid and changed markers to [x].
2026-09-11 13:30:27 +02:00
Kálmán „KAMI” SzalaiandClaude Sonnet 5 72b7c7e076 Restore official geo-blocked RAI streams alongside the CloudFront mirror
Fixes #1179.

PR #1166 moved Rai 1, Rai 2, Rai 3, Rai Premium, Rai Storia and Rai
Scuola from the official mediapolis.rai.it relinker to a third-party
CloudFront mirror, because the relinker had become Italy-IP-gated and
was failing for everyone else (including the CI checker). That mirror
works for casual viewing, but as #1179 reports, it goes black during
broadcasts where RAI only holds domestic rights (e.g. EuroVolley) -
the official stream keeps working correctly for Italian-IP viewers
through exactly those broadcasts, because it's RAI's own domestic
feed, not a re-mirror of it.

Rather than trade one gap for the other, add the official mediapolis
URL back as a second, Ⓖ-marked entry for each of the six channels -
the same "CDN mirror as the general-access entry, official relinker
as the geo-gated alternative" split this file already uses for every
other Rai channel (Rai 4, Rai 5, Rai Movie, Rai Sport, etc., all still
on mediapolis.rai.it + Ⓖ). Viewers with an Italian IP get the more
correct source; everyone else keeps the mirror that already works for
them.

Also fixes a real gap in check_channels.py found while verifying this:
mediapolis.rai.it's relinker doesn't refuse an out-of-territory request
with an HTTP error - it answers 200 with a real MP4, but the file is
always the same "video_no_available.mp4" decoy regardless of which
channel was asked for. The checker had no way to tell that apart from
a working stream failing its playlist-header check, so every
mediapolis.rai.it entry (the pre-existing Rai 4/5/Movie/Sport ones
included) was scored `dead` instead of `blocked`, right down to the
newly-fixed pr_check.yml workflow that now hard-fails a PR over a
`dead`-scored touched channel. Added a check for this specific decoy
redirect target, classified as `blocked` like any other geo-refusal.

Regenerated playlist.m3u8 and playlists/playlist_italy.m3u8 via
make_playlist.py. pylint check_channels.py: 10.00/10.

Co-Authored-By: Claude Sonnet 5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01Enus8N247jHM5r5Som5JuU
2026-09-06 21:09:12 +02:00
Kálmán „KAMI” SzalaiandClaude Sonnet 5 c3da8585b2 Fix dead CCTV-15 link (China)
CCTV-15 音乐 had no URL. Found it on the same aggregator IP
(74.91.26.218:82) already used successfully for every other CCTV-1
through CCTV-17 entry in this file - just needed the matching
cctv15hd path. Verified alive via check_channels.py (3/3 ok), real
HLS content with sequential live .ts segments.

Researched but left unchanged (no viable replacement found):
- China: FZTV-2 (sibling IDs on the same host work, this one 404s;
  no alternate ID discoverable without brute-forcing); CCTV-5, CCTV-5+,
  CETV-1 through 4 (Invalid section) - the same aggregator serves
  geo-block placeholders or "no server configured" errors for these,
  not real streams.
- Israel: Channel 12, Makan 33 - confirmed geo-blocked to Israel by
  the broadcaster's own API response, not fixable from outside.
- Azerbaijan: Topaz 2 - no discoverable public web presence, likely
  defunct. CBC Sport, İctimai TV newly found dead, no replacement.
- United Arab Emirates: Fujairah TV has a real official stream, but
  it's a signed URL that expires the same day - not usable as a
  static entry. MBC 2/Action/Max, Al Aan TV, Baynounah TV, Abu Dhabi
  Sports 1/2 newly found dead, no replacement. Notably, Abu Dhabi TV,
  National Geographic Abu Dhabi, Dubai TV, Dubai One, Dubai Sports
  1-3, Dubai Racing 1-3, Dubai Zaman, Sama Dubai, and Noor Dubai (12
  channels) all point to CDN subdomains that no longer resolve at all
  (confirmed NXDOMAIN) - both Abu Dhabi Media and Dubai Media Inc.
  appear to have discontinued free public live streaming entirely
  (Abu Dhabi Media moved behind the paid StarzPlay platform, Dubai
  Media Inc's rebuilt site has no live section) - a wholesale
  infrastructure change worth flagging to maintainers rather than 12
  isolated link rots, but not something a replacement URL can fix.
- Somalia: Codka Bariga Afrika, Dacwa TV, Puntland TV - no
  discoverable public stream. Somali Cable TV and SBC Somalia have
  official YouTube channels, but neither was live at verification
  time.

Regenerated playlist.m3u8 and playlists/playlist_china.m3u8 via
make_playlist.py.

Co-Authored-By: Claude Sonnet 5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01Enus8N247jHM5r5Som5JuU
2026-09-06 19:59:07 +02:00
Kálmán „KAMI” SzalaiandClaude Sonnet 5 45c5f4b018 Fix dead Smash TV and Ryongnamsan TV links
Malta:
- Smash TV: a3.smashmalta.com no longer resolves. Found the current
  stream on the station's own official homepage embed. Verified alive
  via check_channels.py (3/3 ok), real HLS media playlist with .ts
  segments.

North Korea:
- Ryongnamsan TV: had no URL. Found it on the same reputable
  koryofront.org aggregator already used successfully for this file's
  existing KCTV entry - it explicitly lists a Ryongnamsan TV stream at
  a sibling path. Verified alive via check_channels.py (3/3 ok), real
  HLS media playlist with live PROGRAM-DATE-TIME tags.

Researched but left unchanged (no durable fix available):
- Malta: TVM2 and NET TV have real official live streams, but both
  require session-bound/time-limited signed tokens (a JWT tied to the
  requester's IP with a ~24h expiry, and a 12h start/end token window
  respectively) - not usable as a static playlist entry. F Living: no
  official web presence found.
- North Korea: Mansudae TV - not offered by the koryofront.org
  aggregator or any other source found.
- Taiwan: CTV Classic, CTV Bravo - official site has no live player,
  only a program schedule.
- Poland: 4fun Dance - official live player is a third-party embed
  with no discoverable static stream URL.
- Latvia: TV24 - official site has no live/tiešraide page, only a
  VOD archive.

Regenerated playlist.m3u8 and the per-country playlists via
make_playlist.py.

Co-Authored-By: Claude Sonnet 5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01Enus8N247jHM5r5Som5JuU
2026-09-06 19:49:43 +02:00
Kálmán „KAMI” SzalaiandClaude Sonnet 5 1cde3355d6 Fix dead SBS family, 9Now family, and C31 Melbourne links (Australia)
- SBS, SBS Viceland, SBS World Movies, SBS Food, NITV: had no URL at
  all. Found the correct current channel keys behind the i.mjh.nz
  redirector already used successfully by other entries in this file
  (Seven, Nine, 7two, etc). The redirector mints a fresh token and
  forwards to SBS's real Akamai edge, which explicitly declines
  non-Australian requests (X-Error-Reason: geo-blocked) - real,
  correctly-functioning access control, not a broken link - so marked
  Ⓖ like the file's other geo-blocked entries (9Gem, 9Go!, etc).
- 9Gem, 9Go!, 9Life, 9Rush: the old direct 9now-livestreams.akamaized.net
  URLs now 400 (stale signed paths). Replaced with the same i.mjh.nz
  redirector mechanism, which mints a fresh token per request instead
  of embedding a static one. Verified alive via check_channels.py
  (3/3 ok), real HLS master + variant playlists.
- C31 Melbourne: had no URL. The station now operates under the CTV
  Plus community-TV platform after a 2016 licensing change; found its
  current CloudFront-backed stream via ctvplus.org.au. Verified alive
  via check_channels.py (3/3 ok), real HLS content with live segments.

Researched but left unchanged (no viable replacement found):
- Spree TV, M4TV: official domains parked or unresolvable, stations
  appear defunct.
- 10 Shake, Racing.com: newly found dead (stale CDN paths), but their
  official platforms are JS SPAs with no static stream discoverable.

Regenerated playlist.m3u8 and playlists/playlist_australia.m3u8 via
make_playlist.py.

Co-Authored-By: Claude Sonnet 5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01Enus8N247jHM5r5Som5JuU
2026-09-06 18:37:33 +02:00
Kálmán „KAMI” SzalaiandClaude Sonnet 5 ecfc0bd2a3 Fix dead LiveNOW from FOX and RTS 3 links
zz_news_en:
- LiveNOW from FOX: lnc-fox-live-now.tubi.video no longer resolves.
  Replaced with the Amagi-hosted feed already used for the same
  channel under lists/usa.md's "FOX Live Now" entry. Verified alive
  via check_channels.py (3/3 ok).

Serbia:
- RTS 3: the old udp-multicast-proxy URL (185.81.240.65:15000) is
  unreachable. Found the current feed on the same official bhtelecom.ba
  CDN already used for RTS 1 and RTS 2 in this file. Verified alive via
  check_channels.py (3/3 ok), real HLS master playlist with two
  variants.

Researched but left unchanged (no fix available):
- zz_news_en: The Guardian, CBC News Network, Sky News Now (AU), i24
  News, CNBC Europe, CNBC Indonesia, Pluto TV News - official
  infrastructure down, geo/paywall-gated, or no public stream exists.
  CNN (line 36) was not touched - the only replacement found is the
  exact same feed already used by the "CNN International" row in this
  file, which would just be a duplicate entry, not a distinct fix.
- Moldova: Publika TV group and Balti TV - official domains gone, no
  replacement found.
- Serbia: Euronews Serbia has a real working stream, but it requires a
  custom Referer header this repo's plain-URL playlist format can't
  carry - not usable as a drop-in fix. Red TV - no replacement found.
- Slovakia: every channel points at a domain (sktv.mxnticek.eu) that is
  completely down. Found working replacements for 3 channels via
  STVR's own JSON endpoint, but those URLs embed a short-lived signed
  token that expires - not usable as a static playlist entry (same
  reasoning as the Sweden Solidtango tokens rejected earlier). No
  durable fix currently available for this file.
- Montenegro: no dead channels found.
- Bosnia and Herzegovina: BHT 1's URL times out, but it's confirmed to
  be the exact URL BHRT's own official site uses internally - looks
  like a genuine infra/geo outage at the source, not a stale link, so
  left unchanged. No fix found for Federalna TV, TV BPK, Kanal 6, TNT
  Kids, Sevdah, RTV Glas Drine, TVSA, RTV TK.

Regenerated playlist.m3u8 and the per-country playlists via
make_playlist.py.

Co-Authored-By: Claude Sonnet 5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01Enus8N247jHM5r5Som5JuU
2026-09-06 15:28:16 +02:00
KAMI 206483f281 Merge pull request #1175 from KAMI911/fix-kenya-cyprus-argentina
Fix dead NTV Kenya, Kibris TV, TV 2020, and Telefe links
2026-09-06 14:21:29 +02:00
Kálmán „KAMI” SzalaiandClaude Sonnet 5 0907483c63 Fix dead NTV Kenya, Kibris TV, TV 2020, and Telefe links
Kenya:
- NTV Kenya: nation.africa/kenya/tv/live 404s. Their live simulcast is on
  the station's own official YouTube channel (linked from ntvkenya.co.ke
  itself); confirmed actually live at verification time (canonical URL
  resolved to a /watch?v= page, not the channel page).

Cyprus:
- Kibris TV: the shared sc-kuzeykibrissmarttv.ercdn.net CDN is gone
  (DNS NXDOMAIN) for all 6 TRNC channels in this section. Found Kibris
  TV's current feed via a Northern Cyprus web-TV aggregator
  (old.kuzeykibris.tv), a real rolling HLS media playlist. Verified
  alive via check_channels.py (3/3 ok).
- TV 2020: same dead CDN. Its official YouTube channel is confirmed
  live now. BRT 1, BRT 2, and Kibris Genc TV/Kanal T were also
  researched, but their YouTube channels were NOT live at verification
  time (canonical stayed on the channel page) - left unchanged rather
  than adding an unreliable "channel not live" link.

Argentina:
- Telefe: the old telefe.com API endpoint is deprecated (redirects to
  mitelefe.com, whose live-stream URL is now fetched client-side by JS
  and not extractable via curl). Replaced with a verified-alive
  third-party restream, the same pattern already used for other
  channels in this file (e.g. El Nueve's raw-IP entry). Flagged here
  as a fallback, not an official source.
- Aunar, Cine.AR, Tec TV, DeporTV: researched, all confirmed genuinely
  dead at their own official infrastructure (squatted/parked domains,
  VOD-only platforms, abandoned servers) with no live YouTube
  simulcast either - left unchanged, no fix available.

Regenerated playlist.m3u8 and the per-country playlists via
make_playlist.py.

Co-Authored-By: Claude Sonnet 5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01Enus8N247jHM5r5Som5JuU
2026-09-06 14:19:21 +02:00
Kálmán „KAMI” SzalaiandClaude Sonnet 5 f7bb6da763 Fix dead TV 7 Albania and TV Apollon links
- TV 7 Albania: vs.sednastream.com:1936 returns HTTP 403. Found the
  station's current feed via its official site's live embed (tv7.al ->
  swf.tulix.tv iframe), backed by bozztv.com. Verified alive via
  check_channels.py (3/3 ok), real HLS media playlist with rolling segments.
- TV Apollon: the stored token in the old URL is stale (404, wrong path
  casing). Found the current token+path hardcoded in the station's own
  live player JS on apollon.tv. Verified alive via check_channels.py
  (3/3 ok), real live playlist with current-timestamped segments.

Researched but left unchanged (genuinely unfixable within reasonable
effort - documented for future reference):
- Albania: Kanali 7, Alpo TV, Panorama TV, Report TV - official sites
  either have no public video stream, are behind a Cloudflare JS
  challenge, or the stream host itself is unreachable.
- Bulgaria (bTV, Nova TV, Bulgaria On Air, Nova News, BNT1-4): official
  infrastructure appears to be Bulgaria-ISP-local or geo-blocked; Nova's
  own embed uses a per-request, IP-bound, time-limited signed URL, not
  usable as a static playlist entry.
- Georgia (Adjara TV, Maestro TV, Mtavari Arkhi, GDS, Pos TV, Obieqtivi):
  official domains are down, parked/expired, or return gateway errors
  even on the broadcaster's own site.

Regenerated playlist.m3u8 and playlists/playlist_albania.m3u8 via
make_playlist.py.

Co-Authored-By: Claude Sonnet 5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01Enus8N247jHM5r5Som5JuU
2026-09-06 14:14:09 +02:00