Provider fix todo
Source: check.py + search probe audit, 2026-10-10. Serial re-run of every flagged channel,
so timeouts below are not load artifacts. Update the status column as each item is fixed and
verified (HOT_TUB_PROVIDER=<id> build, /api/videos feed + search + page 2, yt-dlp on
video.url or formats[0].url, python3 check.py <id>).
Status: [ ] open, [~] in progress, [x] fixed and verified, [-] not reproducible / not a provider bug (reason noted).
1. Channels returning no items
|
Channel |
Symptom |
Notes |
| [x] |
javtiful |
feed times out (150s) then 0 items; search 0 |
site redesign (article.video-card); rewrote parser, page URL as video.url (yt-dlp-native), no per-item detail fetches. 23 items, p2/search OK |
| [x] |
sextb |
0 items on feed, search and page 2 |
Jina mirror now 403/429; site is plain HTML reachable with the emulating client. Rewrote listing/detail/option parsers for HTML, removed mirror. Remaining check.py errors are tooling items (proxy URL policy; imggle.net thumbs are TLS-gated for requests) |
| [-] |
camsoda |
0 items on every request |
not a provider bug here: www.camsoda.com is DNS-sinkholed by this host's resolver (0.0.0.0; public resolvers return 74.122.168.1), local FlareSolverr gets ERR_CONNECTION_REFUSED, Jina is 403/429, and Cloudflare serves a managed challenge to non-browser clients. Needs the production network to verify. |
| [-] |
hentaimama |
0 items or 85-150s timeouts |
not fixable in code from this host: site now serves a Cloudflare managed challenge (cf-mitigated: challenge) on every path; browser-TLS impersonation gets 403 and the local FlareSolverr (:8191, process outside this sandbox) hangs even on a non-CF page (javtiful, 60s). Latency is the requester waiting on FlareSolverr. Needs a healthy FlareSolverr to verify. |
| [-] |
hotbunny |
0 items; first request 78s |
same cause: hotbunny.ai (including /api/post/*) now answers a Cloudflare managed challenge; previously the JSON API was reachable directly. Needs a healthy FlareSolverr. |
2. Playback: page URL not resolvable by yt-dlp / formats not playable
|
Channel |
Symptom |
Notes |
| [x] |
thaiporntv |
page URL "Unsupported URL", no formats |
player attribute renamed data-enc -> data-video-sources (reversed base64 JSON {quality,url}); decoder handles both. 3 formats/item, yt-dlp OK, check.py passes |
| [x] |
pornmz |
page URL "Unsupported URL", no formats |
site changed itemprop="contentURL" -> contentUrl; selector now case-insensitive. Enrichment concurrency 10 + 25s per-item timeout. Origin is slow (15s+/detail) so first feed 25-50s. check.py passes |
| [x] |
coomer |
page URL "Unsupported URL"; media host CF-gated here |
image-only posts were listed as videos with no playable URL: now dropped, and a video in attachments is picked up. Also fixed: page= is ignored by the API (every page 2+ was a copy of page 1; now o= offset), search results shared one cache key, and compressed API bodies were not decoded (enabled wreq gzip/br/deflate/zstd). n*.coomer.st CDN connect-times-out from this host, and the API 429s this IP after bursts, so playback/"girl" search could not be verified end to end |
| [x] |
tube8 |
page URL 404; /proxy/tube8/{id} 502 |
sponsored channel cards carry a stale data-video-id (404) while the card link is the live page; id/URL now come from the link. Signed pix-cdn77 thumbs 403 without a Referer: new host-restricted /proxy/aylo-thumb (also fixes ph-shorties). check.py passes |
| [ ] |
hypnotube |
page URLs 404 on all sampled items |
URL construction |
| [ ] |
fullpornerorg |
lulustream proxy 403 / 502 |
|
| [ ] |
ripnsfw |
doodstream format 502 |
|
| [ ] |
freepornvideosxxx |
yt-dlp 502 on page URL |
may be transient, verify |
| [ ] |
hdporn92 |
m3u8 formats time out (curl + yt-dlp) |
morencius.com streams |
3. Thumbnails
|
Channel |
Symptom |
Notes |
| [ ] |
xxdbx |
malformed thumbs https:/7004….jpg |
built as "https:" + src |
| [x] |
ph-shorties |
thumbs return 403 |
same Referer-gated pix-cdn77.phncdn.com thumbs; routed through aylo-thumb proxy. check.py passes |
| [ ] |
noodlemagazine |
thumbs unreachable (-1 / 400) in check.py |
thumb proxy |
4. Search
|
Channel |
Symptom |
Notes |
| [ ] |
fapello |
"girl" and "milf" both 0 |
|
| [ ] |
chaturbate |
"girl" and "milf" both 0 |
|
| [ ] |
cumlouder |
unknown tag takes 146s before returning 0 |
own provider, retry path on 404 |
| [ ] |
vjav |
"girl" 0, "milf" 10 |
may be term-specific |
| [ ] |
xxxtik |
"girl" 0 (not re-run serially) |
|
| [ ] |
hypnotube |
"milf" 0, "girl" 20 |
may be term-specific |
5. Slow channels
|
Channel |
Symptom |
Notes |
| [ ] |
aps |
30-98s per request; check.py 30s timeout |
|
| [ ] |
hdporn92 |
feed about 66s per request |
shares item with section 2 |
| [ ] |
porndish |
14-23s feed/search |
|
6. Tooling
|
Item |
Notes |
| [ ] |
check.py "url points to hottub server" |
contradicts the hottub skill (proxy-needing videos use the proxy as item.url). Affects spankbang, hqporner, pornhd3x, pimpbunny, sxyprn, noodlemagazine. Decide: exempt proxy URLs that resolve, rather than hard-fail. |
Found while fixing (pre-existing, unrelated)
src/proxy.rs: the pornhub-thumb resource was registered as /proxy/pornhub-thumb inside the /proxy scope (unreachable); fixed alongside aylo-thumb. No provider uses it today.
- Failing unit tests, untouched files:
proxies::hanimecdn::tests::prefixes_relative_paths_with_hanime_cdn_host, proxies::vidara::tests::normalizes_detail_request_with_path_only.
Environmental / needs the production IP (not worked here)
porndish, supjav, jable, fapello, missav, wowxxx, hentaihaven return Cloudflare 403 to
yt-dlp/curl from this machine while the server itself returns items. hsex returned 429 (rate limit).