update M3U8

This commit is contained in:
GitHub Actions Bot 2026-05-10 13:30:49 -04:00
parent 27fca0ba76
commit 1d6414c907
5 changed files with 3233 additions and 2615 deletions

File diff suppressed because it is too large Load diff

View file

@ -3,8 +3,8 @@
#EXTINF:-1 tvg-chno="1" tvg-id="A.and.E.HD.East.us2" tvg-name="A&E TV" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s51529_dark_360w_270h.png" group-title="TV",A&E TV #EXTINF:-1 tvg-chno="1" tvg-id="A.and.E.HD.East.us2" tvg-name="A&E TV" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s51529_dark_360w_270h.png" group-title="TV",A&E TV
http://23.239.31.26:8989/aande/index.m3u8 http://23.239.31.26:8989/aande/index.m3u8
#EXTINF:-1 tvg-chno="2" tvg-id="WABC-DT.us_locals1" tvg-name="ABC" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s10003_dark_360w_270h.png" group-title="TV",ABC #EXTINF:-1 tvg-chno="2" tvg-id="WFAA-DT.us_locals1" tvg-name="ABC" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s10003_dark_360w_270h.png" group-title="TV",ABC
http://realsport.scalecdn.co:8080/live/supersonicstreams/cUewZolveU8Jh18jk34BDJ/3606.ts http://stream.cammonitorplus.net/1762/index.m3u8
#EXTINF:-1 tvg-chno="3" tvg-id="ACC.Network.us2" tvg-name="ACC Network" tvg-logo="https://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s111871_dark_360w_270h.png" group-title="TV",ACC Network #EXTINF:-1 tvg-chno="3" tvg-id="ACC.Network.us2" tvg-name="ACC Network" tvg-logo="https://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s111871_dark_360w_270h.png" group-title="TV",ACC Network
http://23.237.104.106:8080/USA_ACCN/mpegts http://23.237.104.106:8080/USA_ACCN/mpegts
@ -64,7 +64,7 @@ http://realsport.scalecdn.co:8080/live/supersonicstreams/cUewZolveU8Jh18jk34BDJ/
http://23.237.104.106:8080/USA_CARTOON_NETWORK/index.m3u8 http://23.237.104.106:8080/USA_CARTOON_NETWORK/index.m3u8
#EXTINF:-1 tvg-chno="22" tvg-id="WCBS-DT.us_locals1" tvg-name="CBS" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s10098_dark_360w_270h.png" group-title="TV",CBS #EXTINF:-1 tvg-chno="22" tvg-id="WCBS-DT.us_locals1" tvg-name="CBS" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s10098_dark_360w_270h.png" group-title="TV",CBS
http://realsport.scalecdn.co:8080/live/supersonicstreams/cUewZolveU8Jh18jk34BDJ/2631.ts http://stream.cammonitorplus.net/1810/index.m3u8
#EXTINF:-1 tvg-chno="23" tvg-id="CBS.News.National.Stream.us2" tvg-name="CBS News 24/7" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s104846_dark_360w_270h.png" group-title="TV",CBS News 24/7 #EXTINF:-1 tvg-chno="23" tvg-id="CBS.News.National.Stream.us2" tvg-name="CBS News 24/7" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s104846_dark_360w_270h.png" group-title="TV",CBS News 24/7
https://cbsn-us.cbsnstream.cbsnews.com/out/v1/55a8648e8f134e82a470f83d562deeca/master.m3u8 https://cbsn-us.cbsnstream.cbsnews.com/out/v1/55a8648e8f134e82a470f83d562deeca/master.m3u8
@ -192,8 +192,8 @@ https://jmp2.uk/stvp-IN270000230
#EXTINF:-1 tvg-chno="64" tvg-id="Food.Network.HD.us2" tvg-name="Food Network" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s44718_dark_360w_270h.png" group-title="TV",Food Network #EXTINF:-1 tvg-chno="64" tvg-id="Food.Network.HD.us2" tvg-name="Food Network" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s44718_dark_360w_270h.png" group-title="TV",Food Network
http://23.237.104.106:8080/USA_FOOD_NETWORK/index.m3u8 http://23.237.104.106:8080/USA_FOOD_NETWORK/index.m3u8
#EXTINF:-1 tvg-chno="65" tvg-id="WNYW-DT.us_locals1" tvg-name="Fox" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s28719_dark_360w_270h.png" group-title="TV",Fox #EXTINF:-1 tvg-chno="65" tvg-id="WFLD-DT.us_locals1" tvg-name="Fox" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s28719_dark_360w_270h.png" group-title="TV",Fox
http://realsport.scalecdn.co:8080/live/supersonicstreams/cUewZolveU8Jh18jk34BDJ/2544.ts http://stream.cammonitorplus.net/1752/index.m3u8
#EXTINF:-1 tvg-chno="66" tvg-id="Fox.Business.HD.us2" tvg-name="Fox Business" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s58649_dark_360w_270h.png" group-title="TV",Fox Business #EXTINF:-1 tvg-chno="66" tvg-id="Fox.Business.HD.us2" tvg-name="Fox Business" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s58649_dark_360w_270h.png" group-title="TV",Fox Business
http://41.205.93.154/FOXBUSINESS/index.m3u8 http://41.205.93.154/FOXBUSINESS/index.m3u8
@ -304,7 +304,7 @@ http://realsport.scalecdn.co:8080/live/supersonicstreams/cUewZolveU8Jh18jk34BDJ/
http://23.237.104.106:8080/USA_NBA/tracks-v1a1/mono.m3u8 http://23.237.104.106:8080/USA_NBA/tracks-v1a1/mono.m3u8
#EXTINF:-1 tvg-chno="102" tvg-id="WNBC-DT.us_locals1" tvg-name="NBC" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s10991_dark_360w_270h.png" group-title="TV",NBC #EXTINF:-1 tvg-chno="102" tvg-id="WNBC-DT.us_locals1" tvg-name="NBC" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s10991_dark_360w_270h.png" group-title="TV",NBC
http://realsport.scalecdn.co:8080/live/supersonicstreams/cUewZolveU8Jh18jk34BDJ/89714.ts http://stream.cammonitorplus.net/1812/index.m3u8
#EXTINF:-1 tvg-chno="103" tvg-id="NBC.Sports.Bay.Area.HD.us2" tvg-name="NBC Sports Bay Area" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s63138_dark_360w_270h.png" group-title="TV",NBC Sports Bay Area #EXTINF:-1 tvg-chno="103" tvg-id="NBC.Sports.Bay.Area.HD.us2" tvg-name="NBC Sports Bay Area" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s63138_dark_360w_270h.png" group-title="TV",NBC Sports Bay Area
http://realsport.scalecdn.co:8080/live/supersonicstreams/cUewZolveU8Jh18jk34BDJ/2436.ts http://realsport.scalecdn.co:8080/live/supersonicstreams/cUewZolveU8Jh18jk34BDJ/2436.ts

