mirror of https://github.com/Free-TV/IPTV
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 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Enus8N247jHM5r5Som5JuU |
||
|---|---|---|
| .. | ||
| playlist_albania.m3u8 | ||
| playlist_andorra.m3u8 | ||
| playlist_argentina.m3u8 | ||
| playlist_armenia.m3u8 | ||
| playlist_australia.m3u8 | ||
| playlist_austria.m3u8 | ||
| playlist_azerbaijan.m3u8 | ||
| playlist_belarus.m3u8 | ||
| playlist_belgium.m3u8 | ||
| playlist_bosnia_and_herzegovina.m3u8 | ||
| playlist_brazil.m3u8 | ||
| playlist_bulgaria.m3u8 | ||
| playlist_canada.m3u8 | ||
| playlist_chad.m3u8 | ||
| playlist_chile.m3u8 | ||
| playlist_china.m3u8 | ||
| playlist_costa_rica.m3u8 | ||
| playlist_croatia.m3u8 | ||
| playlist_cyprus.m3u8 | ||
| playlist_czech_republic.m3u8 | ||
| playlist_denmark.m3u8 | ||
| playlist_dominican_republic.m3u8 | ||
| playlist_egypt.m3u8 | ||
| playlist_estonia.m3u8 | ||
| playlist_faroe_islands.m3u8 | ||
| playlist_finland.m3u8 | ||
| playlist_france.m3u8 | ||
| playlist_georgia.m3u8 | ||
| playlist_germany.m3u8 | ||
| playlist_greece.m3u8 | ||
| playlist_greenland.m3u8 | ||
| playlist_hong_kong.m3u8 | ||
| playlist_hongkong.m3u8 | ||
| playlist_hungary.m3u8 | ||
| playlist_iceland.m3u8 | ||
| playlist_india.m3u8 | ||
| playlist_indonesia.m3u8 | ||
| playlist_iran.m3u8 | ||
| playlist_iraq.m3u8 | ||
| playlist_ireland.m3u8 | ||
| playlist_israel.m3u8 | ||
| playlist_italy.m3u8 | ||
| playlist_japan.m3u8 | ||
| playlist_kazakhstan.m3u8 | ||
| playlist_kenya.m3u8 | ||
| playlist_korea.m3u8 | ||
| playlist_kosovo.m3u8 | ||
| playlist_latvia.m3u8 | ||
| playlist_lebanon.m3u8 | ||
| playlist_lithuania.m3u8 | ||
| playlist_luxembourg.m3u8 | ||
| playlist_macau.m3u8 | ||
| playlist_malta.m3u8 | ||
| playlist_mexico.m3u8 | ||
| playlist_moldova.m3u8 | ||
| playlist_monaco.m3u8 | ||
| playlist_mongolia.m3u8 | ||
| playlist_montenegro.m3u8 | ||
| playlist_netherlands.m3u8 | ||
| playlist_nigeria.m3u8 | ||
| playlist_north_korea.m3u8 | ||
| playlist_north_macedonia.m3u8 | ||
| playlist_norway.m3u8 | ||
| playlist_paraguay.m3u8 | ||
| playlist_peru.m3u8 | ||
| playlist_poland.m3u8 | ||
| playlist_portugal.m3u8 | ||
| playlist_qatar.m3u8 | ||
| playlist_romania.m3u8 | ||
| playlist_russia.m3u8 | ||
| playlist_san_marino.m3u8 | ||
| playlist_saudi_arabia.m3u8 | ||
| playlist_serbia.m3u8 | ||
| playlist_slovakia.m3u8 | ||
| playlist_slovenia.m3u8 | ||
| playlist_somalia.m3u8 | ||
| playlist_spain.m3u8 | ||
| playlist_spain_vod.m3u8 | ||
| playlist_sweden.m3u8 | ||
| playlist_switzerland.m3u8 | ||
| playlist_taiwan.m3u8 | ||
| playlist_trinidad.m3u8 | ||
| playlist_turkey.m3u8 | ||
| playlist_turkmenistan.m3u8 | ||
| playlist_uk.m3u8 | ||
| playlist_ukraine.m3u8 | ||
| playlist_united_arab_emirates.m3u8 | ||
| playlist_usa.m3u8 | ||
| playlist_usa_vod.m3u8 | ||
| playlist_venezuela.m3u8 | ||
| playlist_zz_documentaries_ar.m3u8 | ||
| playlist_zz_documentaries_en.m3u8 | ||
| playlist_zz_movies.m3u8 | ||
| playlist_zz_music_en.m3u8 | ||
| playlist_zz_news_ar.m3u8 | ||
| playlist_zz_news_en.m3u8 | ||
| playlist_zz_news_es.m3u8 | ||
| playlist_zz_vod_it.m3u8 | ||