fix(pornhub): WebView fallback — yt-dlp gets 403 from VPS

Hoster sweep (2026-06-02) found pornhub resolving to 0 sources: yt-dlp (current,
2026.03.17) gets HTTP 403 fetching the watch page from the Hetzner VPS, while the
other yt-dlp tubes (xvideos/xnxx/youporn/redtube) still work — so it's a
Pornhub-specific block of the server IP, not a yt-dlp regression. Route pornhub
through the WebView fallback so it plays from the phone's residential IP, same as
xhamster. 7.3k scenes affected.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
jtrzupek 2026-06-02 21:41:38 +02:00
parent d4c4b79e92
commit 58b355b6b5

View file

@ -67,7 +67,11 @@ _REGISTRY: dict[str, Callable[[str], list[StreamSource] | None]] = {
# NB: 2026-05-18 cross-IP test potwierdził że xvideos/xnxx/pornhub/youporn/redtube
# CDN URLs są **time-bound** (nie IP-bound) — mobile_direct_ok auto-detect w
# playback.py daje mobile direct fetch, zero VPS bandwidth.
"pornhubcom": _ytdlp.extract,
# pornhub — 2026-06-02: yt-dlp z VPS dostaje HTTP 403 (Pornhub blokuje Hetzner IP;
# yt-dlp aktualny, inne yt-dlp tuby działają → blok specyficzny dla PH). WebView
# fallback gra z residential IP telefonu (jak xhamster). Wcześniej `_ytdlp.extract`
# zwracał 0 źródeł → "nie działa odtwarzanie".
"pornhubcom": _vps_blocked_fallback.extract,
"redtubecom": _ytdlp.extract,
"xvideoscom": _ytdlp.extract,
"xnxxcom": _ytdlp.extract,