Compare commits

...

34 commits

Author SHA1 Message Date
GitHub Actions Bot
dec16dd888 update EPG 2026-03-22 10:59:53 +00:00
GitHub Actions Bot
4c32956b2b health log 2026-03-22 08:57:38 +00:00
doms9
00000d9c93 e
- edit scraping for roxie.py
- misc edits.
2026-03-22 01:03:58 -04:00
GitHub Actions Bot
b8c07f8eec update EPG 2026-03-22 04:34:34 +00:00
GitHub Actions Bot
03ca4bd1b0 health log 2026-03-22 04:31:47 +00:00
GitHub Actions Bot
3e3698ab55 update M3U8 2026-03-21 23:30:50 -04:00
GitHub Actions Bot
131efa2db9 update M3U8 2026-03-21 23:01:21 -04:00
GitHub Actions Bot
7ab01c3a07 update M3U8 2026-03-21 22:31:43 -04:00
GitHub Actions Bot
65c3b26983 update M3U8 2026-03-21 22:01:45 -04:00
GitHub Actions Bot
2d805bee09 update M3U8 2026-03-21 21:31:37 -04:00
GitHub Actions Bot
84dcc8775b update M3U8 2026-03-21 21:02:14 -04:00
GitHub Actions Bot
b77ca72df2 update M3U8 2026-03-21 20:31:39 -04:00
GitHub Actions Bot
5abb740cfd update M3U8 2026-03-21 20:02:42 -04:00
GitHub Actions Bot
ae997ac134 update M3U8 2026-03-21 19:31:39 -04:00
GitHub Actions Bot
93315a850f update M3U8 2026-03-21 19:03:20 -04:00
GitHub Actions Bot
4eb9c0390b update M3U8 2026-03-21 18:31:47 -04:00
GitHub Actions Bot
263bfff511 update M3U8 2026-03-21 18:01:31 -04:00
GitHub Actions Bot
9dc1b2f4ee update M3U8 2026-03-21 17:31:35 -04:00
GitHub Actions Bot
8624361d47 update M3U8 2026-03-21 17:01:47 -04:00
GitHub Actions Bot
34f3097c78 health log 2026-03-21 20:49:04 +00:00
GitHub Actions Bot
7575e28264 update M3U8 2026-03-21 16:30:42 -04:00
GitHub Actions Bot
1df553dea7 update M3U8 2026-03-21 16:02:51 -04:00
GitHub Actions Bot
c910f96f11 update M3U8 2026-03-21 15:31:40 -04:00
GitHub Actions Bot
606b899d04 update EPG 2026-03-21 19:03:47 +00:00
GitHub Actions Bot
dc08133087 update M3U8 2026-03-21 15:02:16 -04:00
GitHub Actions Bot
c93bb01356 update M3U8 2026-03-21 14:31:42 -04:00
GitHub Actions Bot
355ecb5eba update M3U8 2026-03-21 14:01:33 -04:00
GitHub Actions Bot
1be1024053 update M3U8 2026-03-21 13:32:58 -04:00
GitHub Actions Bot
cfeebc1b15 update M3U8 2026-03-21 13:04:50 -04:00
GitHub Actions Bot
cf527f69ad update M3U8 2026-03-21 12:02:25 -04:00
GitHub Actions Bot
1711827a9c update M3U8 2026-03-21 11:04:47 -04:00
GitHub Actions Bot
05d50216ad health log 2026-03-21 14:51:44 +00:00
GitHub Actions Bot
09ad37093a update M3U8 2026-03-21 10:02:35 -04:00
GitHub Actions Bot
2af94bed13 update M3U8 2026-03-21 09:02:55 -04:00
7 changed files with 131698 additions and 128733 deletions

File diff suppressed because it is too large Load diff

256243
M3U8/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

@ -141,12 +141,10 @@ async def main() -> None:
f'tvg-name="{event}" tvg-logo="{info["logo"]}" group-title="Live Events",{event}'
)
UA = info.get("UA", network.UA)
vlc_block = [
f'#EXTVLCOPT:http-referrer={info["base"]}',
f'#EXTVLCOPT:http-origin={info["base"]}',
f"#EXTVLCOPT:http-user-agent={UA}",
f"#EXTVLCOPT:http-user-agent={info.get('UA', network.UA)}",
info["url"],
]

View file

@ -105,6 +105,13 @@ async def process_event(
return
try:
if btn := page.locator("button.streambutton").first:
await btn.click(
force=True,
click_count=2,
timeout=3_000,
)
await page.wait_for_function(
"() => typeof clapprPlayer !== 'undefined'",
timeout=6_000,

View file

@ -18,15 +18,15 @@ API_CACHE = Cache(f"{TAG}-api", exp=28_800)
API_URL = "https://s2watch.me/api/v1/schedule/list"
EVENT_BASE = "https://gopst.link"
BASE_URL = "https://gopst.link"
async def process_event(event_id: int, url_num: int) -> tuple[str | None, str | None]:
nones = None, None
if not (
event_api_src := await network.request(
urljoin(EVENT_BASE, "api/player.php"),
base_api_src := await network.request(
urljoin(BASE_URL, "api/player.php"),
params={"id": event_id},
log=log,
)
@ -34,7 +34,7 @@ async def process_event(event_id: int, url_num: int) -> tuple[str | None, str |
log.warning(f"URL {url_num}) Failed to get iframe url.")
return nones
if not (embed_url := event_api_src.json().get("url")):
if not (embed_url := base_api_src.json().get("url")):
log.warning(f"URL {url_num}) No iframe url available.")
return nones
@ -44,11 +44,11 @@ async def process_event(event_id: int, url_num: int) -> tuple[str | None, str |
log=log,
headers={
"User-Agent": "curl/8.19.0",
"Referer": f"{event_api_src.url}",
"Referer": f"{base_api_src.url}",
},
)
):
log.warning(f"URL {url_num}) Failed to get load iframe url.")
log.warning(f"URL {url_num}) Failed to load iframe url.")
return nones
pattern = re.compile(r'var\s+src\s+=\s+"([^"]*)"', re.I)
@ -162,7 +162,7 @@ async def scrape() -> None:
"base": iframe,
"timestamp": ts,
"id": tvg_id or "Live.Event.us",
"link": urljoin(EVENT_BASE, f"ch?id={event_id}"),
"link": urljoin(BASE_URL, f"ch?id={event_id}"),
"UA": "curl/8.19.0",
}

View file

@ -1,14 +1,13 @@
## Base Log @ 2026-03-21 08:55 UTC
## Base Log @ 2026-03-22 08:57 UTC
### ✅ Working Streams: 157<br>❌ Dead Streams: 5
### ✅ Working Streams: 158<br>❌ Dead Streams: 4
| Channel | Error (Code) | Link |
| ------- | ------------ | ---- |
| Altitude Sports | HTTP Error (403) | `http://mytvstream.net:8080/live/30550113/30550113/79545.m3u8` |
| FDSN Midwest | HTTP Error (000) | `http://mytvstream.net:8080/live/30550113/30550113/66795.m3u8` |
| Hallmark Family | HTTP Error (403) | `http://mytvstream.net:8080/live/30550113/30550113/9307.m3u8` |
| NBC Sports California | HTTP Error (403) | `http://mytvstream.net:8080/live/30550113/30550113/20940.m3u8` |
| NHL Network | HTTP Error (000) | `http://mytvstream.net:8080/live/30550113/30550113/20179.m3u8` |
| Pop TV | HTTP Error (403) | `http://mytvstream.net:8080/live/30550113/30550113/20976.m3u8` |
---
#### Base Channels URL
```