Compare commits

..

37 commits

Author SHA1 Message Date
GitHub Actions Bot
aa49f7f572 update M3U8 2026-01-09 20:03:13 -05:00
GitHub Actions Bot
35d1f4f3dd update M3U8 2026-01-09 19:32:42 -05:00
GitHub Actions Bot
c72112b5bc update M3U8 2026-01-09 19:03:48 -05:00
GitHub Actions Bot
317447a436 update M3U8 2026-01-09 18:32:07 -05:00
GitHub Actions Bot
0a32863660 update M3U8 2026-01-09 18:01:45 -05:00
GitHub Actions Bot
5d16c195dd update M3U8 2026-01-09 17:30:39 -05:00
GitHub Actions Bot
0d0db35e54 update M3U8 2026-01-09 17:00:57 -05:00
GitHub Actions Bot
e10dcdce1a update M3U8 2026-01-09 16:31:00 -05:00
GitHub Actions Bot
54c7edaa87 update M3U8 2026-01-09 16:01:23 -05:00
GitHub Actions Bot
abe27a0223 health log 2026-01-09 20:44:34 +00:00
GitHub Actions Bot
54e89af46b update M3U8 2026-01-09 15:31:30 -05:00
GitHub Actions Bot
0220f27dd5 update M3U8 2026-01-09 15:01:39 -05:00
GitHub Actions Bot
9bf3bffe1e update M3U8 2026-01-09 14:32:58 -05:00
GitHub Actions Bot
75d85953f6 update M3U8 2026-01-09 14:03:21 -05:00
GitHub Actions Bot
d4f3269523 update EPG 2026-01-09 18:59:54 +00:00
GitHub Actions Bot
05cb57d95a update M3U8 2026-01-09 13:39:37 -05:00
doms9
00000d9976 e
fix window for embedhd.py
fix window for streamcenter.py
use preset logos for streamfree.py
2026-01-09 13:29:51 -05:00
GitHub Actions Bot
e544d6fe32 update M3U8 2026-01-09 13:01:56 -05:00
GitHub Actions Bot
44261b3791 update M3U8 2026-01-09 12:01:57 -05:00
GitHub Actions Bot
bdcf33fe0a update M3U8 2026-01-09 11:00:38 -05:00
GitHub Actions Bot
2dd237299f update M3U8 2026-01-09 10:01:06 -05:00
GitHub Actions Bot
5cd3b3d436 health log 2026-01-09 14:47:44 +00:00
GitHub Actions Bot
1afaae3f3e update M3U8 2026-01-09 09:01:04 -05:00
GitHub Actions Bot
d29c43b51b update M3U8 2026-01-09 08:01:32 -05:00
GitHub Actions Bot
d49a354089 update EPG 2026-01-09 10:55:26 +00:00
GitHub Actions Bot
c0b95c1b0c health log 2026-01-09 08:52:45 +00:00
GitHub Actions Bot
f7a7fbd038 update M3U8 2026-01-08 23:31:33 -05:00
doms9
00000d9a79 e
use wider window for embedhd.py
use different mirror for totalsportek.py
2026-01-08 23:13:38 -05:00
GitHub Actions Bot
f336fff671 update M3U8 2026-01-08 23:01:42 -05:00
GitHub Actions Bot
8ed01f4a47 update EPG 2026-01-09 03:54:00 +00:00
GitHub Actions Bot
a693355385 health log 2026-01-09 03:50:09 +00:00
GitHub Actions Bot
02baa7cfa1 update M3U8 2026-01-08 22:31:40 -05:00
GitHub Actions Bot
62f1a2eea8 update M3U8 2026-01-08 22:01:40 -05:00
GitHub Actions Bot
0bc1e5dd84 update M3U8 2026-01-08 21:31:53 -05:00
GitHub Actions Bot
cf5e009e5b update M3U8 2026-01-08 21:02:25 -05:00
GitHub Actions Bot
821e707811 update M3U8 2026-01-08 20:31:39 -05:00
GitHub Actions Bot
b1e2801133 update M3U8 2026-01-08 20:04:27 -05:00
9 changed files with 93005 additions and 93940 deletions

182014
EPG/TV.xml

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load diff

View file

@ -37,7 +37,7 @@ http://fl1.moveonjoy.com/BBC_WORLD_NEWS/index.m3u8
https://streamer1.nexgen.bz/BET/index.m3u8 https://streamer1.nexgen.bz/BET/index.m3u8
#EXTINF:-1 tvg-chno="13" tvg-id="Big.Ten.Network.HD.us2" tvg-name="Big Ten Network" tvg-logo="https://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s56783_dark_360w_270h.png" group-title="TV",Big Ten Network #EXTINF:-1 tvg-chno="13" tvg-id="Big.Ten.Network.HD.us2" tvg-name="Big Ten Network" tvg-logo="https://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s56783_dark_360w_270h.png" group-title="TV",Big Ten Network
http://fl1.moveonjoy.com/BIG_TEN_NETWORK/index.m3u8 http://23.237.104.106:8080/USA_BTN/index.m3u8
#EXTINF:-1 tvg-chno="14" tvg-id="Bloomberg.HD.us2" tvg-name="Bloomberg TV" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s71799_dark_360w_270h.png" group-title="TV",Bloomberg TV #EXTINF:-1 tvg-chno="14" tvg-id="Bloomberg.HD.us2" tvg-name="Bloomberg TV" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s71799_dark_360w_270h.png" group-title="TV",Bloomberg TV
https://live-manifest.production-public.tubi.io/live/a5aabf5a-9615-4987-8163-18edfa1360c6/playlist.m3u8 https://live-manifest.production-public.tubi.io/live/a5aabf5a-9615-4987-8163-18edfa1360c6/playlist.m3u8
@ -199,7 +199,7 @@ http://cord-cutter.net:8080/30550113/30550113/1847
http://fl1.moveonjoy.com/FREE_FORM/index.m3u8 http://fl1.moveonjoy.com/FREE_FORM/index.m3u8
#EXTINF:-1 tvg-chno="67" tvg-id="Fuse.HD.us2" tvg-name="FUSE" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s14929_dark_360w_270h.png" group-title="TV",FUSE #EXTINF:-1 tvg-chno="67" tvg-id="Fuse.HD.us2" tvg-name="FUSE" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s14929_dark_360w_270h.png" group-title="TV",FUSE
http://fl1.moveonjoy.com/FUSE/index.m3u8 http://23.237.104.106:8080/USA_FUSE/index.m3u8
#EXTINF:-1 tvg-chno="68" tvg-id="FX.HD.us2" tvg-name="FX" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s14321_dark_360w_270h.png" group-title="TV",FX #EXTINF:-1 tvg-chno="68" tvg-id="FX.HD.us2" tvg-name="FX" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s14321_dark_360w_270h.png" group-title="TV",FX
http://fl1.moveonjoy.com/FX/index.m3u8 http://fl1.moveonjoy.com/FX/index.m3u8
@ -316,7 +316,7 @@ http://cord-cutter.net:8080/30550113/30550113/31637
http://fl1.moveonjoy.com/NEWS_NATION/index.m3u8 http://fl1.moveonjoy.com/NEWS_NATION/index.m3u8
#EXTINF:-1 tvg-chno="106" tvg-id="NFL.Network.HD.us2" tvg-name="NFL Network" tvg-logo="https://raw.githubusercontent.com/tv-logo/tv-logos/refs/heads/main/countries/united-states/nfl-network-hz-us.png" group-title="TV",NFL Network #EXTINF:-1 tvg-chno="106" tvg-id="NFL.Network.HD.us2" tvg-name="NFL Network" tvg-logo="https://raw.githubusercontent.com/tv-logo/tv-logos/refs/heads/main/countries/united-states/nfl-network-hz-us.png" group-title="TV",NFL Network
http://fl1.moveonjoy.com/NFL_NETWORK/index.m3u8 http://23.237.104.106:8080/USA_NFL_NETWORK/index.m3u8
#EXTINF:-1 tvg-chno="107" tvg-id="NFL.RedZone.HD.us2" tvg-name="NFL RedZone" tvg-logo="https://raw.githubusercontent.com/tv-logo/tv-logos/refs/heads/main/countries/united-states/nfl-red-zone-hz-us.png" group-title="TV",NFL RedZone #EXTINF:-1 tvg-chno="107" tvg-id="NFL.RedZone.HD.us2" tvg-name="NFL RedZone" tvg-logo="https://raw.githubusercontent.com/tv-logo/tv-logos/refs/heads/main/countries/united-states/nfl-red-zone-hz-us.png" group-title="TV",NFL RedZone
http://cord-cutter.net:8080/30550113/30550113/208830 http://cord-cutter.net:8080/30550113/30550113/208830
@ -352,7 +352,7 @@ http://109.61.81.147:1935/cdn7/1276/video.m3u8?token=c708d1e1b86b0247d95ecf4645d
http://109.61.81.147:1935/cdn7/1275/mpegts?token=0abb07758b53c286d3b6b7943b7c5405 http://109.61.81.147:1935/cdn7/1275/mpegts?token=0abb07758b53c286d3b6b7943b7c5405
#EXTINF:-1 tvg-chno="118" tvg-id="ReelzChannel.HD.us2" tvg-name="Reelz Channel" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s68385_dark_360w_270h.png" group-title="TV",Reelz Channel #EXTINF:-1 tvg-chno="118" tvg-id="ReelzChannel.HD.us2" tvg-name="Reelz Channel" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s68385_dark_360w_270h.png" group-title="TV",Reelz Channel
http://fl1.moveonjoy.com/REELZ/index.m3u8 http://23.237.104.106:8080/USA_REELZ/index.m3u8
#EXTINF:-1 tvg-chno="119" tvg-id="ROOT.Sports.Northwest.HD.us2" tvg-name="Root Sports" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s11062_dark_360w_270h.png" group-title="TV",Root Sports #EXTINF:-1 tvg-chno="119" tvg-id="ROOT.Sports.Northwest.HD.us2" tvg-name="Root Sports" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s11062_dark_360w_270h.png" group-title="TV",Root Sports
http://cord-cutter.net:8080/30550113/30550113/85232 http://cord-cutter.net:8080/30550113/30550113/85232

File diff suppressed because it is too large Load diff

View file

@ -37,9 +37,8 @@ async def get_events(cached_keys: list[str]) -> list[dict[str, str]]:
API_CACHE.write(api_data) API_CACHE.write(api_data)
events = [] events = []
start_dt = now.delta(minutes=-30) start_dt = now.delta(minutes=-30)
end_dt = now.delta(minutes=30) end_dt = now.delta(hours=3)
for info in api_data.get("days", []): for info in api_data.get("days", []):
for event in info["items"]: for event in info["items"]:

View file

@ -52,8 +52,8 @@ async def get_events(cached_keys: list[str]) -> list[dict[str, str]]:
events = [] events = []
start_dt = now.delta(minutes=-30) start_dt = now.delta(hours=-1)
end_dt = now.delta(minutes=10) end_dt = now.delta(minutes=5)
for stream_group in api_data: for stream_group in api_data:
category_id: int = stream_group.get("categoryId") category_id: int = stream_group.get("categoryId")

View file

@ -44,13 +44,7 @@ async def get_events() -> dict[str, dict[str, str | float]]:
key = f"[{sport}] {name} ({TAG})" key = f"[{sport}] {name} ({TAG})"
logo = ( tvg_id, logo = leagues.get_tvg_info(sport, name)
urljoin(BASE_URL, thumbnail)
if (thumbnail := stream.get("thumbnail_url"))
else None
)
tvg_id, pic = leagues.get_tvg_info(sport, name)
events[key] = { events[key] = {
"url": network.build_proxy_url( "url": network.build_proxy_url(
@ -58,7 +52,7 @@ async def get_events() -> dict[str, dict[str, str | float]]:
path=f"{stream_key}/index.m3u8", path=f"{stream_key}/index.m3u8",
query={"stream_name": name}, query={"stream_name": name},
), ),
"logo": logo or pic, "logo": logo,
"base": BASE_URL, "base": BASE_URL,
"timestamp": now.timestamp(), "timestamp": now.timestamp(),
"id": tvg_id or "Live.Event.us", "id": tvg_id or "Live.Event.us",

View file

@ -14,7 +14,7 @@ TAG = "TOTALSPRTK"
CACHE_FILE = Cache(f"{TAG.lower()}.json", exp=28_800) CACHE_FILE = Cache(f"{TAG.lower()}.json", exp=28_800)
BASE_URL = "https://live.totalsportek777.com/" BASE_URL = "https://live2.totalsportek777.com/"
def fix_league(s: str) -> str: def fix_league(s: str) -> str:
@ -29,15 +29,12 @@ async def process_event(url: str, url_num: int) -> tuple[str | None, str | None]
soup = HTMLParser(html_data.content) soup = HTMLParser(html_data.content)
if not (iframe := soup.css_first("iframe")): if not (iframe := soup.css_first(".box iframe")):
log.warning(f"URL {url_num}) No iframe element found.") log.warning(f"URL {url_num}) No iframe element found.")
return None, None return None, None
if ( if not (iframe_src := iframe.attributes.get("src")):
not (iframe_src := iframe.attributes.get("src"))
or "xsportportal" not in iframe_src
):
log.warning(f"URL {url_num}) No valid iframe source found.") log.warning(f"URL {url_num}) No valid iframe source found.")
return None, None return None, None
@ -56,7 +53,7 @@ async def process_event(url: str, url_num: int) -> tuple[str | None, str | None]
log.info(f"URL {url_num}) Captured M3U8") log.info(f"URL {url_num}) Captured M3U8")
return bytes.fromhex(match[2]).decode("utf-8"), iframe_src return match[2], iframe_src
async def get_events(cached_keys: list[str]) -> list[dict[str, str]]: async def get_events(cached_keys: list[str]) -> list[dict[str, str]]:

View file

@ -1,12 +1,15 @@
## Base Log @ 2026-01-08 20:44 UTC ## Base Log @ 2026-01-09 20:44 UTC
### ✅ Working Streams: 145<br>❌ Dead Streams: 3 ### ✅ Working Streams: 142<br>❌ Dead Streams: 6
| Channel | Error (Code) | Link | | Channel | Error (Code) | Link |
| ------- | ------------ | ---- | | ------- | ------------ | ---- |
| BET | HTTP Error (403) | `https://streamer1.nexgen.bz/BET/index.m3u8` | | C-SPAN | HTTP Error (404) | `http://fl1.moveonjoy.com/C-SPAN/index.m3u8` |
| CBS | HTTP Error (404) | `http://fl1.moveonjoy.com/CBSEAST/index.m3u8` | | CBS | HTTP Error (404) | `http://fl1.moveonjoy.com/CBSEAST/index.m3u8` |
| NFL Network | HTTP Error (404) | `http://fl1.moveonjoy.com/NFL_NETWORK/index.m3u8` | | Freeform TV | HTTP Error (404) | `http://fl1.moveonjoy.com/FREE_FORM/index.m3u8` |
| ION TV | HTTP Error (404) | `http://fl1.moveonjoy.com/ION_TV/index.m3u8` |
| Investigation Discovery | HTTP Error (404) | `https://fl1.moveonjoy.com/INVESTIGATION_DISCOVERY/index.m3u8` |
| Premier Sports 2 | HTTP Error (403) | `http://109.61.81.147:1935/cdn7/1275/mpegts?token=0abb07758b53c286d3b6b7943b7c5405` |
--- ---
#### Base Channels URL #### Base Channels URL
``` ```