Skip to content

It is a Docker Container that uses Sonarr to download anime from AnimeWorld site (ITALY).

License

Notifications You must be signed in to change notification settings

grievertime/Sonarr-AnimeDownloader

 
 

Repository files navigation

wallpaper

Version Docker Pull Issues License Stars

This documentation is in Italian because this program downloads anime with italian subtitles only.

Questo Docker Container funziona come un'estenzione di Sonarr; serve a scaricare in automatico tutti gli anime che non vengono condivisi tramite torrent. Il Container si interfaccia con Sonarr per avere informazini riguardante gli anime mancanti sull'hard-disk, viene poi fatta una ricerca se sono presenti sul sito AnimeWorld, e se ci sono li scarica e li posiziona nella cartella indicata da Sonarr.

L'utilizzo di Sonarr è necessario. Il Docker Container di Sonarr può essere trovato qui

Il progetto utilizza la libreria animeworld, il codice sorgente e la documentazione è reperibile qui

Le FAQ si trovano qui

Presentazione

Utilizzo

docker run -d \
    --name=AnimeDownloader \
    -v /path/to/data:/script/json/ \
    -v /path/to/animeSeries:/tv \
    -v /path/to/downloads:/downloads \
    -p {port}:5000 \
    --env SONARR_URL='http://{url}:{port}' \
    --env API_KEY='1234567890abcdefghijklmn' \
    --env CHAT_ID=123456789 \
    --env BOT_TOKEN='123456789:ABCDEFGHIJKLM-abc_AbCdEfGhI12345678' \
    --env TZ=Europe/Rome \
    ghcr.io/mainkronos/anime_downloader:latest

Parametri

Le immagini del Docker Container vengono configurate utilizzando i parametri passati in fase di esecuzione (come quelli sopra). Questi parametri sono separati da due punti e indicano rispettivamente <esterno>:<interno> al Container. Ad esempio, -v /path/to/data:/script/json/ indica che la cartella nella posizione /path/to/data si trova in /script/json/ all'interno del Container, quindi tutto il contento di /path/to/data è anche in /script/json/ all'interno del Container.

Parametro Necessario Funzione
--name Indica il nome del Container, può essere qualsiasi cosa
-v /tv ✔️ Posizione della libreria Anime su disco, vedi sotto per ulteriori informazioni
-v /script/json/ ✔️ Contiene file di configurazione
-v /downloads Cartella dove verranno scaricati tutti gli episodi (poi verranno spostati nella giusta cartella di destinazione)
-p {port}:5000 ✔️ La porta per la pagina web
--env SONARR_URL ✔️ Url di Sonarr es. http://localhost:8989
--env API_KEY ✔️ Api key di sonarr, vedi sotto per ulteriori informazioni
--env CHAT_ID Chat ID di telegram, vedi sotto per ulteriori informazioni
--env BOT_TOKEN Token per il Bot di telegram, vedi sotto per ulteriori informazioni
--env TZ ✔️ Specifica un fuso orario, è necessario per il corretto funzionamento del Container

/tv

È importante, per il corretto funzionamento del container, che il volume legato alla directory /tv sia identico a quello usato per la configurazione di Sonarr. Esempio

docker run -d \
  --name=sonarr \
  -e PUID=1000 \
  -e PGID=1000 \
  -e TZ=Europe/London \
  -p 8989:8989 \
  -v /path/to/data:/config \
  -v /path/to/tvseries:/tv \ <--------------------------------------------- IMPORTANTE
  -v /path/to/downloadclient-downloads:/downloads \
  --restart unless-stopped \
  ghcr.io/linuxserver/sonarr

Avvio

table.json

Il programma, per funzionare, necessita di un file che si chiama table.json, si trova nella cartella /script/json/ all'interno del Container. Questo file indica al programma a quale nome di AnimeWorld corrisponde il titolo della serie su Sonarr. Per esempio abbiamo che il titolo del nostro anime su AnimeWorld è Sword Art Online 3: Alicization, mentre su Sonarr è indicato come stagione 3 di Sword Art Online, tale informazione deve essere formattata (come mostrato qui sotto) e inserita nel file table.json in modo tale che il programma riesca a capire dove andare a cercare gli episodi su AnimeWorld.

È altamente consigliato usare la pagina web alla porta 5000 per l'inserimento di queste informazioni. Tabella Di Conversione

In ogni caso la formattazione di come sono inserite le informazioni nel file table.json sono riportate quà sotto, sottoforma di esempio:

[
    ...
    {   
        "absolute": false,
        "title": "Sword Art Online",
        "seasons": {
            "1": [
                "https://www.animeworld.tv/play/sword-art-online.N0onT"
            ],
            "2": [
                "https://www.animeworld.tv/play/sword-art-online-2._NcG6"
            ]     
        }
    },
    ...
]

Ho caricato anche la mia configurazione che utilizzo, può essere trovata qui. Questa table.json può essere usata come esempio o come prorio database da aggiornare poi personalmente con i propri Anime. Ad ogni stagione ne caricherò una più aggiornata.

La struttura interna del Container è così strutturata:

...
├── downloads  ### Cartella di download
├── script
│   ├── app    ### Pagina Web
│   │   ├── ...
│   │  ...
│   ├── main.py    ### Programma principale
│   └── json
│       ├── settings.json    ### Impostazioni
│       └── table.json    ### Tabella di conversione
...        

Settings

Settings

Parametro Descrizione
Livello del Log Indica quale tipo di messaggi mostrare nei log. Sconsiglio fortemente di impostare un livello superiore a INFO.
Rinomina Episodi Indica se gli episodi devono essere rinominati secondo la formattazione impostata su Sonarr (http://sonarr-url/settings/mediamanagement in Episode Naming).
Sposta Episodi Indica se gli episodi devono essere spostati nella cartella indicata da Sonarr oppure lasciarli nella cartella interna al container (/downloads).
Intervallo Scan Indica quanto tempo deve passare (in minuti) tra una ricerca degli episodi mancanti e un'altra, e in caso di risultati il download.
Auto Ricerca Link !!!MODALITÀ SPERIMENTALE!!! Ricerca automaticamente i link che non sono presenti nella tabella di conversione.

Le impostazioni si trovano in http://localhost:5000/settings

Problemi

In caso di problemi o errori controllare prima di tutto i log del Container, di solito lì è indicato il problema; altrimenti segnalarlo su GitHub in questo repository sotto la sezione Issues.

Importante

Se visualizzate questo tipo di errore:

🅰🅻🅴🆁🆃: Il sito è cambiato, di conseguenza la libreria è DEPRECATA.

Segnalatelo il prima possibile sotto la sezione Issues, in modo tale che possa risolverlo al più presto.

FAQ

Le frequently asked questions si trovano qui.

Support

About

It is a Docker Container that uses Sonarr to download anime from AnimeWorld site (ITALY).

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 43.2%
  • Python 38.3%
  • CSS 17.1%
  • Dockerfile 1.4%