goon/app/extractors/tubes/fullmovies.py
goon-foss ba53f872d2 fix(proxy): hdporn.gg i fullmovies, swiezy adres zamiast 410 w zapasowym proxy
get_file jest przypiety do IP i sesji ladujacej strone i bywa jednorazowy.
Gdy resolver na telefonie zawiodl, proxy dostawalo ten sam zuzyty adres i
oddawalo 410/503: 14 urzadzen w tydzien mialo na tych serwisach same porazki
(inne serwisy graly im bez problemu). Teraz po 403/404/410 albo trwalym 503
proxy pobiera strone na nowo (try_extract) i bierze adres w tej samej jakosci.
Test: adres pobrany z innego IP przez proxy 410 -> z odswiezaniem 206 video/mp4.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 14:16:14 +02:00

19 lines
965 B
Python

"""fullmovies.xxx, `<source>/get_file` tube z IP-bound fpvcdn. Patrz _source_getfile.py.
Ta sama platforma co hdporn.gg (`/get_file/8512/`). 2026-06-04 (DevTools + cross-IP):
stary extractor zakładał „get_file IP-bound → 403 → force_proxy". Faktycznie get_file
binduje fpvcdn do IP **fetchera** (mobile), więc oddajemy get_file NIEZRESOLWOWANY
(mobile_direct, ZERO proxy), telefon follow-uje 302 → fpvcdn z IP telefonu, gra. Pomijamy
4K/2160p (konsekwentnie time-outuje na fpvcdn ~30s; reszta gra ~1s). Bug 19866e9e: scena z
TYLKO fullmovies+hdporngg nie grała (extractor nie był zarejestrowany).
"""
from __future__ import annotations
from app.extractors._models import StreamSource
from app.extractors.tubes import _source_getfile
_BASE = "https://www.fullmovies.xxx"
def extract(page_url: str, *, timeout: float = 30.0) -> list[StreamSource] | None:
return _source_getfile.resolve(page_url, _BASE, timeout=timeout, sitetag="fullmoviesxxx")