Device logs (not assumptions) pinned the real cause of the hdporngg/fullmovies flicker: the backend returns a get_file URL, but get_file is bound to the IP that loaded the *page*. The backend (VPS) loads the page, so the get_file is VPS-bound; the phone fetching that get_file gets HTTP 410 -> ExoPlayer errors -> falls back to the proxy via nav.replace (the "flicker"), and ends up streaming through the proxy. (My earlier "stateless/portable" test was from the VPS — same IP as the page load — so it wrongly showed 206.) Fix: when the direct_url is a get_file, the phone re-fetches the *page* itself (resolveGetFilePage on source.page_url) so the get_file is bound to the phone IP, picks the requested quality skipping 4K (dead on fpvcdn), follows to the CDN, and hands ExoPlayer a working URL. On failure it keeps the original (proxy fallback). Verified on device: [getfile] page-resolve -> get_file 206 -> ExoPlayer PLAYING, position advancing, no error/proxy/flicker, real video frame rendered. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| aesGcm.ts | ||
| agegate.ts | ||
| applock.ts | ||
| appVersion.ts | ||
| backend.ts | ||
| donate.ts | ||
| doodstream.ts | ||
| filemoonHoster.ts | ||
| getfileResolver.ts | ||
| packerHoster.ts | ||
| seenStore.ts | ||