Skip to content

Krainium/Anidl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 

Repository files navigation

Anidl

A terminal anime downloader built on top of AllAnime. Single Python file, no setup beyond two packages.

  █████╗ ███╗  ██╗██╗██████╗ ██╗
 ██╔══██╗████╗ ██║██║██╔══██╗██║
 ███████║██╔██╗██║██║██║  ██║██║
 ██╔══██║██║╚████║██║██║  ██║██║
 ██║  ██║██║ ╚███║██║██████╔╝███████╗
 ╚═╝  ╚═╝╚═╝  ╚══╝╚═╝╚═════╝ ╚══════╝
  AllAnime Downloader   github.com/krainium

Requirements

  • Python 3.11+
  • requests
  • rich
pip install requests rich

Running it

Clone the repo and run:

git clone https://github.com/Krainium/Anidl.git
cd Anidl
python3 anidl.py

The script starts an interactive session:

  [>] Anime name: jujutsu kaisen

  ──────────────────────────────────────────────────────────────
  Search  —  "jujutsu kaisen"  [SUB]
  ──────────────────────────────────────────────────────────────

  [*] Querying AllAnime ...
  [+] 8 result(s) found

      #   Title                              Eps
  ──────────────────────────────────────────────────────────────
     1   Jujutsu Kaisen                      24
     2   Jujutsu Kaisen Season 2             23
     3   Jujutsu Kaisen 0                     1
     4   Jujutsu Kaisen Season 3             13
  ──────────────────────────────────────────────────────────────

  [>] Select (1–8): 1

  ──────────────────────────────────────────────────────────────
  Episodes  —  Jujutsu Kaisen
  ──────────────────────────────────────────────────────────────

  [+] 24 episode(s) available
  [*] Downloading episodes 1–24  (24 total)
  [*] Output → ~/Videos/Anime/Jujutsu Kaisen

  ──────────────────────────────────────────────────────────────
  Downloading
  ──────────────────────────────────────────────────────────────

  EP-0001 ━━━━━━━━━━━━━━━━━━━━  394.2 MB  57.3 MB/s  0:00:05
  EP-0002 ━━━━━━━━━━━━━━━━━━━━  391.7 MB  54.1 MB/s  0:00:06
  EP-0003 ━━━━━━━━━━━━━━━━━━━━  388.0 MB  55.8 MB/s  0:00:05

You can also pass the show name directly to skip the first prompt:

python3 anidl.py "jujutsu kaisen"

Flags

python3 anidl.py [anime name] [options]
Flag Default What it does
--dub off Download dubbed instead of subbed
--from N 1 Start at episode N
--to N last Stop at episode N
--output PATH ~/Videos/Anime/<title> Where to save files
--jobs N 4 Parallel download workers
--worst off Grab lowest quality instead of highest

Examples

Full series download:

python3 anidl.py "one punch man"

Specific episode range, dubbed:

python3 anidl.py "demon slayer" --dub --from 5 --to 12

Custom folder with 8 workers:

python3 anidl.py "bleach" --output ~/Downloads/Bleach --jobs 8

Lowest quality to save space:

python3 anidl.py "naruto" --worst

Pick episodes from the results list then download a specific range:

python3 anidl.py "bleach" --from 5 --to 12

The script will show you the full search results. Pick the exact show from the list, then it downloads only episodes 5 through 12.


Notes

  • Files save as EP-0001.mp4, EP-0002.mp4 etc. Re-running skips anything already downloaded.
  • Direct MP4 is preferred over HLS when available. HLS falls back automatically.
  • Each failed episode retries up to 5 times before being skipped.
  • Downloads write to a temp file first then rename atomically — no partial files left behind if something cuts out.

About

A terminal anime downloader built on top of AllAnime. Single Python file, no setup beyond two packages.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages