Commit graph

235 commits

Author SHA1 Message Date
Jos Vooges | STH
6b2eaf89c6 Stop proxying Viaplay video through the API.
Clients fetch the CDN directly; Don't go stays a User-Agent problem on the device, not a server relay.
2026-09-28 21:15:39 +02:00
Jos Vooges | STH
abdd829615 Proxy Viaplay DASH through the API so clients never fetch Don't go MPDs.
CDN returns the promo MPD when the app UA survives a redirect; the play API now serves a signed Chrome/122 proxy for MPD and segments. iOS pins that UA on every hop.
2026-09-28 21:13:32 +02:00
Jos Vooges | STH
19aa0853a3 Use the working Mac Chrome/122 User-Agent for Viaplay on server and all clients. 2026-09-28 20:48:48 +02:00
Jos Vooges | STH
75969d87ec Serve stored Viaplay DRM MPD+keys to clients before play-live, matching the admin key table. 2026-09-28 20:27:08 +02:00
Jos Vooges | STH
133f51284d Stop serving cached Viaplay Don't go MPDs and log every play including cache hits. 2026-09-28 20:15:33 +02:00
Jos Vooges | STH
8d54e2d8c6 Fix duplicate object keys that broke the master-api TypeScript build. 2026-09-28 18:04:17 +02:00
Jos Vooges | STH
8bf3b43444 Detect Viaplay Don't go via play-log and send the full cookie jar including DataDome. 2026-09-28 18:03:07 +02:00
Jos Vooges | STH
ebb986f6c1 Stop serving Viaplay Don't go: encode cookies like the live script, require live-dash, and reject promo MPDs by duration. 2026-09-28 04:57:55 +02:00
Jos Vooges | STH
379fbdab6d Send Viaplay session cookies encoded and reject Don't go without a license. 2026-09-28 04:40:17 +02:00
Jos Vooges | STH
65c144d8b6 Play Viaplay catch-up like the website: cookies only, no Authorization. 2026-09-28 04:34:31 +02:00
Jos Vooges | STH
98c38826e1 Reject Viaplay Don't go fallback and restore live play-live query. 2026-09-28 04:24:55 +02:00
Jos Vooges | STH
672d3597c6 Align Viaplay play-live and clips with website HAR. 2026-09-28 04:11:22 +02:00
Jos Vooges | STH
d1c3176ffe Fix Viaplay catch-up without live replay.
Reuse the channel MPD and keys with a KAP window instead of play-live plus CDM per account.
2026-09-28 03:45:54 +02:00
Jos Vooges | STH
7cdff2bde4 Fix Viaplay live and catch-up play.
Allow 48h catch-up instead of rejecting ended events, and fetch keys via bootstrap PSSH when the live MPD has none.
2026-09-28 03:36:08 +02:00
Jos Vooges | STH
b783ba137f Accept movie progress from all clients and return resume position on movie detail. 2026-09-28 02:02:04 +02:00
Jos Vooges | STH
e89ba46eb8 F1TV: drm.scheme (cbcs) meesturen zodat de app zelf kan ontsleutelen. 2026-09-27 21:36:10 +02:00
Jos Vooges | STH
cc9f3b175a F1TV: Widevine-sessies via CDM naar ClearKey-sleutels voor de app. 2026-09-27 21:16:50 +02:00
Jos Vooges | STH
7b25b266f8 Odido: refresh-on-watch i.p.v. fleet MPD-refresh.
Zet periodieke PlayChannel-storm uit; vernieuw bij kijken met gedeelde DB-cache, in-flight coalescing en fallback op laatste URL.
2026-09-26 05:11:10 +02:00
Jos Vooges | STH
9759672900 Use getOdidoUserAgent in Odido sync CDM path. 2026-09-26 04:38:23 +02:00
Jos Vooges | STH
c58f9c423b Harden Odido HTTP fingerprint: current Chrome UA plus Accept-Language and Sec-CH/Fetch headers.
Bare or outdated clients are more likely to be rejected; keep XHR-like browser headers on all VSP and MPD calls.
2026-09-26 04:37:19 +02:00
Jos Vooges | STH
1ef0c4339f Add VMC Mediabox OTA (admin upload + box update check) and appliance remote fixes.
Settings key opens VMC-menu, CHANNEL P+/P- zaps live TV, and Dokploy persists android-tv APK volume.
2026-09-26 03:43:27 +02:00
Jos Vooges | STH
035ec9dc98 Prefer unique Gracenote art for Ziggo events over shared FAAB channel thumbs.
Keep FAAB live thumbs only when EventImages is missing or 404 so cards stay filled without looking identical.
2026-09-24 02:11:36 +02:00
Jos Vooges | STH
ff7ad3ddda Bump master-api health version to 1.0.6-ziggo-faab-art. 2026-09-24 02:05:38 +02:00
Jos Vooges | STH
bc847b222d Fix empty Ziggo Sport event covers by keeping FAAB live thumbs.
Stop replacing working FAAB thumbs with Gracenote URLs that 404, and only enrich highlights after verifying EventImages exist.
2026-09-24 02:02:23 +02:00
Jos Vooges | STH
89c88abc31 Show how many Viaplay accounts were tried on VOD soft-fail. 2026-09-24 01:01:02 +02:00
Jos Vooges | STH
1847f3c72f Clarify Don't go soft-fail error (not always device limit). 2026-09-24 00:42:40 +02:00
Jos Vooges | STH
c1378aa1d5 Reject Viaplay Don't go soft-fail and keep stable deviceIds.
Don't go is a placeholder MPD (mediaGuid=unknown), often when the account hit the 5-device limit. Fail closed and stop minting a new deviceId on every decrypt.
2026-09-24 00:34:57 +02:00
Jos Vooges | STH
f20b29362e Allow short Viaplay highlight clips (lower slate threshold to 15s). 2026-09-24 00:03:29 +02:00
Jos Vooges | STH
24051ed48f Harden Viaplay VOD assert against empty-title Don't go soft-fails.
Require response guid/title/product-link, reject short slate durations, record lastVodPlay, and expose an agent vod-probe for production diagnosis.
2026-09-24 00:00:31 +02:00
Jos Vooges | STH
2cc46d87ce Refresh Viaplay session via persistentLogin before VOD play.
Probe proved byguid works with a fresh session cookie; expired tray tokens were the real failure mode. Also drop stale ClearKey on clear VOD and add admin vod-probe.
2026-09-23 03:37:33 +02:00
Jos Vooges | STH
ca5b2b30d0 Harden Viaplay VOD play to exact HAR byguid query and reject promo soft-fails.
Always use canonical producturl/contextualV2/splitIOFlagIds first; validate product-link, productType and duration so Don't go cannot return as a silent 200.
2026-09-23 03:24:23 +02:00
Jos Vooges | STH
2aa35b663e Fix Viaplay VOD Don't go: auth header, list stream-href, reject promo.
Play used cookies only and overlaid the real title on empty promo responses. Match HAR: VIAPLAY-AT, rail stream-href with contextualV2, win10edge, and fail closed on guid/title mismatch.
2026-09-23 03:10:11 +02:00
Jos Vooges | STH
2e6dc3bab9 Fix Viaplay stream-href template expansion that broke VOD play.
RFC 6570 {?params} must become ?, not be stripped — otherwise byguid query is invalid and play fails.
2026-09-23 02:59:17 +02:00
Jos Vooges | STH
c6bd855334 Resolve Viaplay VOD via product stream href and return real titles.
Fetch the content product page with account cookies first (like the web player), expand the templated byguid URL, and expose the clip title instead of the raw guid.
2026-09-23 02:53:31 +02:00
Jos Vooges | STH
03e4deab33 Fix Viaplay VOD play: send producturl/cse like the official player.
Without those params byguid returns a documentary fallback slate (“Don't go”) instead of the clip.
2026-09-23 02:47:47 +02:00
Jos Vooges | STH
bedebf44f6 Round-robin Viaplay VOD accounts and slow Token Tray login.
VOD play rotates accounts like live; tray types/clicks with human delays and pauses between accounts to reduce captcha triggers.
2026-09-23 02:26:07 +02:00
Jos Vooges | STH
8b39ce06ee Add Viaplay sport hub rails with catch-up and VOD play.
Hub mirrors the official sport page shelves; clips/docs use play.viaplay.com/byguid, and ended events stay playable for ~48h.
2026-09-23 02:18:47 +02:00
Jos Vooges | STH
42e521da25 Add Viaplay hub and replace F1 banner with shared hub rail on TV.
Events keep live/upcoming; hubs load via /client/hubs and Viaplay home is time+sport based.
2026-09-23 01:31:33 +02:00
Jos Vooges | STH
fafe97e729 Rename Licenties to DRM and ingest event API ClearKeys into drm_keys.
Schedule feed kids/keys are persisted on fetch/play; admin backfill covers live lists and events.
2026-09-23 01:02:41 +02:00
Jos Vooges | STH
62a7ddec63 Add Admin upload for Token Tray installer on /agent.
Allows publishing NSIS builds via multipart without SSH/docker cp to the host volume.
2026-09-23 00:48:13 +02:00
Jos Vooges | STH
36d02cab10 Add Token Tray NSIS installer hosting and /agent download page.
Serve the Windows setup via /install, ship deploy/agent in Master, and document volume upload for the gitignored exe.
2026-09-23 00:36:40 +02:00
Jos Vooges | STH
c6eec07de5 Auto-refresh tokens based on server-tracked JWT expiry.
Tray polls refresh-due every 10 minutes and silently renews accounts within 90 minutes of expiry.
2026-09-23 00:12:03 +02:00
Jos Vooges | STH
2c14e2ce64 Silent browser UI login for Viaplay and F1TV via Token Tray.
Admin stores email/password; tray uses Playwright against real Chrome to click login and push tokens.
2026-09-22 23:54:10 +02:00
Jos Vooges | STH
c425b2b839 Manage Token Tray key from Admin settings.
Generate or paste a secret in the UI; agent API prefers DB key over TOKEN_TRAY_SECRET env.
2026-09-22 23:34:51 +02:00
Jos Vooges | STH
22d46ffac7 Add Windows token-tray MVP for Viaplay session refresh.
Agent API accepts X-Tray-Key pushes; Electron tray captures cookies and upserts accounts by email.
2026-09-22 23:24:44 +02:00
Jos Vooges | STH
0424ec4a10 Use VIAPLAY-AT auth scheme for account overview.
Bearer was rejected with Forbidden; manage-account HAR uses VIAPLAY-AT.
2026-09-22 23:14:40 +02:00
Jos Vooges | STH
1c939acd59 Allow refreshing Viaplay session tokens on existing accounts.
Add Tokens vernieuwen UI and strip Bearer prefix when saving accessToken.
2026-09-22 22:54:18 +02:00
Jos Vooges | STH
f19c173369 Fix Viaplay overview Forbidden by using Bearer-only auth.
Match manage-account HAR: no cookies on overview, and surface expired accessToken clearly.
2026-09-22 22:47:40 +02:00
Jos Vooges | STH
1c0275c21d Stop guessing Viaplay packages; only show overview API pakketinfo.
Remove session-based subscription inventing and surface a clear error when package lookup fails.
2026-09-22 22:43:38 +02:00
Jos Vooges | STH
8be634f783 Show Viaplay subscription type on each account after add/check.
Auto-probe on account add and always render an Abonnement row, with session-cookie fallback when overview is unavailable.
2026-09-22 22:37:40 +02:00