Keep hianime alive across server rotation: try every listed server

hianime's HD-1 slot rotated to a megaplay chain whose CDN (norami.top)
is Cloudflare-blocked for us, which killed stream resolution (CDN probe
sat at 0 KB/s). The ZokoAnime server still serves the working
zokoanime chain. _master_m3u8 now walks every listed server of the
wanted type; _embed_payload handles both chains (window.__P blob and
megaplay data-id/getSourcesNew with re-roll). stream_meta returns {}
when the host is ours but no referer is needed, so the /stream
allowlist still holds.
This commit is contained in:
jozamudi committed 2026-09-08 22:16:38 +00:00
1 parent 65da3e848f
commit 7444e29592
2 files changed
+79 -37

No files matched your search

+7 -4
View File
@@ -196,12 +196,15 @@ master_m3u8 = lambda e, l="eng": _call("master_m3u8", e, l)
def stream_meta(url):
"""Provider hook: extra upstream headers for a /stream URL (hianime's
CDN demands the embed origin as Referer), or None if no enabled
provider claims the host — that doubles as the allowlist."""
CDN may demand the embed origin as Referer), or None if no enabled
provider claims the host — that doubles as the allowlist (an empty
dict means: allowed, no extra headers)."""
for p in _providers():
fn = getattr(_prov(p), "stream_meta", None)
if fn and fn(url):
return fn(url)
if fn:
v = fn(url)
if v is not None:
return v
return None