Commit Graph

40 Commits

Author SHA1 Message Date
Simon
a9da585f45 Fix eporner formats serving a decoy clip instead of the real video
Root cause found live: eporner's CDN mp4 URLs enforce a Referer check
independent of the hash/xhr resolution — a request with no Referer or
one pointing at eporner.com gets the real file, but any other Referer
gets a 302 to a static .../na.mp4 ("not available") decoy. Since our
VideoFormat entries declared no http_headers at all, playback fell
through to whatever default Referer the client happened to send,
occasionally tripping this check and showing the short "this video is
only available at eporner.com" clip.

Verified against a live video: fetching a resolved format URL with an
unrelated Referer reproduces the exact na.mp4 redirect; with the
correct Referer it serves the full file. Each format now explicitly
declares Referer: https://www.eporner.com/ so client-side defaults
can't trip the check.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QTqf6orbHZ9rFFpVpcgzcR
2026-09-21 16:11:46 +00:00
Simon
c7ae89fc37 Fix melonstube provider: Cloudflare bot management now blocks it
melonstube.com started fronting itself with Cloudflare bot management
(a real Turnstile challenge) since this provider was written, so the
shared Requester's Firefox151 emulation got blocked on every path and
the provider returned 0 items.

A/B-probed several browser TLS fingerprints live: Chrome120/124 pass
the plain listing pages but still 403 on /category/* and the
/searching/by-form search POST, while Safari18 passes everywhere.
Listing/search fetches now try a dedicated Safari18-emulated client
first and fall back to the shared Requester if Cloudflare's rules
change again (same pattern as lulustream.rs/doodstream.rs).

Also fixes get_videos ignoring perPage entirely (always returned the
full ~120-card page); it now truncates to the requested size.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QTqf6orbHZ9rFFpVpcgzcR
2026-09-21 14:08:28 +00:00
Simon
534ee4b5ad Add ripnsfw provider (Doodstream/Lulustream leak aggregator)
ripnsfw.com serves its entire catalogue as a published-Google-Sheet CSV
with no native pagination/search API, so the provider fetches and
parses that CSV once (cached 180s) and does feed/search/pagination/sort
in memory. Each row's Doodstream/Lulustream embed links resolve to
formats[] via the existing (previously unused) doodstream/lulustream
redirect proxies.

Also fixes check.py's follow_proxy_redirect, which used HEAD even
though these redirect-proxy routes only accept GET/POST, so it never
actually resolved the redirect; extends the CF-protected host list
(suffix matching + ripnsfw.com's client-only-SPA 404 page, dood.video,
tnmr.org) so known sandbox/CDN-IP-reputation failures are reported as
warnings instead of errors.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QTqf6orbHZ9rFFpVpcgzcR
2026-09-18 19:22:49 +00:00
Simon
e50003a7ea error fixes 2026-09-08 10:44:25 +00:00
Simon
86c8faca44 more providers 2026-09-07 15:25:03 +00:00
Simon
fbc473d518 xlecx 2026-07-15 06:01:23 +00:00
Simon
3b591c1950 melonstube fix 2026-07-06 17:51:06 +00:00
Simon
94cc3d7bbb melonstube 2026-07-06 17:29:04 +00:00
Simon
d1a05de50e ytdlp command and xgroovy 2026-07-06 16:07:54 +00:00
Simon
1f9977062c redgifs 2026-07-06 11:51:52 +00:00
Simon
6d5771a038 add hotbunny provider + fix domain cookie scoping in requester
New channel: hotbunny (AI-generated hentai, hotbunny.ai JSON API).
Includes thumbnail proxy (/proxy/hotbunny-thumb/) since assets.hotbunny.ai
is CF bot-managed. check.py updated to treat CF-protected format URLs as
warnings rather than errors.

requester.rs: store_response_cookies now honours the Domain attribute in
Set-Cookie headers — cookies scoped to .domain.com are registered against
the parent domain so the wreq Jar returns them for sub.domain.com requests
automatically, without per-provider workarounds.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-24 18:40:57 +00:00
Simon
94e9603fe5 add kwiky provider
kwiky.com (ICF/StreamMate platform) short-form cam clips. Two-step API
(ID list → metadata batch), XSRF token auth cached with double-checked
RwLock, direct MP4 formats from media.icfcdn.com, 48 curated tags via
keywordSearch.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-24 15:43:45 +00:00
Simon
228fdf7a21 perverzija fixed 2026-06-23 11:31:16 +00:00
Simon
4dcdf5e8d1 xfree frontpage 2026-06-23 10:47:30 +00:00
Simon
0a1bc6b727 xxxtik 2026-06-23 05:45:08 +00:00
Simon
da51d6a910 hentai 2026-06-22 18:54:59 +00:00
Simon
342c7dc098 camsoda update 2026-06-22 13:22:37 +00:00
Simon
6d18397c51 camsoda 2026-06-21 11:21:56 +00:00
Simon
ff680964cf porn4fans fix 2026-06-20 12:03:23 +00:00
Simon
d21c36e585 fyptt search fix
Bare keyword queries no longer hijack to a category archive when the
query matches a category name (sexy/ass/tiktok/...); only an explicit
cat:/category: prefix or the categories filter routes to an archive.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-19 21:47:21 +00:00
Simon
1bd06db894 fyptt 2026-06-19 08:25:33 +00:00
Simon
674ea99b0d fikffap 2026-06-19 06:07:50 +00:00
Simon
1a1a05941c fikfap 2026-06-18 13:49:08 +00:00
Simon
b761325018 wowxxx 2026-05-27 19:07:53 +00:00
Simon
95d2defa13 camsoda and pornhub shorties 2026-05-22 10:26:05 +00:00
Simon
7149847a2a supjav and shooshtime fixes 2026-05-22 08:38:36 +00:00
Simon
55edb2b4e3 supjav fix 2026-05-21 21:08:31 +00:00
Simon
8ca1df8f5a eporner 2026-05-21 13:02:27 +00:00
Simon
07154d50de fullporner & thepornbunny 2026-05-21 12:17:44 +00:00
Simon
4ad7672ac9 jable implemented 2026-05-20 19:53:14 +00:00
Simon
2ec9137df9 tube8 2026-05-20 14:28:11 +00:00
Simon
ad1ed1b68e allpornstreamd done and sxyprn updated 2026-05-19 13:48:50 +00:00
Simon
ee47bbe74d pimpbunny and more fixes 2026-05-18 16:52:25 +00:00
Simon
bf11d4e866 clapdat 2026-05-13 08:24:04 +00:00
Simon
c4292c2ffc blowjobspro launch 2026-05-05 18:41:05 +00:00
Simon
3da09dc561 erome launch 2026-05-05 14:20:47 +00:00
Simon
d6fa364b28 youporn 2026-05-05 13:53:01 +00:00
Simon
fe5cf9a42f archivebate work and pornxp returned 2026-04-14 16:58:04 +00:00
Simon
61f39e23b7 porntrex 2026-04-11 21:43:36 +00:00
Simon
f85a725883 docs and prompt 2026-04-10 22:57:27 +00:00