Skip to content

[Feature] AnimeTosho stopped adding new items in May 2026 and its feed is shutting down, please add AnimeTosho.xyz #220

Open

Description

@Svnow132

Summary

AnimeTosho has not processed new items since early May 2026 and says its feed will shut down, so please add the AnimeTosho.xyz feed (same JSON format), and AvistaZ / CinemaZ attached subtitles.

What problem does this feature solve?

AnimeTosho is winding down. Asking feed.animetosho.org for the latest items now returns HTTP 404 with:

{"error":"Querying for latest items without a filter has been disabled. Anime Tosho has not processed any new items since early May 2026 and this feed will be shut down soon."}

Filtered queries still answer, but stop in May. Same query on both feeds, 2026-10-02:

feed.animetosho.org/json?q=frieren  -> 75 items, newest 2026-05-05
feed.animetosho.xyz/json?q=frieren  -> 75 items, newest 2026-09-11

So the AnimeTosho provider can only find episodes released before May, and it stops completely when the feed is switched off. On my install it is the second best source for anime after OpenSubtitles (103 downloads, 247 successful searches), so new anime episodes will be left with embedded tracks only.

When the feed does go away, I'd expect it to show up as zero results rather than an error, which would make the outage hard to notice in the provider health view.

What do you propose?

1. AnimeTosho.xyz (most important)

https://feed.animetosho.xyz/json is live and current (newest item 2026-10-02). Its JSON uses the same 28 fields as the animetosho.org feed. I compared the key sets of the two responses above and they are identical:

anidb_aid, anidb_eid, anidb_fid, anidex_id, article_title, article_url, id,
info_hash, info_hash_v2, leechers, link, magnet_uri, nekobt_id, num_files,
nyaa_id, nyaa_subdom, nzb_url, seeders, status, timestamp, title,
torrent_downloaded_count, torrent_name, torrent_url, tosho_id, total_size,
tracker_updated, website_url

The eid (AniDB episode id) query also answers on .xyz. So the cheapest fix may be a configurable feed base URL on the existing AnimeTosho provider, or a second provider that reuses it. Things I could not check: whether .xyz serves subtitle attachments the same way (the storage host the download step uses), and who runs it. It is a separate site from animetosho.org.

2. AvistaZ and CinemaZ attached subtitles

These private trackers attach subtitle files to their release pages. A provider that follows the grab in Sonarr or Radarr history to the release page and downloads the attached subtitle would match the exact release, which no general provider can promise. It needs session cookies. I have accounts on both and can test.

3. Clear failure when the .org feed is gone

If animetosho.org shuts down completely, the existing provider should report it as unreachable or deprecated in the provider health view, not count it as zero results.

Alternatives considered

  • Bazarr+ already ships all three as separate providers (animetosho_xyz, avistaz, cinemaz) in its provider catalog: https://github.com/LavX/bazarr-provider-catalog. Its README also notes "New torrent ingestion stopped on May 9, 2026" for AnimeTosho.
  • Custom API provider: possible for the feed lookup, but I don't think it can do the attachment download step.
  • Keeping only embedded subtitles for new anime: that's what happens by default once the feed is gone.

