/animdl

A highly efficient, fast, powerful and light-weight anime downloader and streamer for your favorite anime.

Primary LanguagePython

AnimDL Cover

AnimDL - Download & Stream Your Favorite Anime

Installation

Installing animdl

AnimDL has 3 versions that can be used, a stable version that can be installed via Python PIP, the release version which is much standalone and an unstable version that gets code modification almost daily for immediate bug fixing.

The stable version can be installed with the following command:

pip install git+https://github.com/justfoolingaround/animdl-install

The unstable version can be installed by cloning / downloading the repository with the following command in the working directory (if you are on Windows then make sure that you have git installed):

# Clone the repo
git clone https://github.com/justfoolingaround/animdl 

# Install all the dependencies
pip install -r requirements.txt 

Support: Python 3.6 and higher

Installing mpv

Windows:

  • The easiest way to install mpv is by using chocolatey package manager, it's an amazing tool can that be installed by following their official documentation.
  • After chocolatey is installed, mpv can be installed through a console window (For example: cmd) with an admininstrator priviledge by the command: choco install mpv.

Linux:

  • For users using a Debian-based distro, mpv can be installed using sudo apt install mpv.
  • For users using an Arch-based distro, mpv can be installed using sudo pacman -S mpv.

Mac:

  • mpv can be installed using brew install mpv.

Core features

  • Abuses the developer's knowledge of internal streaming mechanisms in various different sites to hunt down high quality stream links.
  • Doesn't make a single unnecessary request; the official site may make 1k requests, this tool makes 3~5.
  • Doesn't use any heavy dependencies such as Selenium or Javascript Evaluators.
  • Effectively bypasses DRMs in several streaming sites.
  • Integrates AnimeFillerList so that the user can filter out any fillers from downloading or streaming.
  • Integrates powerful, fast and efficient internal HLS downloader.
  • Only tool in existence to bypass 9Anime's cloudflare protection.
  • Operates with full efficiency and speed by using Python's generator functions to their full capacity.
  • Supports downloading with Internet Download Manager optionally.
  • Supports streaming with mpv, an incredibly efficient, fast and light-weight dependency.
  • Supports streaming with vlc, which might require some configurations to make it work.

Usage

animdl.py [OPTIONS] COMMAND [ARGS]...

Options:
  --help  Show this message and exit.       

Commands:
  continue  Continue your downloads or stream from where t'was left.
  download  Download your favorite anime by query.
  grab      Stream the stream links to the stdout stream for external usage.
  schedule  Know which animes are going over the air when.
  stream    Stream your favorite anime by query.

Examples:

  1. Streaming One Piece on 9Anime from episode 1 by placing a search forehand:
  • animdl.py stream "one piece" -s 1
    
  1. Streaming One Piece on AnimeOut from episode 1 by placing a search forehand.
  • animdl.py stream "4anime:one piece" -s 1
    
  1. Streaming One Piece on 9Anime with anime url from episode 1.
  • animdl.py stream "https://9anime.to/watch/one-piece.ov8" -s 1
    
  1. Streaming with the setting of 3 with AnimeFillerList integration that filters out fillers.
  • animdl.py stream "https://9anime.to/watch/one-piece.ov8" -s 1 -fl "https://animefillerlist.com/shows/one-piece" --fillers
    
  1. Continuing a previous stream / download session without worrying about the command.
  • animdl.py continue
    
  1. Scraping the episode stream links of One Piece from 9Anime to stdout without downloading:
  • animdl.py grab "https://9anime.to/watch/one-piece.ov8" -s 1
    

Downloading is the same as the examples 1-4, except the download command is used.

Supported Sites

Website Searcher Prefix Available Qualities Status Content Fetch Speed
(Per Episode)
Content Extension
9Anime 9anime 720p, 1080p

3.27s

MP4 / TS
Anime1 anime1 480p, 720p

23.29s

MP4
AnimePahe animepahe 720p, 1080p

4.15s

MP4
AnimeOut animeout 720p, 1080p

0s

MKV
Animixplay animixplay 480p, 720p, 1080p

4.17s

MP4 / TS
GogoAnime gogoanime 480p, 720p, 1080p

2.34s

MP4 / TS
Tenshi tenshi 720p, 1080p

0s

MP4
Twist twist 720p, 1080p

0s

MP4

More sites?

Currently, there are no plans to add more sites as AnimDL supports top sites that stream anime. However, this does not mean that this is it for the sites. You can raise as many issues as possible for requesting a new site.

Note: Your request may be denied in case of Cloudflare protections and powerful anti-bot scripts in the site.

Streaming

Streaming will require either mpv or vlc. You will require these to be in your PATH, if not, simply make a animdl_config.json on the working directory and add these configurations appropriately:

{
    "players": {
            "vlc": {
                "executable": "<path-to-vlc>",
            },
            "mpv": {
                "executable": "<path-to-mpv>",
                "opts": [],
        },   
    }
}

Disclaimer

Downloading or streaming copyrighted materials might be illegal in your country.