diff --git a/app/extractors/__init__.py b/app/extractors/__init__.py index 5c73449..4a0c340 100644 --- a/app/extractors/__init__.py +++ b/app/extractors/__init__.py @@ -116,12 +116,18 @@ _REGISTRY: dict[str, Callable[[str], list[StreamSource] | None]] = { # mobile dostaje proxy URL od razu, ExoPlayer gra bez WebView. "porn00org": porn00.extract, "pornxpph": _vps_blocked_fallback.extract, - # yesporn.vip — KVS engine. flashvars `video_url: 'function/0/'`, - # function/0 to passthrough wrapper, URL po prefixie direct streamuje (480p). - # Wymagało odrębnego extractora bo origin `tube:yespornvip` był w - # playback_sources ale brak handlera w _REGISTRY → mobile no-source (bug-report - # 2026-05-27 "Yespornvip dalej nie działa"). - "yespornvip": yespornvip.extract, + # yesporn.vip — KVS engine. Initial extractor probował dwóch ścieżek z + # flashvars, oba okazały się ślepe (2026-05-30 verify): + # - `video_url` (`/get_file/7/`) wymaga PHPSESSID z embed page session; + # mobile fetch bez cookies → 404. + # - `event_reporting2` (`/get_file/1/`) zwraca 200 OK ale `Content-Type: + # image/gif` — to 1px analytics tracker, NIE video. + # Switch na WebView fallback: mobile loaduje embed w WebView z phone IP, + # kt_player JS decoduje URL inside browser context (cookies + session set + # properly), INJECTED_JS scrapuje `