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

Overview

AnimDL Cover

AnimDL - Download & Stream Your Favorite Anime

AnimDL is an incredibly powerful tool for downloading and streaming anime.

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 streaming with mpv, an incredibly efficient, fast and light-weight dependency.

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.
  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 -q "one piece" -s 1
    
  1. Streaming One Piece on 4Anime from episode 1 by placing a search forehand.
  • animdl.py stream -q "4anime:one piece" -s 1
    
  1. Streaming One Piece on 9Anime with anime url from episode 1.
  • animdl.py stream -q "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 -q "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 -q "https://9anime.to/watch/one-piece.ov8" -s 1
    

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

Installation

Clone / download the repository and simply run the following command in the working directory:

pip install -r requirements.txt

Support: Python 3.6 and higher

Supported Sites

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

1.66s

MP4
9Anime 9anime 720p, 1080p

3.27s

MP4 / TS
Anime1 anime1 480p, 720p

23.29s

MP4
AnimeFreak animefreak 720p, 1080p

Untested MP4
AnimePahe animepahe 720p, 1080p

4.15s

TS
Animixplay animix 480p, 720p, 1080p

4.17s

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

2.34s

MP4 / TS
Twist twist 720p, 1080p

2.96s

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 needs an additional dependency known as mpv, you can download it from here.

If you're having issues with the installation of mpv, you can make an issue to recieve full help on its installation and usage.

Disclaimer

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

