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
Convert weight file.pth to weight file.blob

CONVERT YOUR MODEL TO IR FORMAT INSTALLATION OpenVino Toolkit Download openvinotoolkit 2021.3 version : Link Instruction of installation : Link Pytorc

Tran Anh Tuan 3 Nov 18, 2021
The DL Streamer Pipeline Zoo is a catalog of optimized media and media analytics pipelines.

The DL Streamer Pipeline Zoo is a catalog of optimized media and media analytics pipelines. It includes tools for downloading pipelines and their dependencies and tools for measuring their performace.

null 8 Dec 4, 2022
Official Tensorflow implementation of "M-LSD: Towards Light-weight and Real-time Line Segment Detection"

M-LSD: Towards Light-weight and Real-time Line Segment Detection Official Tensorflow implementation of "M-LSD: Towards Light-weight and Real-time Line

NAVER/LINE Vision 357 Jan 4, 2023
Pytorch implementation of "M-LSD: Towards Light-weight and Real-time Line Segment Detection"

M-LSD: Towards Light-weight and Real-time Line Segment Detection Pytorch implementation of "M-LSD: Towards Light-weight and Real-time Line Segment Det

null 123 Jan 4, 2023
DeLighT: Very Deep and Light-Weight Transformers

DeLighT: Very Deep and Light-weight Transformers This repository contains the source code of our work on building efficient sequence models: DeFINE (I

Sachin Mehta 440 Dec 18, 2022
Unofficial PyTorch implementation of MobileViT based on paper "MobileViT: Light-weight, General-purpose, and Mobile-friendly Vision Transformer".

MobileViT RegNet Unofficial PyTorch implementation of MobileViT based on paper MOBILEVIT: LIGHT-WEIGHT, GENERAL-PURPOSE, AND MOBILE-FRIENDLY VISION TR

Hong-Jia Chen 91 Dec 2, 2022
A light weight data augmentation tool for training CNNs and Viola Jones detectors

hey-daug A light weight data augmentation tool for training CNNs and Viola Jones detectors (Haar Cascades). This tool inflates your data by up to six

Jaiyam Sharma 2 Nov 23, 2019
A light-weight image labelling tool for Python designed for creating segmentation data sets.

An image labelling tool for creating segmentation data sets, for Django and Flask.

null 117 Nov 21, 2022
Light-weight network, depth estimation, knowledge distillation, real-time depth estimation, auxiliary data.

light-weight-depth-estimation Boosting Light-Weight Depth Estimation Via Knowledge Distillation, https://arxiv.org/abs/2105.06143 Junjie Hu, Chenyou F

Junjie Hu 13 Dec 10, 2022
Little tool in python to watch anime from the terminal (the better way to watch anime)

ani-cli Script working again :), thanks to the fork by Dink4n for the alternative approach to by pass the captcha on gogoanime A cli to browse and wat

Harshith 4.5k Dec 31, 2022
A highly efficient and modular implementation of Gaussian Processes in PyTorch

GPyTorch GPyTorch is a Gaussian process library implemented using PyTorch. GPyTorch is designed for creating scalable, flexible, and modular Gaussian

null 3k Jan 2, 2023
Paddle implementation for "Highly Efficient Knowledge Graph Embedding Learning with Closed-Form Orthogonal Procrustes Analysis" (NAACL 2021)

ProcrustEs-KGE Paddle implementation for Highly Efficient Knowledge Graph Embedding Learning with Orthogonal Procrustes Analysis ?? A more detailed re

Lincedo Lab 4 Jun 9, 2021
Not All Points Are Equal: Learning Highly Efficient Point-based Detectors for 3D LiDAR Point Clouds (CVPR 2022, Oral)

Not All Points Are Equal: Learning Highly Efficient Point-based Detectors for 3D LiDAR Point Clouds (CVPR 2022, Oral) This is the official implementat

Yifan Zhang 259 Dec 25, 2022
🔮 A refreshing functional take on deep learning, compatible with your favorite libraries

Thinc: A refreshing functional take on deep learning, compatible with your favorite libraries From the makers of spaCy, Prodigy and FastAPI Thinc is a

Explosion 2.6k Dec 30, 2022
Official code repository of the paper Learning Associative Inference Using Fast Weight Memory by Schlag et al.

Learning Associative Inference Using Fast Weight Memory This repository contains the offical code for the paper Learning Associative Inference Using F

Imanol Schlag 18 Oct 12, 2022
Official repository for the paper "Going Beyond Linear Transformers with Recurrent Fast Weight Programmers"

Recurrent Fast Weight Programmers This is the official repository containing the code we used to produce the experimental results reported in the pape

IDSIA 36 Nov 15, 2022
Accommodating supervised learning algorithms for the historical prices of the world's favorite cryptocurrency and boosting it through LightGBM.

Accommodating supervised learning algorithms for the historical prices of the world's favorite cryptocurrency and boosting it through LightGBM.

null 1 Nov 27, 2021
A light and fast one class detection framework for edge devices. We provide face detector, head detector, pedestrian detector, vehicle detector......

A Light and Fast Face Detector for Edge Devices Big News: LFD, which is a big update of LFFD, now is released (2021.03.09). It is strongly recommended

YonghaoHe 1.3k Dec 25, 2022
A clear, concise, simple yet powerful and efficient API for deep learning.

The Gluon API Specification The Gluon API specification is an effort to improve speed, flexibility, and accessibility of deep learning technology for

Gluon API 2.3k Dec 17, 2022