Time-bound HLS hosters whose manifest URL lacks a .m3u8 extension (e.g. pornhat's "...mp4,?..." path) were mis-detected by ExoPlayer as progressive MP4 and failed, forcing a full proxy fallback that streamed the whole video through the server. Serve such manifests via /proxy/hls/<token>/play.m3u8 with child URLs left absolute on the CDN, so the device fetches variant+segments directly and only the ~1KB manifest is proxied. Routed only for mobile_direct_ok (time-bound) HLS without a .m3u8 path. Also swallow httpx.TransportError in the stream proxy body generator: an upstream CDN closing the connection mid-stream is benign (client just retries a range) and should not surface as an unhandled error. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| __init__.py | ||
| admin.py | ||
| admin_html.py | ||
| blacklist.py | ||
| bug_reports.py | ||
| device.py | ||
| expo_updates.py | ||
| favorites.py | ||
| me.py | ||
| movies.py | ||
| playback.py | ||
| scene_favorites.py | ||
| scenes.py | ||
| schemas.py | ||
| seo.py | ||
| sources.py | ||
| stream_proxy.py | ||
| taxonomies.py | ||
| watch.py | ||