Comments
  • A Standalone executable with automated installation script and enhancement

    A Standalone executable with automated installation script and enhancement

    Hello, Got an eye on your project and it's great,there is one problem you need to have python installed and lets be real not every one who watches anime, is a programmer or there can be some other problem.i had a little time to spare from my exams, so i created a standalone executable for your script using Nuitka(a python compiler).it converts all the constructs to c,c++ so there is a significant boost over cpython.also i created a batch script(animedl_install.bat) for installation that automatically copies all the files to C:\Program Data and adds the executable to PATH.i could have created a installer but that would have needed some modification to your animedl.py file and i was lazy for that(but if you need i can create one).so after installation you just need to open cmd and type animedl to get started.i have uploaded the zip over my mega account.one more thing ,i recommend you also having a interactive user interface,for example if user uses it from cmd with arguments then run it like its running now but if user runs the executable or python script without giving any argument(i.e grab,download) then run it in a interactive mode with a menu like in this repo or better.its a sorry state script (using curses programming in python) i wrote a while back.supports selecting options from keyboard keys(UP/DOWN) and also mouse support.i can help you with the interactive menu,that is if i get any time from my exams😅.also one more thing ,add versioning to your git repo

    i hope that you go with some of my recommendations regards,

    pr: enhancements request: feature 
    opened by Justaus3r 15
  • New Quality Links not Working After Fix.

    New Quality Links not Working After Fix.

    After improving the quality links. it's giving me 302 redirect to another URL.

    And after the redirect that URL is not working?

    That URL giving me 403 Error!

    Can you please help me figure it out :)

    opened by NavDevP 11
  • [Feature request] parser-friendly stdout

    [Feature request] parser-friendly stdout

    Hey,

    First - amazing work. I'm very impressed by the efficiency of animdl. I have a request, which I would have PR'd myself if only I knew Python, but I believe it's reasonable enough to still ask.

    I'm going to make a wrapper around animdl for my own usage, and I'd love to avoid having to parse the CLI output. I was thinking that, given a flag, something like --json, all the output could be just JSON.

    Ideally, commands like animdl test, animdl grab "one piece" or animdl grab https://9anime.to/watch/one-piece.ov8 would only output JSON, without color or formatting (though that last command is pretty close).

    To be clear, I can totally parse everything even now, I just think it'd be very nice to have a reliable way to do so.

    opened by innocenzi 11
  • .animdl(configuration file not found)

    .animdl(configuration file not found)

    I have submitted this issue to inform that i wasnt able to find the configuration file nor the .animdl in the location which was mentioned and i even tried searching for it but it says not found

    inquiry: cli inquiry: api inquiry: code reason 
    opened by ILARIO-KAGOO 10
  • too bleeding edge and no older version available

    too bleeding edge and no older version available

    I'm on debian, and you are using libraries that are too new for my system.

    You have simply a master branch, no tags, no releases.... There's no easy way to use an older version. You should at least have some tags to segment the history so that we can download older versions. You could also consider not using libraries that are too new.

    bug: site error 
    opened by pirate486743186 9
  • Animxplay mega source not scraped

    Animxplay mega source not scraped

    Describe the bug

    animxplay when an episode is uploaded like 30 mmiuntes ago the source will be mega example from website html is

    "6":"https://mega.nz/embed/WD4XFQDD#Utyvsx4AicLnEQ5AxAzlgiwqIKEJkD3d6ZfhY-PGs3A"
    

    and the scraper doesnt get a link for it

    Did the error occur in between an active task (download / stream / grab)? all of them

    Screenshots [Optional] image

    Additional information

    • v1.6.21
    • animixplay.to
    bug: site error 
    opened by zezo357 8
  • Quality strings: How to select quality?

    Quality strings: How to select quality?

    Can't select the resolution in gogoanime When I tried to download anime it's starts downloading in 360p. Any solution...? I used this animdl download "gogoanime:castlevania" -q "[quality='720']" -r 1 Please reply

    inquiry: cli 
    opened by Sunderlevi 8
  • How to prefer no/soft subtitles?

    How to prefer no/soft subtitles?

    How do I tell animdl to prefer no/soft subtitles?

    Background: I'd like to use animdl for my Japanese immersion learning and stream anime without any subtitles so I can inject my own Japanese subtitle files into MPV. I was planning to use zoro since I believe it was the only source available that provides videos that don't have the subtitles baked into them.

    I scanned over the code and it seems the intelliq.py file is responsible for parsing the quality string but I couldn't figure out how to deal with subtitles.

    Could you tell me if/how this can be done? Thanks in advance.

    opened by Munzu 8
  • How do you use --idm actually?

    How do you use --idm actually?

    I use --idm but it doesn't seem to do anything and continuing download as normal via cmd.

    Also, some episodes also being downloaded with {number}ts/s and at the end, it only downloaded like 360p.

    opened by ajam123 8
  • Broken on python 3.11

    Broken on python 3.11

    On python 3.11 the program is broken, I always get this error: Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main File "<frozen runpy>", line 88, in _run_code File "C:\Users\onepi\scoop\apps\python\current\Scripts\animdl.exe\__main__.py", line 4, in <module> File "C:\Users\onepi\scoop\apps\python\current\Lib\site-packages\animdl\__main__.py", line 8, in <module> from .core.cli.commands import download, grab, schedule, search, stream, update File "C:\Users\onepi\scoop\apps\python\current\Lib\site-packages\animdl\core\cli\commands\download.py", line 7, in <module> from ...codebase import providers, sanitize_filename File "C:\Users\onepi\scoop\apps\python\current\Lib\site-packages\animdl\core\codebase\__init__.py", line 1, in <module> from .downloader import * File "C:\Users\onepi\scoop\apps\python\current\Lib\site-packages\animdl\core\codebase\downloader\__init__.py", line 1, in <module> from .handle import handle_download, sanitize_filename File "C:\Users\onepi\scoop\apps\python\current\Lib\site-packages\animdl\core\codebase\downloader\handle.py", line 7, in <module> import regex File "C:\Users\onepi\scoop\apps\python\current\Lib\site-packages\regex\__init__.py", line 1, in <module> from .regex import * File "C:\Users\onepi\scoop\apps\python\current\Lib\site-packages\regex\regex.py", line 419, in <module> import regex._regex_core as _regex_core File "C:\Users\onepi\scoop\apps\python\current\Lib\site-packages\regex\_regex_core.py", line 21, in <module> import regex._regex as _regex ModuleNotFoundError: No module named 'regex._regex'

    bug: site error 
    opened by BloodZero0 7
  • [Inquiry] Download speeds and external download support.

    [Inquiry] Download speeds and external download support.

    1. Can we increase the download speed or not
    2. A friend of mine used this command on termux on his Android phone it works perfectly for him and he asked if there's another way to download the anime eternally after grabbing the downloading link for eg:Idm lite,UC Browser,chrome and etc (Android)
    opened by Sunderlevi 7
  • Site request: YugenAnime

    Site request: YugenAnime

    From maintainers: Both labels have been handed to this issue, remove the inapplicable one. Your title should answer at least 3 of 5W1H questions for fastest responses.

    Is your feature request related to a problem? Please describe.

    Since Animixplay is down, YugenAnime is recommended as a great Animixplay alternative that can also scrape gogo and vrv.

    Describe the solution you'd like

    Add YugenAnime

    Describe alternatives you've considered

    Additional context

    https://yugen.to/

    request: feature request: site 
    opened by rollingmoai 1
  • Provider

    Provider "allanime": Specify dub over sub?

    The inquiry

    Long story short: How do I specify to download a dubbed version instead of the subbed one? The README didn't seem to feature a sub/dub selector.

    Thanks! ^^

    inquiry: cli inquiry: api inquiry: code reason 
    opened by IngwiePhoenix 4
  • Network Issue on using animdl

    Network Issue on using animdl

    I have a propper network connection in my linux distro but whenever im running a query im always getting :

    animdl-http: ERROR] ConnectTimeout('timed out'), this issue originates due to connection issues on your or the server's side. Retry after troubleshooting connection issues on your system. NoneType: None Can you help me out?

    bug: site error 
    opened by Granted07 3
  • Celluloid still broken.

    Celluloid still broken.

    Describe the bug With default_player set to celluloid, streaming immediately fails with

    File "/usr/bin/animdl", line 33, in <module>
        sys.exit(load_entry_point('animdl==1.6.36', 'console_scripts', 'animdl')())
      File "/usr/lib/python3.10/site-packages/click/core.py", line 1130, in __call__
        return self.main(*args, **kwargs)
      File "/usr/lib/python3.10/site-packages/click/core.py", line 1055, in main
        rv = self.invoke(ctx)
      File "/usr/lib/python3.10/site-packages/click/core.py", line 1657, in invoke
        return _process_result(sub_ctx.command.invoke(sub_ctx))
      File "/usr/lib/python3.10/site-packages/click/core.py", line 1404, in invoke
        return ctx.invoke(self.callback, **ctx.params)
      File "/usr/lib/python3.10/site-packages/click/core.py", line 760, in invoke
        return __callback(*args, **kwargs)
      File "/usr/lib/python3.10/site-packages/animdl/core/cli/helpers/logger.py", line 79, in __inner__
        return f(*args, **kwargs, log_file=log_file, log_level=log_level)
      File "/usr/lib/python3.10/site-packages/animdl/core/cli/helpers/banner.py", line 97, in __inner__
        return f(*args, log_level=log_level, log_file=log_file, **kwargs)
      File "/usr/lib/python3.10/site-packages/animdl/core/cli/commands/stream.py", line 145, in animdl_stream
        with streamer:
    AttributeError: __enter__
    
    bug: site error 
    opened by Ivordir 0
  • Using a different Provider Config

    Using a different Provider Config

    Apologies, but Im stupid. Everytime I try to set up the config, i keep getting errors in the Terminal and https://www.yamllint.com/ says its a valid yaml file but keep getting json errors. I tried the available directories for the config area as well. I basically just have "default_provider": "allanime" in it at the moment, removed the rest. Can someone tell me what im doing wrong pls XD (would be great to make an example config in the github so people know the basic layout) Terminal Response.txt

    inquiry: cli inquiry: api inquiry: code reason 
    opened by AppleCanon 5
  • MPC-HC as another player?

    MPC-HC as another player?

    From maintainers: Both labels have been handed to this issue, remove the inapplicable one. Your title should answer at least 3 of 5W1H questions for fastest responses.

    Is your feature request related to a problem? Please describe.

    So, I'm a person that doesn't really use VLC nor MPV, and until recent updates I've basically set VLC as MPC-HC.

    Describe the solution you'd like

    Dedicated support for MPC-HC, as it also allows streaming.

    Describe alternatives you've considered

    A way to use MPC-HC as another player alternative for streaming.

    Additional context

    It actually used to work, funnily enough.

    request: feature request: site 
    opened by RowanSkie 0
