Spaces:
Running
Running
Update channel list: vtv3/vtv9 now unavailable (404 on VTVGo CDN)
Browse files- vtv_api.py +6 -6
vtv_api.py
CHANGED
|
@@ -41,18 +41,16 @@ CHANNEL_NAMES = {
|
|
| 41 |
}
|
| 42 |
|
| 43 |
# ===== PRIMARY: VTVGo CDN (self-signed cert, need verify=False) =====
|
| 44 |
-
# Confirmed working: vtv1, vtv2,
|
| 45 |
-
# Not available: vtv10 (404), vtvprime (404)
|
| 46 |
VTVGO_CDN = {
|
| 47 |
"vtv1": "https://vtvgolive-failover.vtvdigital.vn/vtvgo/vtv1-manifest.m3u8",
|
| 48 |
"vtv2": "https://vtvgolive-failover.vtvdigital.vn/vtvgo/vtv2-manifest.m3u8",
|
| 49 |
-
"vtv3": "https://vtvgolive-failover.vtvdigital.vn/vtvgo/vtv3-manifest.m3u8",
|
| 50 |
"vtv4": "https://vtvgolive-failover.vtvdigital.vn/vtvgo/vtv4-manifest.m3u8",
|
| 51 |
"vtv5": "https://vtvgolive-failover.vtvdigital.vn/vtvgo/vtv5-manifest.m3u8",
|
| 52 |
"vtv6": "https://vtvgolive-failover.vtvdigital.vn/vtvgo/vtv6-manifest.m3u8",
|
| 53 |
"vtv7": "https://vtvgolive-failover.vtvdigital.vn/vtvgo/vtv7-manifest.m3u8",
|
| 54 |
"vtv8": "https://vtvgolive-failover.vtvdigital.vn/vtvgo/vtv8-manifest.m3u8",
|
| 55 |
-
"vtv9": "https://vtvgolive-failover.vtvdigital.vn/vtvgo/vtv9-manifest.m3u8",
|
| 56 |
}
|
| 57 |
|
| 58 |
# ===== FALLBACK: fptplay CDN =====
|
|
@@ -64,8 +62,10 @@ FPTPLAY_URLS = {
|
|
| 64 |
# ===== DEAD: xemtv.net (all 403 from Cloudflare, kept for reference) =====
|
| 65 |
# XEMTV_PHP_ENDPOINTS = { ... } # All dead as of 2026-06
|
| 66 |
|
| 67 |
-
# Channels with no public stream available
|
| 68 |
-
|
|
|
|
|
|
|
| 69 |
|
| 70 |
_vtv_cache = {}
|
| 71 |
_vtv_lock = threading.Lock()
|
|
|
|
| 41 |
}
|
| 42 |
|
| 43 |
# ===== PRIMARY: VTVGo CDN (self-signed cert, need verify=False) =====
|
| 44 |
+
# Confirmed working (2026-06-16): vtv1, vtv2, vtv4, vtv5, vtv6, vtv7, vtv8
|
| 45 |
+
# Not available: vtv3 (404), vtv9 (404), vtv10 (404), vtvprime (404)
|
| 46 |
VTVGO_CDN = {
|
| 47 |
"vtv1": "https://vtvgolive-failover.vtvdigital.vn/vtvgo/vtv1-manifest.m3u8",
|
| 48 |
"vtv2": "https://vtvgolive-failover.vtvdigital.vn/vtvgo/vtv2-manifest.m3u8",
|
|
|
|
| 49 |
"vtv4": "https://vtvgolive-failover.vtvdigital.vn/vtvgo/vtv4-manifest.m3u8",
|
| 50 |
"vtv5": "https://vtvgolive-failover.vtvdigital.vn/vtvgo/vtv5-manifest.m3u8",
|
| 51 |
"vtv6": "https://vtvgolive-failover.vtvdigital.vn/vtvgo/vtv6-manifest.m3u8",
|
| 52 |
"vtv7": "https://vtvgolive-failover.vtvdigital.vn/vtvgo/vtv7-manifest.m3u8",
|
| 53 |
"vtv8": "https://vtvgolive-failover.vtvdigital.vn/vtvgo/vtv8-manifest.m3u8",
|
|
|
|
| 54 |
}
|
| 55 |
|
| 56 |
# ===== FALLBACK: fptplay CDN =====
|
|
|
|
| 62 |
# ===== DEAD: xemtv.net (all 403 from Cloudflare, kept for reference) =====
|
| 63 |
# XEMTV_PHP_ENDPOINTS = { ... } # All dead as of 2026-06
|
| 64 |
|
| 65 |
+
# Channels with no public stream available on any CDN
|
| 66 |
+
# vtv3, vtv9: VTVGo CDN returned 404 as of 2026-06-16
|
| 67 |
+
# vtv10, vtvprime: never had public streams
|
| 68 |
+
UNAVAILABLE_CHANNELS = {"vtv3", "vtv9", "vtv10", "vtvprime"}
|
| 69 |
|
| 70 |
_vtv_cache = {}
|
| 71 |
_vtv_lock = threading.Lock()
|