Activity

  1. Abrechen2 commented on Oct 9, 2026

    @Abrechen2
    Owner

    Thanks for the detailed comparison. Sublarr has already been searching feed.animetosho.xyz since 1.14.1 (#208), and downloads come from its storage hosts — so on your 1.15.0 install the provider is not limited to entries before May, and the .org shutdown will not take it down. While checking, I found that the .xyz feed returns a bare file name instead of a storage address for a few attachments; those candidates could win and then fail with a 404. That is fixed for 1.16.0.

    On AvistaZ / CinemaZ: 1.16.0 will take over the providers from the Bazarr+ provider catalog you linked, AvistaZ and CinemaZ included. I'd gladly take you up on your offer to test them with your accounts — I'll post here when there is a build to try.

  2. Abrechen2 commented on Oct 10, 2026

    @Abrechen2
    Owner

    Shipped in 1.16.0, now running in production.

    AvistaZ and CinemaZ are among the 43 catalog providers — switch on Catalog providers in the provider settings, enable them and add your session cookies. I'd be glad to hear whether they work with your accounts.

  3. Svnow132 commented on Oct 11, 2026

    @Svnow132
    Author

    Thanks for shipping this. I went through the 1.16.0 catalog before turning anything on and ran a few bundles' search() directly with a video dict shaped like video_from_query builds it. I think TsukiHime can't return a result for anyone in 1.16.0, because of what the adapter passes it.

    Episodes

    bundles/tsukihime/provider.py returns [] unless all three are set:

    episode_id = _positive_id(_scalar(video.get("series_anidb_episode_id")))
    episode_no = _positive_id(_scalar(video.get("series_anidb_episode_no")))
    if anidb_id is None or episode_id is None or episode_no is None:
        return []

    providers/hub/adapter.py video_from_query sets series_anidb_id and series_anidb_episode_id, but nothing in backend/ sets series_anidb_episode_no (same on master). So every episode search ends at that return [] before any request goes out.

    There's a second gate on top of that: query.anidb_episode_id is only filled in _resolve_anidb_from_shoko (wanted_search/metadata_enrichers.py). Installs without Shoko, like mine, never get an AniDB episode id, so the bundle would still bail even with the episode number passed.

    Movies

    The movie path needs anilist_id, but the adapter only puts anilist_id in the episode branch of video_from_query, not the movie branch. So movies return [] too.

    What I ran

    The bundle on its own with Frieren S01E01 (AniDB 17617, AniList 154587) and the fields the adapter sends: 0 results, and it returns before any request. Adding series_anidb_episode_no gets it past the gate and querying the API (still 0 for Frieren, but only because of the index, see below).

    Possible fix

    • Pass series_anidb_episode_no from the episode number you already have (absolute_episode for absolute-numbered anime, else episode).
    • Add anilist_id to the movie branch.
    • The bundle's own comment says the episodes endpoint is keyed by episode number and the episode id only acts as a gate. If you change the pinned copy, dropping the episode_id requirement would let it work without Shoko.

    Separate from the bug, TsukiHime's index looks thin for now. I sampled 11 titles straight from its API, and 4 had a completed torrent with English subs. Frieren's only entry there is skipped. So it's not urgent for me, I just wanted you to know it can't fire as wired.

  4. Svnow132 commented on Oct 11, 2026

    @Svnow132
    Author

    One more from the same pass, then I'm done. I diffed every key the 43 bundles read off video against what video_from_query sets (on master, 47a2b65), so this should be the full list.

    CinemaZ and AvistaZ can't return anything either

    Both bundles start search() with:

    info_url = str((video or {}).get("info_url") or "")
    if not _is_cinemaz_url(info_url):
        return []

    video_from_query never sets info_url, so both stop there on every search, before the cookie check or any request. The manifest description says the release page comes from Sonarr or Radarr history, so I think the adapter needs to pass the info URL of the grab that produced the file. I haven't checked where Sublarr would read that from. This is the one you asked me to test with my accounts, and as wired it can't find anything yet.

    Minor, no search is blocked

    • fps is never passed. subssabbz and subsunacs can't add their fps match, and titulky's skip_wrong_fps option has nothing to compare against.
    • Several bundles return an encoding next to content_b64 (subtitlecat sets latin-1 when the body isn't UTF-8). _unpack ignores it and keeps the raw bytes. I haven't checked whether a later step re-encodes provider downloads, so this might already be covered.
    • The other unset keys (episode_title, audio_codec, streaming_service, edition, original_title, HDBits' imdb/tvdb) are only extra match hints or have a fallback that is set, so nothing breaks on those.

    Checked and fine

    • Every third-party import a bundle uses is either in backend/requirements.txt (ua-generator, requests, rarfile) or shipped in the bundle and listed in its manifest (subhd/captcha_templates.py).
    • subtitlecat only adds episode to matches when the episode actually matches, so the wrong-episode hits I saw in a standalone run should score lower rather than win.

    So the two that need a fix are TsukiHime (previous comment) and the info_url gap for CinemaZ and AvistaZ.

  5. Abrechen2 commented on Oct 24, 2026

    @Abrechen2
    Owner

    Thanks for going through every bundle — both gaps you found are fixed in 1.17.0.

    • TsukiHime now gets series_anidb_episode_no, and movies get anilist_id. One limit remains: the AniDB episode id and number still come only from Shoko. Without Shoko, TsukiHime still skips episodes. I left the bundle's episode_id gate in the pinned copy, so it stays identical to the catalog.
    • CinemaZ / AvistaZ now get info_url. The wanted search takes it from the Sonarr/Radarr history of the grab that produced the file. So only files grabbed from those trackers are searched there. The history is read only while one of them is enabled, and at most once an hour per episode or movie.
    • fps is passed now, taken from Sonarr/Radarr, so SubsSabBz, SubsUnacs and Titulky's skip_wrong_fps have something to compare against.
    • encoding next to content_b64 is now used as a hint when the file is converted to UTF-8 (this matters for ktuvit's windows-1255, for example). The latin-1 that several bundles return for "not UTF-8" is ignored, and the file's own detection applies.

    Your earlier offer would help a lot here: nobody has run CinemaZ or AvistaZ with a real account yet. If you try them on 1.17.0, I'd be glad to hear whether a grab from either tracker finds its subtitle.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions