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>
This commit is contained in:
21
check.py
21
check.py
@@ -69,6 +69,7 @@ _BROWSER_UA = "Mozilla/5.0 (X11; Linux x86_64; rv:146.0) Gecko/20100101 Firefox/
|
||||
_CF_PROTECTED_HOSTS = {
|
||||
"www.camsoda.com",
|
||||
"camsoda.com",
|
||||
"assets.hotbunny.ai",
|
||||
}
|
||||
|
||||
|
||||
@@ -277,12 +278,20 @@ def check_video(video: dict, channel_id: str, results: Results, run_ytdlp: bool)
|
||||
continue
|
||||
ok, code = http_ok(furl, headers=fheaders)
|
||||
if not ok:
|
||||
results.err(
|
||||
channel_id,
|
||||
f"{label} format[{j}]: unreachable HTTP={code}"
|
||||
+ (f" (headers={list(fheaders.keys())})" if fheaders else "")
|
||||
+ f": {furl}",
|
||||
)
|
||||
if _is_cf_protected(furl):
|
||||
results.warn(
|
||||
channel_id,
|
||||
f"{label} format[{j}]: unreachable HTTP={code} (CF-protected host, expected)"
|
||||
+ (f" (headers={list(fheaders.keys())})" if fheaders else "")
|
||||
+ f": {furl}",
|
||||
)
|
||||
else:
|
||||
results.err(
|
||||
channel_id,
|
||||
f"{label} format[{j}]: unreachable HTTP={code}"
|
||||
+ (f" (headers={list(fheaders.keys())})" if fheaders else "")
|
||||
+ f": {furl}",
|
||||
)
|
||||
else:
|
||||
results.info(channel_id, f"{label} format[{j}]: OK (HTTP {code})")
|
||||
|
||||
|
||||
Reference in New Issue
Block a user