{"schemaVersion":1,"repo":{"name":"Anime Staging","url":"https://mangadex-repo.tail587f6c.ts.net/staging/anime/sfw/manifest.json","publicKey":"W0TFyL3WL8OIQ46gKFQmqZ0Ms6tH+kj0LtiB4BuFA4E="},"signature":"w34VZxQEHG4a4GB7bPR4eGqkGgn/QCT0Hn4SwnNG5XBAU/OW1zVdZKKtj9jmM3Q4rrOT248Yf/23bTtFVFiRBQ==","sources":[{"id":"allanime","name":"AllAnime","version":"0.7.2","abiVersion":1,"language":"en","nsfw":false,"bundle":"allanime.js","sha256":"224815dc5f24fafe4600b87e6dcffa5b106bb810e44f41d2d91d728dc63bd75d","domains":["mkissa.to","mkissa.net","youtube-anime.com","ok.ru","anilist.co","myanimelist.net"],"signature":"SmKgLrQAbsMCcNEh0tM9ygUWVJh7ag3iwDRIQphh7c70WUrCyiDZ0llMbW53DfkqzdcRz+WYpLfBrDR8GfEICg==","changelog":[{"version":"0.7.2","notes":["Captcha solve now targets the episode's watch page (/anime/\u003cid\u003e/p-\u003cep\u003e-\u003ctt\u003e) instead of the site root. The root is not gated — it loaded 200 and yielded only analytics cookies, so the retry was challenged identically; the watch page is what actually serves the Turnstile."],"date":"2026-07-30"},{"version":"0.7.1","notes":["GraphQL calls now send the site as Origin/Referer instead of the stale youtu-chan.com (which is not even in the domains allowlist), matching upstream.","The API's NEED_CAPTCHA reply arrives as HTTP 200 with a GraphQL error body, so the app's Cloudflare escalation never saw it. Detect it and solve the site in a webview, then retry once."],"date":"2026-07-30"},{"version":"0.7.0","notes":["AllAnime became MKissa: repointed at mkissa.to / api.mkissa.net (the old allanime.day + allmanga.to hosts are gone), which restores browse, search, details and episodes.","Playback: solved the `aaReq` crypto gate on the `episode` resolver. The client mask is recovered from the live JS bundle (buildId + four rotated-string-table seeds), HMAC'd into `x-aa-boot` to mint `partB` from the bootstrap, and XOR'd into the AES-256-GCM token. Without it the resolver answered AA_CRYPTO_MISSING and no hosters were returned.","The remaining NEED_CAPTCHA gate is a separate server-side check that needs an on-device webview clearance."],"date":"2026-07-30"},{"version":"0.6.0","notes":["Play the first-party internal hosters again: handle the new `dash` clock.json shape (direct per-quality MP4s in rawUrls.vids) instead of discarding it."],"date":"2026-06-28"},{"version":"0.5.0","notes":["Curated home: a Popular hero + Recently updated / genre rails + a Browse-by-genre chip strip (getHome/getHomeSection). See-all and chips deep-link into the listing with the matching filter."],"date":"2026-06-28"},{"version":"0.4.0","notes":["Filters now apply on the Popular listing — queryPopular takes no filter params, so a filtered browse routes through search (origin/season/year/sort/types/genres)."],"date":"2026-06-28"},{"version":"0.3.0","notes":["Covers load again: serve the direct anilist/MAL CDN URL (header-less) instead of the referer-gated wp.youtube-anime.com proxy, which 403'd because the app's anime poster views don't replay coverHeaders."],"date":"2026-06-28"},{"version":"0.2.0","notes":["Covers: send the site Referer so the wp.youtube-anime.com proxy stops 403ing.","Video: add an ok.ru extractor (header-less HLS + mp4) and drop the dead first-party 'player' (fast4speed) host, which 404s; the internal /apivtwo hosts currently return linkless stubs upstream."],"date":"2026-06-28"},{"version":"0.1.0","notes":["Initial AllAnime source (GraphQL + AES-GCM/XOR stream decrypt; first-party CDN + direct-player streams)."],"date":"2026-06-27"}],"capabilities":["home"]},{"id":"animepahe","name":"AnimePahe","version":"0.3.0","abiVersion":1,"language":"en","nsfw":false,"bundle":"animepahe.js","sha256":"2b9d67b43680d238ec54d06bdf6a03552be3b14d6b69efe3163b375fcbe995ef","domains":["animepahe.pw","kwik.cx","kwik.si","kwik.pm"],"signature":"YTuyN4wdOwDSiyhn5wTZC2hffg4WZjUpFtEFR51APywrZeH7TaM0iDPUO4xcMkPtBQxmcSLp146X1pOQLtdoBA==","changelog":[{"version":"0.3.0","notes":["Now uses the real AnimePahe site — the previous build pointed at a look-alike site with different, fewer episodes."],"date":"2026-07-28"},{"version":"0.2.1","notes":["Episodes no longer fail to play when the page embeds a non-video iframe."],"date":"2026-07-28"},{"version":"0.2.0","notes":["Updates the source and adds homepage sections for Latest Release, Recommendation, and Top."],"date":"2026-06-28"},{"version":"0.1.4","notes":["A cancelled/superseded search no longer pops the solver sheet — it appears only for a real challenge."],"date":"2026-06-27"}]}]}
