"""yesporn.vip — KVS (kt_player) direct stream extractor. Patrz app/extractors/tubes/_kvs.py. VPS dociera do yesporn.vip (HTTP 200, odblokowane jak porntrex 2026-05-22) → resolvujemy SERVER-SIDE (decode function/0 get_file + follow 302 → portable cdn5 url) zamiast WebView fallback który pokazywał stronę + preroll-reklamę. Native, multi-quality, zero reklam. Zweryfikowane 2026-05-31: prod 3×cdn5, emulator 1080p picker → native decode. """ from __future__ import annotations from app.extractors._models import StreamSource from app.extractors.tubes import _kvs _BASE = "https://yesporn.vip" def extract(page_url: str, *, timeout: float = 60.0) -> list[StreamSource] | None: return _kvs.resolve_kvs(page_url, base_url=_BASE, timeout=timeout)