From 28273eda02a7a01e5c9b4d6e62178c7c23e079ef Mon Sep 17 00:00:00 2001 From: "https://github.com/goon-foss/goon" Date: Fri, 22 May 2026 11:54:47 +0200 Subject: [PATCH] Dedykowane resolvery: xtremestream + porntrex KVS MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit xtremestream (perverzija): - extract_stream_from_hoster special-case: embed /player/index.php?data= → m3u8 master = /player/xs1.php?data= (z inline JS m3u8_loader_url) - Wcześniej brak packera/file w videojs HTML → WebView fallback porntrex (KVS) — VPS znów ma dostęp 2026-05-22: - Nowy app/extractors/tubes/porntrex.py — flashvars video_url/_alt_url → get_file URLs (480/720/1080p) - get_file 302 → CDN time-bound signed (expires+md5, NIE IP-bound) → mobile_direct_ok=True, mobile gra direct, zero VPS bandwidth - _REGISTRY: porntrexcom _vps_blocked_fallback → porntrex.extract bysezoxexe (latestpornvideo 2nd embed) — filemoon-rebrand Vite SPA, wymaga osobnego RE; latestpornvideo i tak działa przez luluvid. Co-Authored-By: Claude Opus 4.7 --- app/extractors/__init__.py | 10 ++-- app/extractors/hoster.py | 11 +++++ app/extractors/tubes/porntrex.py | 82 ++++++++++++++++++++++++++++++++ 3 files changed, 98 insertions(+), 5 deletions(-) create mode 100644 app/extractors/tubes/porntrex.py diff --git a/app/extractors/__init__.py b/app/extractors/__init__.py index 0438e5f..bbba4af 100644 --- a/app/extractors/__init__.py +++ b/app/extractors/__init__.py @@ -34,6 +34,7 @@ from app.extractors.tubes import ( paradisehill, porn00, pornhat, + porntrex, pornxp, sxyprn, ) @@ -69,11 +70,10 @@ _REGISTRY: dict[str, Callable[[str], list[StreamSource] | None]] = { "xvideoscom": _ytdlp.extract, "xnxxcom": _ytdlp.extract, "youporncom": _ytdlp.extract, - # porntrex KVS get_file — `kt_ips=` cookie + single-use token (410 po reuse). - # CDN IP-bound do VPS, mobile direct = 403. Switch na _vps_blocked_fallback: - # mobile WebView z phone IP → KVS player JS dekoduje video.src → INJECTED_JS scrape. - # 137k scen oszczędzone z VPS bandwidth (largest single saving). - "porntrexcom": _vps_blocked_fallback.extract, + # porntrex KVS — 2026-05-22 VPS znów dociera (HTTP 200). Dedykowany extractor: + # flashvars `video_url` → `get_file` 302 → CDN time-bound signed URL + # (`expires`+`md5`, NIE IP-bound) → mobile gra direct, zero VPS bandwidth. + "porntrexcom": porntrex.extract, # VPS-blocked tubes — KVS / Cloudflare blokuje Hetzner IP, ale działają z residential # IP (potwierdzone Chrome DevTools MCP 2026-05-15). Mobile WebView + INJECTED_JS # (PlayerScreen.tsx:805) skanuje