Skip to content

Aksi0/YummiAnime-Parser-Torznab

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

YummyAnime Torznab

Torznab-compatible search API that scrapes yummyanime.tv and exposes results for Sonarr/Jackett-style clients.

Features

  • /api?t=caps for Torznab capabilities
  • /api?t=search&q=QUERY for basic search
  • /api?t=tvsearch&q=QUERY and /api?t=movie&q=QUERY
  • Docker-ready

Notes

This indexer only uses the free-text q parameter for searching; other Torznab IDs (tvdbid/imdbid) are ignored.

It attempts to resolve a direct HLS (.m3u8) link from the embedded player and puts it into the enclosure field. If multiple voice tracks exist, it emits multiple items with the voice in parentheses. If it cannot resolve the stream, it falls back to the player URL. When DOWNLOAD_CLIENT_BASE is set, the enclosure URL points at /hls, which returns a tiny .torrent wrapper embedding the direct HLS URL and referer so Sonarr can pass it to the custom download client. This is still not a real torrent/magnet.

Season packs: when season is provided and ep is empty, the indexer emits a single "season pack" item (per voice). The download client expands it into all episodes for that season.

Titles include the original (alternative) title when available and an SxE1-N episode range suffix for series/season results.

Sonarr custom download client (HLS)

This service also exposes a lightweight Transmission-compatible RPC endpoint that downloads HLS with ffmpeg. Sonarr can use it as a download client.

High level:

  1. Set DOWNLOAD_CLIENT_BASE so the indexer emits download URLs pointing to this service.
  2. Configure Sonarr download client as Transmission pointing at this container.
  3. Share the download directory between this container and Sonarr.

For example (docker compose):

environment:
  - DOWNLOAD_CLIENT_BASE=http://yummi-anime-parser:8000
  - HLS_DOWNLOAD_DIR=/downloads/hls

Sonarr settings example:

  • Download Client: Transmission
    • Host: yummi-anime-parser
    • Port: 8000
    • URL Base: /transmission/rpc
    • Username/Password: empty
    • Directory: HLS_DOWNLOAD_DIR mounted into Sonarr

Run locally

python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
uvicorn app.main:app --host 0.0.0.0 --port 8000

Open:

  • http://localhost:8000/api?t=caps
  • http://localhost:8000/api?t=search&q=naruto

Docker

docker build -t yummyanime-torznab .
docker run --rm -p 8000:8000 yummyanime-torznab

Environment variables

  • YUMMY_BASE_URL (default: https://yummyanime.tv)
  • REQUEST_TIMEOUT (default: 20)
  • USER_AGENT (optional)
  • RESOLVE_DIRECT (default: 1, set to 0 to disable direct HLS resolution)
  • DOWNLOAD_CLIENT_BASE (optional, when set it rewrites enclosure URLs for Sonarr)
  • HLS_DOWNLOAD_DIR (default: /downloads/hls)
  • HLS_TEMP_DIR (optional)
  • HLS_OUTPUT_EXT (default: mp4)
  • HLS_FFMPEG_ARGS (optional extra ffmpeg args)
  • HLS_MAX_CONCURRENT (default: 1)
  • HLS_SELECT_BEST (default: 1, pick the highest bandwidth variant in master playlists)
  • TRANSMISSION_SESSION_ID (default: yummyanime-session)
  • TRANSMISSION_REQUIRE_SESSION (default: 0)
  • TRANSMISSION_USER / TRANSMISSION_PASS (optional basic auth for the RPC)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors