mirror of
https://github.com/doms9/iptv.git
synced 2026-06-06 02:43:05 +02:00
Compare commits
No commits in common. "a2d2155bbff6636014f18fe94aead39236b97b23" and "696e251d0ea003415821c45fa9e82f8a4bfac59e" have entirely different histories.
a2d2155bbf
...
696e251d0e
8 changed files with 103785 additions and 108160 deletions
1584
M3U8/TV.m3u8
1584
M3U8/TV.m3u8
File diff suppressed because it is too large
Load diff
208681
M3U8/TV.xml
208681
M3U8/TV.xml
File diff suppressed because one or more lines are too long
|
|
@ -34,7 +34,7 @@ https://bcovlive-a.akamaihd.net/7f5ec16d102f4b5d92e8e27bc95ff424/us-east-1/62407
|
|||
https://vs-hls-push-ww-live.akamaized.net/x=4/i=urn:bbc:pips:service:bbc_news_channel_hd/t=3840/v=pv14/b=5070016/main.m3u8
|
||||
|
||||
#EXTINF:-1 tvg-chno="12" tvg-id="BET.HD.us2" tvg-name="BET" tvg-logo="https://schedulesdirect-api20141201-logos.s3.dualstack.us-east-1.amazonaws.com/stationLogos/s10051_dark_360w_270h.png" group-title="TV",BET
|
||||
http://cdn1host.online:2999/live/bongus/35zqYxrbg0/204.ts
|
||||
http://41.205.93.154/BET-EN/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
|
||||
http://23.237.104.106:8080/USA_BTN/index.m3u8
|
||||
|
|
|
|||
1582
M3U8/events.m3u8
1582
M3U8/events.m3u8
File diff suppressed because it is too large
Load diff
|
|
@ -22,7 +22,6 @@ from scrapers import (
|
|||
tvapp,
|
||||
watchfooty,
|
||||
webcast,
|
||||
xyzstream,
|
||||
)
|
||||
from scrapers.utils import get_logger, network
|
||||
|
||||
|
|
@ -74,10 +73,9 @@ async def main() -> None:
|
|||
asyncio.create_task(streamcenter.scrape()),
|
||||
asyncio.create_task(streamsgate.scrape()),
|
||||
asyncio.create_task(streamtpnew.scrape()),
|
||||
asyncio.create_task(totalsportek.scrape()),
|
||||
# asyncio.create_task(totalsportek.scrape()),
|
||||
asyncio.create_task(tvapp.scrape()),
|
||||
asyncio.create_task(webcast.scrape()),
|
||||
asyncio.create_task(xyzstream.scrape()),
|
||||
]
|
||||
|
||||
await asyncio.gather(*(pw_tasks + httpx_tasks))
|
||||
|
|
@ -111,7 +109,6 @@ async def main() -> None:
|
|||
| tvapp.urls
|
||||
| watchfooty.urls
|
||||
| webcast.urls
|
||||
| xyzstream.urls
|
||||
)
|
||||
|
||||
live_events: list[str] = []
|
||||
|
|
|
|||
|
|
@ -16,8 +16,8 @@ TAG = "TSPRTK"
|
|||
CACHE_FILE = Cache(TAG, exp=19_800)
|
||||
|
||||
BASES = {
|
||||
"TSPRTK1": "https://live.totalsportek.rodeo",
|
||||
"TSPRTK3": "https://live3.totalsportek.rodeo",
|
||||
"TSPRTK1": "https://live.totalsportek.fyi",
|
||||
"TSPRTK3": "https://live3.totalsportek.fyi",
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -69,7 +69,7 @@ async def process_ts3(ifr_src: str, url_num: int) -> str | None:
|
|||
log.warning(f"URL {url_num}) Failed to load iframe source. (IFR2)")
|
||||
return
|
||||
|
||||
valid_m3u8 = re.compile(r'StreamUrl\s+=\s+"([^"]*)"', re.I)
|
||||
valid_m3u8 = re.compile(r'currentStreamUrl\s+=\s+"([^"]*)"', re.I)
|
||||
|
||||
if not (match := valid_m3u8.search(ifr_2_src_data.text)):
|
||||
log.warning(f"URL {url_num}) No Clappr source found.")
|
||||
|
|
|
|||
|
|
@ -1,74 +0,0 @@
|
|||
from .utils import Cache, Time, get_logger, leagues, network
|
||||
|
||||
log = get_logger(__name__)
|
||||
|
||||
urls: dict[str, dict[str, str | float]] = {}
|
||||
|
||||
TAG = "XYZSTRM"
|
||||
|
||||
CACHE_FILE = Cache(TAG, exp=28_800)
|
||||
|
||||
API_URL = "https://blog.xyzstreams.shop:2053/api/scoreboard"
|
||||
|
||||
|
||||
async def get_events() -> dict[str, dict[str, str | float]]:
|
||||
events = {}
|
||||
|
||||
if not (r := await network.request(API_URL, log=log)):
|
||||
return events
|
||||
|
||||
now = Time.clean(Time.now())
|
||||
|
||||
api_data: list[dict[str, str | dict]] = r.json()
|
||||
|
||||
sport = "Live Event"
|
||||
|
||||
for event_info in api_data:
|
||||
away_team: str = event_info.get("away", {}).get("name")
|
||||
home_team: str = event_info.get("home", {}).get("name")
|
||||
event_date: str = event_info.get("gameDate")
|
||||
|
||||
if not (event_date and away_team and home_team):
|
||||
continue
|
||||
|
||||
event_dt = Time.fromisoformat(event_date)
|
||||
|
||||
if event_dt.date() != now.date():
|
||||
continue
|
||||
|
||||
if not (feeds := event_info.get("feeds")):
|
||||
continue
|
||||
|
||||
event_name = f"{away_team} vs {home_team}"
|
||||
|
||||
for i, feed in enumerate(feeds.values(), start=1):
|
||||
key = f"[{sport}] {event_name} {i} ({TAG})"
|
||||
|
||||
tvg_id, logo = leagues.get_tvg_info(sport, event_name)
|
||||
|
||||
events[key] = {
|
||||
"url": feed,
|
||||
"logo": logo,
|
||||
"base": "https://xyzstreams.shop",
|
||||
"timestamp": now.timestamp(),
|
||||
"id": tvg_id or "Live.Event.us",
|
||||
}
|
||||
|
||||
return events
|
||||
|
||||
|
||||
async def scrape() -> None:
|
||||
if cached := CACHE_FILE.load():
|
||||
urls.update(cached)
|
||||
|
||||
log.info(f"Loaded {len(urls)} event(s) from cache")
|
||||
|
||||
return
|
||||
|
||||
log.info('Scraping from "https://xyzstreams.shop"')
|
||||
|
||||
urls.update(await get_events() or {})
|
||||
|
||||
log.info(f"Collected and cached {len(urls)} new event(s)")
|
||||
|
||||
CACHE_FILE.write(urls)
|
||||
11
readme.md
11
readme.md
|
|
@ -1,16 +1,15 @@
|
|||
## Base Log @ 2026-05-26 22:03 UTC
|
||||
## Base Log @ 2026-05-25 21:43 UTC
|
||||
|
||||
### ✅ Working Streams: 150<br>❌ Dead Streams: 7
|
||||
### ✅ Working Streams: 151<br>❌ Dead Streams: 6
|
||||
|
||||
| Channel | Error (Code) | Link |
|
||||
| ------- | ------------ | ---- |
|
||||
| Bounce TV | HTTP Error (404) | `http://23.237.104.106:8080/USA_BOUNCE/index.m3u8` |
|
||||
| FDSN Detroit | HTTP Error (403) | `http://cdn1host.online:2999/live/bongus/35zqYxrbg0/317.ts` |
|
||||
| FDSN North | HTTP Error (403) | `http://cdn1host.online:2999/live/bongus/35zqYxrbg0/320.ts` |
|
||||
| FDSN Ohio | HTTP Error (403) | `http://cdn1host.online:2999/live/bongus/35zqYxrbg0/1207.ts` |
|
||||
| FDSN Sun | HTTP Error (403) | `http://cdn1host.online:2999/live/bongus/35zqYxrbg0/322.ts` |
|
||||
| FDSN South | HTTP Error (403) | `http://cdn1host.online:2999/live/bongus/35zqYxrbg0/319.ts` |
|
||||
| FDSN West | HTTP Error (403) | `http://cdn1host.online:2999/live/bongus/35zqYxrbg0/1633.ts` |
|
||||
| FDSN Wisconsin | HTTP Error (403) | `http://cdn1host.online:2999/live/bongus/35zqYxrbg0/1621.ts` |
|
||||
| Lifetime | HTTP Error (403) | `http://cdn1host.online:2999/live/bongus/35zqYxrbg0/148.ts` |
|
||||
| Smithsonian Channel | HTTP Error (403) | `http://cdn1host.online:2999/live/bongus/35zqYxrbg0/46810.ts` |
|
||||
---
|
||||
#### Base Channels URL
|
||||
```
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue