Compare commits

..

No commits in common. "ad40759ec2c3b28049c5c074a75ef44027bdf270" and "0d0ba7a0155d3a11fbc205dc6cda12707768dbb2" have entirely different histories.

8 changed files with 108504 additions and 105519 deletions

File diff suppressed because it is too large Load diff

208498
M3U8/TV.xml

File diff suppressed because one or more lines are too long

View file

@ -1,4 +1,4 @@
#EXTM3U url-tvg="https://raw.githubusercontent.com/doms9/iptv/refs/heads/default/M3U8/TV.xml"
#EXTM3U url-tvg="https://raw.githubusercontent.com/doms9/iptv/refs/heads/default/EPG/TV.xml"
#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://fl1.moveonjoy.com/ANE/index.m3u8
@ -308,7 +308,7 @@ http://mytvstream.net:8080/live/bn80NG/909467/20939.m3u8
http://mytvstream.net:8080/live/bn80NG/909467/20940.m3u8
#EXTINF:-1 tvg-chno="101" tvg-id="a90a91570ce0536cbb22b591ad7e0da2" tvg-name="NBC Sports NOW" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s114140_dark_360w_270h.png" group-title="TV",NBC Sports NOW
https://jmp2.uk/stvp-USBD420002446
https://jmp2.uk/rok-a90a91570ce0536cbb22b591ad7e0da2.m3u8
#EXTINF:-1 tvg-chno="102" tvg-id="NBC.Sports.Philadelphia.HD.us2" tvg-name="NBC Sports Philadelphia" tvg-logo="http://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s32571_dark_360w_270h.png" group-title="TV",NBC Sports Philadelphia
http://hardcoremedia.xyz:80/NW3Vk7xXwW/8375773282/136477

File diff suppressed because it is too large Load diff

View file

@ -82,7 +82,7 @@ async def main() -> None:
asyncio.create_task(pawa.scrape()),
asyncio.create_task(roxie.scrape()),
asyncio.create_task(shark.scrape()),
# asyncio.create_task(streambtw.scrape()),
asyncio.create_task(streambtw.scrape()),
asyncio.create_task(streamfree.scrape()),
asyncio.create_task(tvpass.scrape()),
asyncio.create_task(xstreameast.scrape()),

View file

@ -18,11 +18,7 @@ XML_CACHE = Cache(f"{TAG}-xml", exp=28_000)
BASE_URL = "https://cdn.livetv861.me/rss/upcoming_en.xml"
VALID_SPORTS = {
"Football",
"Basketball",
"Ice Hockey",
}
VALID_SPORTS = {"NBA", "NHL", "NFL", "NCAA", "MLB"}
async def process_event(
@ -54,22 +50,22 @@ async def process_event(
buttons = await page.query_selector_all(".lnktbj a[href*='webplayer']")
labels = await page.eval_on_selector_all(
".lnktyt span",
"elements => elements.map(el => el.textContent.trim().toLowerCase())",
)
href = None
for btn, label in zip(buttons, labels):
if label in ["web", "youtube"]:
continue
if not (href := await btn.get_attribute("href")):
for btn in buttons:
img = await btn.query_selector("img")
label = (await img.get_attribute("alt") or "").lower()
if not label or label == "web":
continue
href = await btn.get_attribute("href")
break
else:
log.warning(f"URL {url_num}) No valid sources found.")
log.warning(f"URL {url_num}) No available stream links.")
return
href = href if href.startswith("http") else f"https:{href}"
@ -134,20 +130,17 @@ async def refresh_xml_cache(now_ts: float) -> dict[str, dict[str, str | float]]:
if not all([title, link, sport_sum, date]):
continue
sprt = sport_sum.split(".", 1)
sport, league = sprt[0], "".join(sprt[1:]).strip()
sport = sport_sum.split()[-1]
if sport not in VALID_SPORTS:
continue
event_dt = Time.from_str(date)
key = f"[{sport} - {league}] {title} ({TAG})"
key = f"[{sport}] {title} ({TAG})"
events[key] = {
"sport": sport,
"league": league,
"event": title,
"link": link,
"event_ts": event_dt.timestamp(),
@ -217,15 +210,14 @@ async def scrape(browser: Browser) -> None:
log=log,
)
sport, league, event, ts, link = (
sport, event, ts, link = (
ev["sport"],
ev["league"],
ev["event"],
ev["timestamp"],
ev["link"],
)
key = f"[{sport} - {league}] {event} ({TAG})"
key = f"[{sport}] {event} ({TAG})"
tvg_id, logo = leagues.get_tvg_info(sport, event)

View file

@ -107,9 +107,8 @@ async def scrape(browser: Browser) -> None:
url = await network.safe_process(
handler,
url_num=i,
semaphore=network.PW_S,
semaphore=network.HTTP_S,
log=log,
timeout=6,
)
sport, event, link = (

View file

@ -1,13 +1,27 @@
## Base Log @ 2026-01-30 04:20 UTC
## Base Log @ 2026-01-29 04:16 UTC
### ✅ Working Streams: 142<br>❌ Dead Streams: 4
### ✅ Working Streams: 128<br>❌ Dead Streams: 18
| Channel | Error (Code) | Link |
| ------- | ------------ | ---- |
| ESPN2 | HTTP Error (404) | `http://mytvstream.net:8080/live/bn80NG/909467/2210.m3u8` |
| FDSN Detroit | HTTP Error (404) | `http://mytvstream.net:8080/live/bn80NG/909467/20930.m3u8` |
| FDSN Florida | HTTP Error (404) | `http://mytvstream.net:8080/live/bn80NG/909467/46794.m3u8` |
| FDSN Midwest | HTTP Error (404) | `http://mytvstream.net:8080/live/bn80NG/909467/66795.m3u8` |
| FDSN North | HTTP Error (404) | `http://mytvstream.net:8080/live/bn80NG/909467/58827.m3u8` |
| FDSN Oklahoma | HTTP Error (404) | `http://mytvstream.net:8080/live/bn80NG/909467/20934.m3u8` |
| FDSN SoCal | HTTP Error (404) | `http://mytvstream.net:8080/live/bn80NG/909467/221151.m3u8` |
| FDSN West | HTTP Error (404) | `http://mytvstream.net:8080/live/bn80NG/909467/20932.m3u8` |
| FDSN Wisconsin | HTTP Error (404) | `http://mytvstream.net:8080/live/bn80NG/909467/78599.m3u8` |
| FXX | HTTP Error (404) | `https://fl1.moveonjoy.com/FXX/index.m3u8` |
| Premier Sports 1 | HTTP Error (403) | `http://hardcoremedia.xyz:80/NW3Vk7xXwW/8375773282/117037` |
| NBC Sports Boston | HTTP Error (404) | `http://mytvstream.net:8080/live/bn80NG/909467/20939.m3u8` |
| NBC Sports California | HTTP Error (404) | `http://mytvstream.net:8080/live/bn80NG/909467/20940.m3u8` |
| NESN | HTTP Error (404) | `http://mytvstream.net:8080/live/bn80NG/909467/46726.m3u8` |
| Premier Sports 2 | HTTP Error (502) | `http://hardcoremedia.xyz:80/NW3Vk7xXwW/8375773282/117038` |
| Sportsnet One | HTTP Error (403) | `http://mytvstream.net:8080/live/bn80NG/909467/57297.m3u8` |
| Space City Home Network | HTTP Error (404) | `http://mytvstream.net:8080/live/bn80NG/909467/213668.m3u8` |
| Sportsnet East | HTTP Error (404) | `http://mytvstream.net:8080/live/bn80NG/909467/57298.m3u8` |
| Sportsnet One | HTTP Error (404) | `http://mytvstream.net:8080/live/bn80NG/909467/57297.m3u8` |
| The Weather Channel | HTTP Error (404) | `http://mytvstream.net:8080/live/bn80NG/909467/18926.m3u8` |
---
#### Base Channels URL
```