Xanahol / Aniloader

Automated Anime-download from SubsPlease by using Web crawling, magnet links and qBittorrent. Update your entire library anytime with one command!

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Logo

Aniloader

Update your Anime-Library with one command!

Table of Contents
  1. About Aniloader
  2. Getting Started
  3. Usage
  4. Roadmap
  5. Contributing
  6. Contact

About Aniloader

As a frequent Anime-watcher and Series-Collector, who wants to stay up to date with the newest releases in an hourly fashion, I had to find a solution to the constant "Downloading all Episodes released that day in the evening". So I automated it. I hope that this Programm can lighten your day, even if just by a bit.

Not affiliated to source i.e. subsplease.org in any way
Support the official site subsplease.org

Here's why:

  • Your time to browse the NEW Anime of the day and downloading every single Episode manually can be used for much more important activities. Like watching more Anime!
  • You shouldn't have to organize your entire library manually just so Daddy-Plex is happy. It's a hassle. Let Aniloader take care of it for you.
  • You should just be able to enjoy the latest Anime right when it comes out. Let Aniloader do the delivery 📬

Of course, these are only some of the possible functions. So you can expect me to be adding more features soon. You may also suggest changes by forking this repo and creating a pull request or opening an issue.

Built With

Getting Started

Prerequisites

  • Plex
    Though not a necessity, I very much recommend the media-Player due to its versatility. Official Site

  • qBittorrent
    This Application uses the qBittorrent Web UI to manage the Magnet-Links found on SubsPlease. After installing it from the official site, make sure that the options->Web UI match this Picture:

    qBit

    IP address: Type your IPv4-address. You can find it by typing ipconfig in your console
    Port: Make sure this number matches with the torrent_port you defined in Aniloaders config.py
    Authentication: Define a username and password

  • How to disable Login:
    - Turn Bypass authentication for clients in whitelisted IP subnets on
    - Click on IP subnet whitelist...
    - Enter your IP address and click on Add subnet, then click on OK
    - Finally click on Apply

Installation

  1. Clone the repo
    git clone https://github.com/Xanahol/Aniloader.git
  2. Install requirements
    pip install -r .\requirements.txt
  3. Enter your settings in config.py
    #Example
    torrent_port = "8080"
    directories = ['C:\Example\Plex\Anime', 'D:\Example\Path\To\Plex\Anime']
    blacklist_do_not_download = ['Black Clover', 'Fire Force']
    blacklist_do_not_standardize = []

Usage

Here is how you can run the different modes and what they do:

Simple Download

Download a specific Anime / Update it in your library to the newest version!

To run, type:

python.exe .\main.py -m getAnime  

Aniloader connects to SubsPlease and the qBittorrent Web-UI.
  Feb-28-2021 18:55:38 - INFO - Connecting to Subsplease
  Feb-28-2021 18:55:38 - INFO - Connecting to the qBittorrent
  Feb-28-2021 18:55:38 - INFO - Your IP is: 192.168.1.135

Aniloader starts up by asking for your qBittorrent-credentials. Type them into the console and hit Enter.

  Please enter your credentials for qBittorrent:
  Username: Xana
  Password (Invisible): MyVerySafePassword123
  Feb-28-2021 18:55:38 - INFO - Login successful!

It then proceeds by asking you for the Anime name. Type the name of the Anime you would like to update/download. It works the most reliable when the title is directly taken from subsplease.org:

  Which anime would you like to download?
  Akudama Drive
  Feb-28-2021 18:55:38 - INFO - This anime is batched
  Feb-28-2021 18:55:38 - INFO - Collecting batch-link for Akudama Drive | Season 1
  Feb-28-2021 18:55:38 - INFO - Collected batch-link

After the Links have been collected, they are submitted to qBittorrent.
If the anime/season folder doesn't exist, Aniloader adds it (first defined dir in config.py). If one does, it uses the one already defined.

  Feb-28-2021 18:55:38 - INFO - Starting Download-Process...

  Feb-28-2021 18:55:38 - INFO - The anime Akudama Drive has 12 episodes so far
  Feb-28-2021 18:55:38 - INFO - Downloading them to C:\Example\Plex\Anime\Akudama Drive\Season 01
  Feb-28-2021 18:55:38 - INFO - 3 of which are not on the server yet
  Feb-28-2021 18:55:38 - INFO - Deleting out of date files
  Feb-28-2021 18:55:38 - INFO - Inserting Links to download
  Feb-28-2021 18:55:38 - INFO - Inserting Download Path
  Feb-28-2021 18:55:38 - INFO - Submitting Links
  Feb-28-2021 18:55:38 - INFO - Process finished for Akudama Drive