Releases(pre-release)
Owner
KR
Just another automation freak.
KR
Official implementation for the paper: Permutation Invariant Graph Generation via Score-Based Generative Modeling

Permutation Invariant Graph Generation via Score-Based Generative Modeling This repo contains the official implementation for the paper Permutation In

64 Dec 29, 2022
Tutoriais publicados nas nossas redes sociais para obtenção de dados, análises simples e outras tarefas relevantes no mercado financeiro.

Tutoriais Públicos Tutoriais publicados nas nossas redes sociais para obtenção de dados, análises simples e outras tarefas relevantes no mercado finan

Trading com Dados 68 Oct 15, 2022
Improving Factual Completeness and Consistency of Image-to-text Radiology Report Generation

Improving Factual Completeness and Consistency of Image-to-text Radiology Report Generation The reference code of Improving Factual Completeness and C

46 Dec 15, 2022
Repository for the Bias Benchmark for QA dataset.

BBQ Repository for the Bias Benchmark for QA dataset. Authors: Alicia Parrish, Angelica Chen, Nikita Nangia, Vishakh Padmakumar, Jason Phang, Jana Tho

ML² AT CILVR 18 Nov 18, 2022
Generating Anime Images by Implementing Deep Convolutional Generative Adversarial Networks paper

AnimeGAN - Deep Convolutional Generative Adverserial Network PyTorch implementation of DCGAN introduced in the paper: Unsupervised Representation Lear

