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
"Structure-Augmented Text Representation Learning for Efficient Knowledge Graph Completion"(WWW 2021)

STAR_KGC This repo contains the source code of the paper accepted by WWW'2021. "Structure-Augmented Text Representation Learning for Efficient Knowled

Bo Wang 60 Dec 26, 2022
Source code for the paper "PLOME: Pre-training with Misspelled Knowledge for Chinese Spelling Correction" in ACL2021

PLOME:Pre-training with Misspelled Knowledge for Chinese Spelling Correction (ACL2021) This repository provides the code and data of the work in ACL20

197 Nov 26, 2022
A collection of Google research projects related to Federated Learning and Federated Analytics.

Federated Research Federated Research is a collection of research projects related to Federated Learning and Federated Analytics. Federated learning i

Google Research 483 Jan 05, 2023
A general-purpose programming language, focused on simplicity, safety and stability.

The Rivet programming language A general-purpose programming language, focused on simplicity, safety and stability. Rivet's goal is to be a very power

The Rivet programming language 17 Dec 29, 2022
ICCV2021 Paper: AutoShape: Real-Time Shape-Aware Monocular 3D Object Detection

ICCV2021 Paper: AutoShape: Real-Time Shape-Aware Monocular 3D Object Detection

Zongdai 107 Dec 20, 2022
This repository contains code for the paper "Decoupling Representation and Classifier for Long-Tailed Recognition", published at ICLR 2020

Classifier-Balancing This repository contains code for the paper: Decoupling Representation and Classifier for Long-Tailed Recognition Bingyi Kang, Sa

Facebook Research 820 Dec 26, 2022
SOFT: Softmax-free Transformer with Linear Complexity, NeurIPS 2021 Spotlight

SOFT: Softmax-free Transformer with Linear Complexity SOFT: Softmax-free Transformer with Linear Complexity, Jiachen Lu, Jinghan Yao, Junge Zhang, Xia

Fudan Zhang Vision Group 272 Dec 25, 2022
CenterNet:Objects as Points目标检测模型在Pytorch当中的实现

CenterNet:Objects as Points目标检测模型在Pytorch当中的实现

Bubbliiiing 267 Dec 29, 2022
An official implementation of the paper Exploring Sequence Feature Alignment for Domain Adaptive Detection Transformers

Sequence Feature Alignment (SFA) By Wen Wang, Yang Cao, Jing Zhang, Fengxiang He, Zheng-jun Zha, Yonggang Wen, and Dacheng Tao This repository is an o

WangWen 79 Dec 24, 2022
Img-process-manual - Utilize Python Numpy and Matplotlib to realize OpenCV baisc image processing function

Img-process-manual - Opencv Library basic graphic processing algorithm coding reproduction based on Numpy and Matplotlib library

Jack_Shaw 2 Dec 12, 2022
Experiments and code to generate the GINC small-scale in-context learning dataset from "An Explanation for In-context Learning as Implicit Bayesian Inference"

GINC small-scale in-context learning dataset GINC (Generative In-Context learning Dataset) is a small-scale synthetic dataset for studying in-context

P-Lambda 29 Dec 19, 2022
🍷 Gracefully claim weekly free games and monthly content from Epic Store.

EPIC 免费人 🚀 优雅地领取 Epic 免费游戏 Introduction 👋 Epic AwesomeGamer 帮助玩家优雅地领取 Epic 免费游戏。 使用 「Epic免费人」可以实现如下需求: get:搬空游戏商店,获取所有常驻免费游戏与免费附加内容; claim:领取周免游戏及其免

571 Dec 28, 2022
Datasets, Transforms and Models specific to Computer Vision

vision Datasets, Transforms and Models specific to Computer Vision Installation First install the nightly version of OneFlow python3 -m pip install on

OneFlow 68 Dec 07, 2022
Hydra Lightning Template for Structured Configs

Hydra Lightning Template for Structured Configs Template for creating projects with pytorch-lightning and hydra. How to use this template? Create your

Model-driven Machine Learning 4 Jul 19, 2022
SPRING is a seq2seq model for Text-to-AMR and AMR-to-Text (AAAI2021).

SPRING This is the repo for SPRING (Symmetric ParsIng aNd Generation), a novel approach to semantic parsing and generation, presented at AAAI 2021. Wi

Sapienza NLP group 98 Dec 21, 2022
Official code implementation for "Personalized Federated Learning using Hypernetworks"

Personalized Federated Learning using Hypernetworks This is an official implementation of Personalized Federated Learning using Hypernetworks paper. [

Aviv Shamsian 121 Dec 25, 2022
:boar: :bear: Deep Learning based Python Library for Stock Market Prediction and Modelling

bulbea "Deep Learning based Python Library for Stock Market Prediction and Modelling." Table of Contents Installation Usage Documentation Dependencies

Achilles Rasquinha 1.8k Jan 05, 2023
Peek-a-Boo: What (More) is Disguised in a Randomly Weighted Neural Network, and How to Find It Efficiently

Peek-a-Boo: What (More) is Disguised in a Randomly Weighted Neural Network, and How to Find It Efficiently This repository is the official implementat

VITA 4 Dec 20, 2022
Parsing, analyzing, and comparing source code across many languages

Semantic semantic is a Haskell library and command line tool for parsing, analyzing, and comparing source code. In a hurry? Check out our documentatio

GitHub 8.6k Dec 28, 2022
Pytorch implementation of CVPR2020 paper “VectorNet: Encoding HD Maps and Agent Dynamics from Vectorized Representation”

VectorNet Re-implementation This is the unofficial pytorch implementation of CVPR2020 paper "VectorNet: Encoding HD Maps and Agent Dynamics from Vecto

120 Jan 06, 2023