All Projects → MainKronos → Sonarr-AnimeDownloader

MainKronos / Sonarr-AnimeDownloader

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

Programming Languages

python
139335 projects - #7 most used programming language
javascript
184084 projects - #8 most used programming language
CSS
56736 projects

Projects that are alternatives of or similar to Sonarr-AnimeDownloader

anime-dl
ADLCore is an API and app for the download of novels, manga, and anime from a plethora of sites. It works on Windows, Linux, OSX, and Android.
Stars: ✭ 70 (+150%)
Mutual labels:  downloader, anime, anime-downloader
twist-dl
Simple Twist.moe/AnimeTwist anime downloader in CLI with support for batch downloading.
Stars: ✭ 28 (+0%)
Mutual labels:  downloader, anime, anime-downloader
anime-scraper
[partially working] Scrape and add anime episode stream URLs to uGet (Linux) or IDM (Windows) ~ Python3
Stars: ✭ 21 (-25%)
Mutual labels:  downloader, anime, anime-downloader
nyaascraper
An application to scrape and open magnet links for fansub groups from nyaa.si where batches don't already exist.
Stars: ✭ 34 (+21.43%)
Mutual labels:  downloader, anime, anime-downloader
adl
🍿 anime-downloader + trackma wrapper
Stars: ✭ 91 (+225%)
Mutual labels:  anime, anime-downloader
kurby
A modern CLI to download animes automatically from Twist
Stars: ✭ 49 (+75%)
Mutual labels:  anime, anime-downloader
anilabx
AniLabX - android app for watching anime/dramas/cartoons and reading manga/comics/light novels
Stars: ✭ 54 (+92.86%)
Mutual labels:  anime, anime-downloader
moe.TV
watch bangumi on your tvOS
Stars: ✭ 25 (-10.71%)
Mutual labels:  anime, sonarr
CR-dl
A Crunchyroll downloader
Stars: ✭ 88 (+214.29%)
Mutual labels:  anime, anime-downloader
OtakuWorld
Anime Watcher, Manga Reader, and Novel Reader as three separate apps, same UI
Stars: ✭ 123 (+339.29%)
Mutual labels:  anime, anime-downloader
super-anime-downloader
A program which takes an Anime name or URL and downloads the specified range of episodes.
Stars: ✭ 26 (-7.14%)
Mutual labels:  downloader, anime-downloader
KGrabber
Userscript for extracting links from kissanime.ru and similar sites.
Stars: ✭ 29 (+3.57%)
Mutual labels:  downloader, anime
Horrible Downloader
horriblesubs.info python API and CLI
Stars: ✭ 28 (+0%)
Mutual labels:  downloader, anime
Anime Downloader
A simple but powerful anime downloader and streamer.
Stars: ✭ 1,155 (+4025%)
Mutual labels:  downloader, anime
nipper
🌶 💽 Nipper - Youtube playlist (& video) ripper
Stars: ✭ 23 (-17.86%)
Mutual labels:  downloader
soulseek-docker
🐳 Soulseek Over noVNC Docker Container
Stars: ✭ 149 (+432.14%)
Mutual labels:  container
qt-downloader
CLI to download Qt on headless systems
Stars: ✭ 39 (+39.29%)
Mutual labels:  downloader
pluralsight-downloader-chrome-extension
[WIP] A chrome extension to download and track Pluralsight courses. 😈
Stars: ✭ 227 (+710.71%)
Mutual labels:  downloader
scif
scientific filesystem: a filesystem organization for scientific software and metadata
Stars: ✭ 30 (+7.14%)
Mutual labels:  container
sponge
sponge is a website crawler and links downloader command-line tool
Stars: ✭ 37 (+32.14%)
Mutual labels:  downloader

wallpaper

Version 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.

Se il progetto ti è piaciuto aggiungi una STELLA. 👈(゚ヮ゚👈)

Presentazione

Utilizzo

Per avviare il container è possibile farlo attraverso docker cli o tramite docker-compose.

