Sponsored channel cards carry a stale data-video-id that 404s; use the
card link target. The signed pix-cdn77 thumbnail hosts 403 without a
Referer, so route them (tube8, ph-shorties) through a new host-restricted
aylo-thumb proxy. Also correct the pornhub-thumb route that sat under a
doubled /proxy prefix.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MUYdCh2nCVsQYgJAT7gwSi
The API ignores page= (every page 2+ repeated page 1), searches shared a
single cache entry, image-only posts were listed as unplayable videos, and
gzip/br bodies were not decoded because wreq had no decompression features.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MUYdCh2nCVsQYgJAT7gwSi
- coomer.rs: only emit a `formats` entry for actual video extensions.
Image-only posts (very common - many creators post photos, not just
videos) were getting a `formats[0]` pointing at a static jpg/png, which
a player would try and fail to stream as video; the preview URL already
covers showing the image.
- coomer.rs tests: fix stale fixtures that baked a `/data/` prefix into
`file.path`, which doesn't match the real API's path shape (the code
prepends `/data/` itself) and was doubling it into `/data/data/...`.
This was masking the formats bug above until the fixture was corrected.
- check.py: coomer.st/data/... 302s to a load-balanced nN.coomer.st CDN
node; every node tested (n1/n2/n3) is a hard connect-timeout from this
sandbox's egress while coomer.st itself is a normal 200 - the same
IP-reputation-style CDN block already documented for ripnsfw's
doodstream/lulustream edges. Added `.coomer.st` to the CF-protected
suffix allowlist, and made the url/thumb checks follow redirects before
testing it (previously only the format-url check did).
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QTqf6orbHZ9rFFpVpcgzcR