Animeman is a service for fetching your MyAnimeList currently watching animes from Nyaa.si RSS feed.
Currently it manages qBittorrent through it's WebUI, creating and managing a category of torrents.
It automatically parses the torrent titles for tagging the show, season and episodes, while also searching in Nyaa.si for new releases.
- Automatic Downloads weekly releases from your WatchList
- Downloads batch releases: from complete series from your WatchList
- Tags: all torrent entries under the configured category with [
!Serie name
,S01
,E01
] as an example - Source and quality filter: you can specify resolution and HEVC tag
- Smart episode detection: you don't need to worry about downloading the same episode twice
- Tag existing torrents in the configured category
- Fetch your Currently Watching entries in MAL
- Search for the RSS feed for each entry in Nyaa.si
- Validate if the episode / season is already present in qBittorrent
- Add torrent to qBittorrent via WebUI.
The purpose of this tool is to download the latest RSS entry for each episode, so you can't prioritize quality or source for now. If you want series from one source or quality only, be sure to configure that.
Animeman will generate a boilerplate config for the first time.
You can set your own config path with the env CONFIG_PATH
.
# config.yaml
sources:
- source1
- source2
qualities:
- "1080 HEVC" # Only downloads HEVC that are 1080p
- "720"
category: Animes
downloadPath: /downloads/animes
createShowFolder: true
malUser: YOUR_USER
qBitTorrentHost: http://192.168.1.240:8088 # qBittorrent WebUI Host.
qBitTorrentUsername: admin # change with qBittorrent credentials.
qBitTorrentPassword: adminadmin
pollFrequency: 15m0s # How often should we seek for updates?
You will need at least go 1.21 for building the binary.
For the image you will need docker.
To build you can simply run make build
For the image you can run make image
You can download the latest release here.
You can run a first time for generating a boilerplate config, then you configure your config.yaml
.
Simply run CONFIG_PATH=./config.yaml ./animeman
Simply run animeman.exe
on the cmd
.
Support for linux/amd64
and linux/arm64
.
docker run -it -e CONFIG_PATH=/config/config.yaml -v ./config:/config ghcr.io/sonalys/animeman:latest
# docker-compose.yaml
version: "2.1"
services:
animeman:
image: ghcr.io/sonalys/animeman:latest
container_name: animeman
environment:
- CONFIG_PATH=/config/config.yaml
volumes:
- ./config:/config
docker compose -f docker-compose.yaml up -d animeman
There are a couple things that will be iterated:
- Improve batch torrent validation ( example: batches containing only part of the episodes of a season are blocking the download of the subsequent episodes )
- Use some calendar service like anilist.co for scanning Nyaa only when close to the release date
- Improve behavior for adding shows that are already released
- Improve interfaces for allowing other torrent clients
- Improve interfaces for allowing other RSS feeds and anime lists
Feel free to fork and open pull requests
Tests or roadmap features are very welcome, thanks.