File diff suppressed because it is too large Load diff

View file

@ -52,7 +52,7 @@ async def get_events(cached_keys: list[str]) -> list[dict[str, str]]:
{ {
"sport": sport, "sport": sport,
"event": name, "event": name,
"link": urljoin(BASE_URL, href), "link": urljoin(f"{html_data.url}", href),
} }
) )

View file

@ -29,11 +29,9 @@ async def process_event(url: str, url_num: int) -> str | None:
return return
pattern = re.compile(r"playlist\.m3u8\?.*$", re.I)
log.info(f"URL {url_num}) Captured M3U8") log.info(f"URL {url_num}) Captured M3U8")
return pattern.sub(r"chunks.m3u8", urls[0]) return urls[0]
async def get_events() -> dict[str, dict[str, str | float]]: async def get_events() -> dict[str, dict[str, str | float]]:
@ -52,6 +50,7 @@ async def get_events() -> dict[str, dict[str, str | float]]:
date_node = row.css_first(".ch-date") date_node = row.css_first(".ch-date")
sport_node = row.css_first(".ch-category") sport_node = row.css_first(".ch-category")
name_node = row.css_first(".ch-name") name_node = row.css_first(".ch-name")
if not (date_node and sport_node and name_node): if not (date_node and sport_node and name_node):
@ -71,16 +70,14 @@ async def get_events() -> dict[str, dict[str, str | float]]:
if not embed_btn or not (onclick := embed_btn.attributes.get("onclick")): if not embed_btn or not (onclick := embed_btn.attributes.get("onclick")):
continue continue
if not (match := pattern.search(onclick)): elif not (match := pattern.search(onclick)):
continue continue
link = match[1].replace("player.php", "get-stream.php")
events.append( events.append(
{ {
"sport": sport, "sport": sport,
"event": event_name, "event": event_name,
"link": link, "link": match[1].replace("player.php", "get-stream.php"),
"timestamp": now.timestamp(), "timestamp": now.timestamp(),
} }
) )