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 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Enus8N247jHM5r5Som5JuU
Issue #483: these circled-letter suffixes are in-list markers for
human readers (subscription-required, geo-blocked, YouTube-sourced,
etc.), but were leaking into the generated tvg-name verbatim (e.g.
tvg-name="Rai 1 Ⓖ"), breaking EPG matching for any provider keying
off channel name. Now stripped from tvg-name only; the display name
after the comma still shows the marker as before.
Add ISO 3166-1 alpha-2 country codes via tvg-country attribute
to all #EXTINF lines, enabling IPTV players to filter and display
channels by country.
Co-authored-by: Kálmán „KAMI” Szalai <kami911gmail.com>