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:
1 parent
65da3e848f
commit
7444e29592
2 files changed
+79
-37
No files matched your search
+7
-4
@@ -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
|
||||
|
||||
|
||||
|
||||
Reference in new issue
Block a user