goon/app/extractors
jtrzupek c419d3ab4b feat(watchporn): re-enable as KVS browse scraper + native mp4 extractor
watchporn.to was disabled 2026-05-12 (all iframes were DoodStream/CAPTCHA
-> black-screen WebView). The site has since been rebuilt as a KVS tube:
the DoodStream hosters are gone, scenes now expose flashvars get_file
direct mp4. Rewrote the dead ?s= search scraper as a /latest-updates/
browse scraper (og:title, JSON-LD duration/uploadDate, /models/ performers,
/tags/ tags, /categories/ studio) and added a KVS get_file extractor
(porntrex-style same-session 302 resolve; token not IP-bound, plays from
VPS). Moved to ALL_BROWSE_SCRAPERS, extractor swapped from _embed_iframe.
Verified: 35 fresh scenes/page (today), multi-performer, playback 1080p mp4 206.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-02 14:32:36 +02:00
..
hosters fix(extractors): mixdrop hardening, yespornvip extractor, freshporno revert 2026-05-28 23:23:37 +02:00
tubes feat(watchporn): re-enable as KVS browse scraper + native mp4 extractor 2026-07-02 14:32:36 +02:00
__init__.py feat(watchporn): re-enable as KVS browse scraper + native mp4 extractor 2026-07-02 14:32:36 +02:00
_fetch.py docs: correct Bright Data proxy type (ISP, flat-rate not per-GB) 2026-06-10 19:18:40 +02:00
_models.py Initial commit 2026-05-20 10:10:22 +02:00
duration_extract.py Initial commit 2026-05-20 10:10:22 +02:00
hoster.py fix(extractors): mixdrop hardening, yespornvip extractor, freshporno revert 2026-05-28 23:23:37 +02:00
iframe_pick.py Initial commit 2026-05-20 10:10:22 +02:00
tag_extract.py Initial commit 2026-05-20 10:10:22 +02:00
thumb_extract.py Initial commit 2026-05-20 10:10:22 +02:00