Rohit Kukreja 23 Jul 21, 2022
Segmentation for medical image.

EfficientSegmentation Introduction EfficientSegmentation is an open source, PyTorch-based segmentation framework for 3D medical image. Features A whol

68 Nov 28, 2022
A library for researching neural networks compression and acceleration methods.

A library for researching neural networks compression and acceleration methods.

Intel Labs 100 Dec 29, 2022
HAR-stacked-residual-bidir-LSTMs - Deep stacked residual bidirectional LSTMs for HAR

HAR-stacked-residual-bidir-LSTM The project is based on this repository which is presented as a tutorial. It consists of Human Activity Recognition (H

Guillaume Chevalier 287 Dec 27, 2022
Spontaneous Facial Micro Expression Recognition using 3D Spatio-Temporal Convolutional Neural Networks

Spontaneous Facial Micro Expression Recognition using 3D Spatio-Temporal Convolutional Neural Networks Abstract Facial expression recognition in video

Bogireddy Sai Prasanna Teja Reddy 103 Dec 29, 2022
Hack Camera, Microphone, Location, Clipboard With Just a Link. Also, Get Many Details About Victim's Device. And So On...

An Automated Tool to Hack Victim's Camera, Microphone, Location, Clipboard. Has 2 Extra Features. Version 1.1 Update Fixed Some Major Bugs Data Saving

ToxicNoob 36 Jan 07, 2023
Fiddle is a Python-first configuration library particularly well suited to ML applications.

Fiddle Fiddle is a Python-first configuration library particularly well suited to ML applications. Fiddle enables deep configurability of parameters i

Google 227 Dec 26, 2022
(CVPR2021) Kaleido-BERT: Vision-Language Pre-training on Fashion Domain

Kaleido-BERT: Vision-Language Pre-training on Fashion Domain Mingchen Zhuge*, Dehong Gao*, Deng-Ping Fan#, Linbo Jin, Ben Chen, Haoming Zhou, Minghui

250 Jan 08, 2023
Unofficial PyTorch Implementation of Multi-Singer

Multi-Singer Unofficial PyTorch Implementation of Multi-Singer: Fast Multi-Singer Singing Voice Vocoder With A Large-Scale Corpus. Requirements See re

SunMail-hub 123 Dec 28, 2022
This repository is maintained for the scientific paper tittled " Study of keyword extraction techniques for Electric Double Layer Capacitor domain using text similarity indexes: An experimental analysis "

kwd-extraction-study This repository is maintained for the scientific paper tittled " Study of keyword extraction techniques for Electric Double Layer

ping 543f 1 Dec 05, 2022
Revisting Open World Object Detection

Revisting Open World Object Detection Installation See INSTALL.md. Dataset Our n

58 Dec 23, 2022
This tutorial repository is to introduce the functionality of KGTK to first-time users

Welcome to the KGTK notebook tutorial The goal of this tutorial repository is to introduce the functionality of KGTK to first-time users. The Knowledg

USC ISI I2 58 Dec 21, 2022
the code for paper "Energy-Based Open-World Uncertainty Modeling for Confidence Calibration"

EOW-Softmax This code is for the paper "Energy-Based Open-World Uncertainty Modeling for Confidence Calibration". Accepted by ICCV21. Usage Commnd exa

Yezhen Wang 36 Dec 02, 2022
Co-GAIL: Learning Diverse Strategies for Human-Robot Collaboration

CoGAIL Table of Content Overview Installation Dataset Training Evaluation Trained Checkpoints Acknowledgement Citations License Overview This reposito

Jeremy Wang 29 Dec 24, 2022
Official Pytorch implementation for 2021 ICCV paper "Learning Motion Priors for 4D Human Body Capture in 3D Scenes" and trained models / data

Learning Motion Priors for 4D Human Body Capture in 3D Scenes (LEMO) Official Pytorch implementation for 2021 ICCV (oral) paper "Learning Motion Prior

165 Dec 19, 2022
Official PyTorch(Geometric) implementation of DPGNN(DPGCN) in "Distance-wise Prototypical Graph Neural Network for Node Imbalance Classification"

DPGNN This repository is an official PyTorch(Geometric) implementation of DPGNN(DPGCN) in "Distance-wise Prototypical Graph Neural Network for Node Im

Yu Wang (Jack) 18 Oct 12, 2022