At this point, you can monitor what is being put in your download-queue and you can delete whatever you don't need.

Update New Episodes

Update your library with the freshest Anime of the day!

To run, type:

python.exe .\main.py -m updateNewEpisodes  

Aniloader connects to SubsPlease and the qBittorrent Web-UI.
  Feb-28-2021 18:55:38 - INFO - Connecting to Subsplease
  Feb-28-2021 18:55:38 - INFO - Connecting to the qBittorrent
  Feb-28-2021 18:55:38 - INFO - Your IP is: 192.168.1.135

Aniloader starts up by asking for your qBittorrent-credentials. Type them into the console and hit Enter.

  Please enter your credentials for qBittorrent:
  Username: Xana
  Password (Invisible): MyVerySafePassword123
  Feb-28-2021 18:55:38 - INFO - Login successful!

It then proceeds collecting the links of every Anime with the NEW-Tag:

  Feb-28-2021 18:55:38 - INFO - Found 14 Anime with the tag "New!"
  Feb-28-2021 18:55:38 - INFO - Collecting links for Non Non Biyori Nonstop | Season 1
  Feb-28-2021 18:55:38 - INFO - Collected 8 links
  Feb-28-2021 18:55:38 - INFO - Collecting links for Idoly Pride | Season 1
  Feb-28-2021 18:55:38 - INFO - Collected 8 links 
  ...

After the Links have been collected, they are submitted to qBittorrent.
If the anime/season folder doesn't exist, Aniloader adds it (first defined dir in config.py). If one does, it uses the one already defined.

  Feb-28-2021 18:55:38 - INFO - Starting Download-Process...

  Feb-28-2021 18:55:38 - INFO - The anime Non Non Biyori Nonstop has 8 episodes so far
  Feb-28-2021 18:55:38 - INFO - Downloading them to C:\Example\Plex\Anime\Non Non Biyori Nonstop\Season 01
  Feb-28-2021 18:55:38 - INFO - 1 of which are not on the server yet
  Feb-28-2021 18:55:38 - INFO - Inserting Links to download
  Feb-28-2021 18:55:38 - INFO - Inserting Download Path
  Feb-28-2021 18:55:38 - INFO - Submitting Links
  Feb-28-2021 18:55:38 - INFO - Process finished for Non Non Biyori Nonstop

  Feb-28-2021 18:55:38 - INFO - The anime Idoly Pride has 8 episodes so far
  Feb-28-2021 18:55:38 - INFO - Downloading them to C:\Example\Plex\Anime\Season 01
  Feb-28-2021 18:55:38 - INFO - 1 of which are not on the server yet
  Feb-28-2021 18:55:38 - INFO - Inserting Links to download
  Feb-28-2021 18:55:38 - INFO - Inserting Download Path
  Feb-28-2021 18:55:38 - INFO - Submitting Links
  Feb-28-2021 18:55:38 - INFO - Process finished for Idoly Pride
  ...

At this point, you can monitor what is being put in your download-queue and you can delete whatever you don't need.

Update Seasonal

Download all the Anime of the Season!

To run, type:

python.exe .\main.py -m getAllSeasonal  

From this point on it is pretty much exactly as Update New Episodes

Update All

Download all Anime!

To run, type:

python.exe .\main.py -m getAllAnime  

From this point on it is pretty much exactly as Update New Episodes

Standardize

Standardize your library for Plex!

To run, type:

python.exe .\main.py -m standard

Aniloader will go through your library and standardize them for Plex:

  Feb-28-2021 19:30:46 - INFO - Renaming Hataraku Saibou Black Season 1
  Feb-28-2021 19:30:46 - INFO - Renaming successful
  Feb-28-2021 19:30:46 - INFO - Renaming Healin Good Precure Season 1
  Feb-28-2021 19:30:46 - INFO - Renaming successful
  Feb-28-2021 19:30:46 - INFO - Renaming Heya Camp Season 1
  Feb-28-2021 19:30:46 - INFO - Renaming successful
  ...

Roadmap

See the open issues for a list of proposed features (and known issues).

Contributing

Contributions are what makes the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

Contact

Noël B. - @_noel_br

Project Link: https://github.com/Xanahol/Aniloader

About

Automated Anime-download from SubsPlease by using Web crawling, magnet links and qBittorrent. Update your entire library anytime with one command!


Languages

Language:Python 100.0%