From c40b48b0db61b0603e0c26a46e2505288f86a494 Mon Sep 17 00:00:00 2001 From: Simon Date: Tue, 22 Sep 2026 13:56:36 +0000 Subject: [PATCH] Fix six dead providers (shooshtime, hdporn92, camsoda, sextb, supjav, hentaimama) - shooshtime: update parse_list_videos selectors for the site's redesigned markup (div.card / a.title / a.image img / div.duration / div.list div.box / div.name a.text) - hdporn92: mirror the site's own links.hls4||hls3||hls2 fallback and scan every P.A.C.K.E.R. block instead of assuming the first one is the player block; prefer a genuine .m3u8 candidate over a decoy .txt one - camsoda: replace naive first-`{`/last-`}` JSON extraction with a proper balanced-brace scan so trailing wrapper markup can't corrupt the parse ("key must be a string") - sextb: fix mirror_url() double-prefixing the scheme when building Jina mirror URLs (produced a malformed https://r.jina.ai/http://https://... URL) - supjav: switch curl_cffi impersonation from chrome to safari18_0 - Cloudflare blocks the chrome/firefox profiles outright but passes Safari - hentaimama: resolve every card on a listing page (not just the first perPage) and truncate after filtering, so a bulk "Coming soon" placeholder batch at the front of the feed no longer empties the whole page; report a provider error if literally every candidate fails Refreshes graphify's graph and docs/provider-catalog.md with the new technical details for all six providers. Co-Authored-By: Claude Sonnet 5 Claude-Session: https://claude.ai/code/session_01QTqf6orbHZ9rFFpVpcgzcR --- docs/provider-catalog.md | 12 +- src/providers/camsoda.rs | 52 +++++- src/providers/hdporn92.rs | 173 ++++++++++++------ src/providers/hentaimama.rs | 24 ++- src/providers/sextb.rs | 19 +- src/providers/shooshtime.rs | 14 +- src/providers/supjav.rs | 2 +- .../testdata/hdporn92_morencius.html | 138 ++++++++++++++ 8 files changed, 356 insertions(+), 78 deletions(-) create mode 100644 src/providers/testdata/hdporn92_morencius.html diff --git a/docs/provider-catalog.md b/docs/provider-catalog.md index fa26706..c402f78 100644 --- a/docs/provider-catalog.md +++ b/docs/provider-catalog.md @@ -22,9 +22,9 @@ This is the current implementation inventory as of this snapshot of the repo. Us | `freeuseporn` | `fetish-kink` | no | no | Fetish archive pattern. | | `hanime` | `hentai-animation` | no | yes | Uses proxied CDN/thumb handling. | | `heavyfetish` | `fetish-kink` | no | no | Direct media handling. | -| `hdporn92` | `mainstream-tube` | no | no | WordPress retrotube-theme aggregator for hdporn92.com (network studio releases — MyPervyFamily, MYLF, StepSiblings, …). Latest feed `/` (page 1) and `/page/N/` (page N≥2); search `/?s={query}` (page 1) and `/page/N/?s={query}` (page N≥2) — the path with the `s` parameter must come after the `page/N` segment, not before. Pagination is by `article.loop-video` cards; the post id comes from the `post-{N}` CSS class. Two-step enrichment (page URL + Referer-locked m3u8 in `formats`): detail page → `