docker-compose (clicca qui per maggiori informazioni)

version: '3.9'
services:
  mainkronos:
    container_name: AnimeDownloader
    volumes:
      - '/path/to/data:/script/json/'
      - '/path/to/animeSeries:/tv'
      - '/path/to/downloads:/downloads'
      - '/path/to/connections:/script/connections'
    ports:
      - '{port}:5000'
    environment:
      - 'SONARR_URL=http://{url}:{port}'
      - 'API_KEY=1234567890abcdefghijklmn'
      - 'TZ=Europe/Rome'
      - 'PUID=1000'
      - 'PGID=1000'
    image: 'ghcr.io/mainkronos/anime_downloader:latest'

docker cli (clicca qui per maggiori informazioni)

docker run -d \
    --name=AnimeDownloader \
    -v /path/to/data:/script/json/ \
    -v /path/to/animeSeries:/tv \
    -v /path/to/downloads:/downloads \
    -v /path/to/connections:/script/connections \
    -p {port}:5000 \
    --env SONARR_URL='http://{url}:{port}' \
    --env API_KEY='1234567890abcdefghijklmn' \
    --env TZ=Europe/Rome \
    --env PUID=1000 \
    --env PGID=1000 \
    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)
-v /script/connections Contiene file di configurazione per le Connections
-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 TZ ✔️ Specifica un fuso orario, è necessario per il corretto funzionamento del Container
--env PUID Specifica UserID. Vedi sotto per maggiori informazioni
--env PGID Specifica GroupID. Vedi sotto per maggiori informazioni

/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

Ad esempio se su Sonarr la cartella tv è mappata così: -v /path/to/tvseries:/tv allora su anime_downloader sarà -v /path/to/animeSeries:/tv, oppure se è -v /path/to/tvseries:/miatv/perf/miacartella diventerà -v /path/to/animeSeries:/miatv/perf/miacartella...

User / Group Identifiers

Quando si utilizzano i volumi (-v flag) possono sorgere dei problemi di autorizzazione tra il sistema operativo host e il contenitore, il problema può essere evitato specificando il PUID utente e il PGID di gruppo.

Assicurati che tutte le directory di volume sull'host siano di proprietà dello stesso utente che hai specificato e qualsiasi problema di autorizzazione svanirà come per magia.

In questo caso PUID=1000 e PGID=1000, per trovare il tuo usa id user come di seguito:

$ id username
  uid=1000(dockeruser) gid=1000(dockeruser) groups=1000(dockeruser)

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                   ### Interfaccia Web
 │   │   ├── ...
 │   │  ...
 │   │
 │   ├── json
 │   │    ├── settings.json    ### Impostazioni
 │   │    ├── table.json       ### Tabella di conversione
 │   │    ├── connections.json ### Conections
 │   │    └── tags.json        ### Tag
 │   │                      
 │   ├── connections
 │   │    ├── telegram.sh      ### Connessione a Telegram
 │   │   ...                   ### Altre Connessioni
 │   │                     
 │   ├── start.sh              ### Script di Avvio
 │   │ 
 │  ...                        ### Altri file utili
...  

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.
Modalità Tag Indica la modalità di gestione dei tag associati agli anime su sonarr. Se è in moalità BLACKLIST le serie che hanno almeno un tag attivo nella sezione Tag Personalizzati saranno escluse dalla ricerca; se è in modalità WHITELIST le serie che NON hanno almeno un tag attivo nella sezione Tag Personalizzati saranno escluse. NOTA: Se è in modalità WHITELIST e non è stata aggiunto nessun tag alla sezione Tag Personalizzati o nessuno è attivo allora TUTTi gli anime saranno esclusi.

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.

Riguarda un problema della libreria AnimeWorld-API, quindi segnalatelo il prima possibile sotto la sezione Issues della libreria, in modo tale che possa risolverlo al più presto.

FAQ

Le frequently asked questions si trovano qui.

Star History

Star History Chart

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].