infra/stacks/f1-stream/files/backend/extractors
Viktor Barzin 5a0e4b3dac f1-stream: revive aceztrims + pitsport, more ppv variants
- aceztrims: scrape /f11/ (the actual stream page), not /f1/ (the
  cross-sport schedule). Drop the dead /iframe1?s= + onclick m3u8
  regexes (site moved to `getElementById('iframe').src = '...'` ~20
  channels ago). Strip HTML comments first so the ~20 legacy buttons
  kept inside <!-- ... --> stop showing up as false positives.
  Also pick up the default inline <iframe id='iframe' src='...'>.
  Local run: 11 channels (was 0).

- pitsport: decode the RSC payload before regex-matching in
  _parse_live_events (raw HTML had it escape-encoded, so the homepage
  card path was silently 0). Add the new /live-now route (canonical
  what's-live-right-now list). Add "f1" to MOTORSPORT_CATEGORIES — the
  site labels Formula 1 events as just "F1". Refresh the stale
  serveplay.site docstring (host rotates; pushembdz's api/stream link
  is authoritative).
  Local run: 7 m3u8 streams covering Canadian GP (EN1/EN2/MULTI/ITA/ESP)
  + NASCAR Coke 600 (was 0).

- ppv: always emit the parent embed alongside substreams (was dropping
  it whenever substreams existed). Prefer source_tag in substream titles
  so users see "Sky Sport 1 NZ" / "Apple TV (F1TV)" instead of generic
  #1/#2 suffixes.

Diagnosed against the live cluster (curated + 7 other extractors
returning 0 cached streams, only 2 dead hmembeds curated 24/7 channels
visible to users). Each fix verified with the extractor run against
live sites this turn.
2026-05-24 22:05:37 +00:00
..
__init__.py f1-stream: register HmembedsExtractor in registry 2026-05-07 23:47:50 +00:00
aceztrims.py f1-stream: revive aceztrims + pitsport, more ppv variants 2026-05-24 22:05:37 +00:00
base.py [ci skip] f1-stream: add extractor framework with demo streams (Phase 3) 2026-02-23 23:02:56 +00:00
chrome_browser.py f1-stream: subreddit extractor finds Reddit '[Watch / Download]' threads 2026-05-07 18:37:11 +00:00
curated.py f1-stream: only show streams confirmed playable by headless browser 2026-05-06 21:00:07 +00:00
daddylive.py f1-stream: add real F1 stream extractors and iframe player support 2026-03-01 14:35:19 +00:00
dd12.py f1-stream: add chrome-browser, subreddit, dd12 extractors; fix streamed.pk 2026-05-07 16:05:25 +00:00
demo.py f1-stream: add real F1 stream extractors and iframe player support 2026-03-01 14:35:19 +00:00
discord_source.py f1-stream: drop demo + landing-page extractors, add fetch-proxy injection 2026-05-06 21:50:54 +00:00
hmembeds.py f1-stream: hmembeds offline decoder — reverse-engineered the JW Player trap 2026-05-07 23:47:25 +00:00
models.py f1-stream: add real F1 stream extractors and iframe player support 2026-03-01 14:35:19 +00:00
pitsport.py f1-stream: revive aceztrims + pitsport, more ppv variants 2026-05-24 22:05:37 +00:00
ppv.py f1-stream: revive aceztrims + pitsport, more ppv variants 2026-05-24 22:05:37 +00:00
registry.py [ci skip] f1-stream: add extractor framework with demo streams (Phase 3) 2026-02-23 23:02:56 +00:00
service.py f1-stream: drop broken curated, dedupe streams, accept all pitsport categories 2026-05-07 15:42:24 +00:00
streamed.py f1-stream: add chrome-browser, subreddit, dd12 extractors; fix streamed.pk 2026-05-07 16:05:25 +00:00
stremio.py f1-stream: Stremio addon extractor — TvVoo + StremVerse Sky F1 / DAZN F1 2026-05-07 23:16:39 +00:00
subreddit.py f1-stream: subreddit extractor scans r/motorsportsstreams2 (active sub) 2026-05-07 22:42:51 +00:00
timstreams.py f1-stream: only show streams confirmed playable by headless browser 2026-05-06 21:00:07 +00:00