AniWorld Downloader is a command-line tool designed to download and stream anime content from aniworld.to. It allows users to fetch single episodes, download seasons, and organize downloads into structured folders. Compatible with Windows, macOS, and Linux, AniWorld Downloader offers a seamless experience across different operating systems.
- Features
- Installation
- Uninstallation
- Usage
- Examples
- Anime4K Setup
- TODO
- Contributing
- Credits
- License
- Support
- Download Episodes: Fetch individual episodes or seasons.
- Streaming: Watch episodes directly with integrated players.
- Netflix Experience: Automatically play or download the next episode in a series.
- Multiple Providers: Support for Vidoza, VOE, Streamtape, and
Doodstream(coming soon). - Language Options: Choose between German Dub, English Sub, and German Subtitles.
- Aniskip Integration: Automatically skip intros and outros (Unstable yet).
- Syncplay Support: Sync playback with friends for a shared viewing experience.
- Proxy Support: Configure HTTP proxies for your downloads.
Ensure you have Python 3.8 or higher installed. Then, install AniWorld Downloader using pip:
pip install aniworld
To update AniWorld Downloader to the latest version:
pip install -U aniworld
To install the latest development changes on GitHub:
pip install --upgrade git+https://github.com/phoenixthrush/AniWorld-Downloader.git#egg=aniworld
To update, simply rerun the command above. It's recommended to do this regularly as these builds are often unstable.
Or if you want the files locally (assuming you have Git installed):
git clone https://github.com/phoenixthrush/AniWorld-Downloader aniworld
pip install -U -e ./aniworld
If you have the files locally using the second option above, you need to keep it updated by doing this regularly:
git -C aniworld pull
To uninstall AniWorld Downloader:
aniworld --uninstall
Launch AniWorld Downloader with an interactive menu:
aniworld
AniWorld Downloader provides various command-line options to download and stream anime without using the interactive menu. This also allows users to utilize advanced options that can't be selected through the normal menu, such as (--aniskip, --keep-watching, --syncplay-password, ...).
Download episode 1 of "Demon Slayer: Kimetsu no Yaiba":
aniworld --episode https://aniworld.to/anime/stream/demon-slayer-kimetsu-no-yaiba/staffel-1/episode-1
Download multiple episodes of "Demon Slayer":
aniworld --episode https://aniworld.to/anime/stream/demon-slayer-kimetsu-no-yaiba/staffel-1/episode-1 https://aniworld.to/anime/stream/demon-slayer-kimetsu-no-yaiba/staffel-1/episode-2
Watch an episode while skipping intros and outros if available:
aniworld --episode https://aniworld.to/anime/stream/demon-slayer-kimetsu-no-yaiba/staffel-1/episode-1 --action Watch --aniskip
Syncplay a specific episode with friends:
aniworld --episode https://aniworld.to/anime/stream/demon-slayer-kimetsu-no-yaiba/staffel-1/episode-1 --action Syncplay --keep-watching
If you want to have different languages you can specify it your own and your friends don't have to use the same language as you.
You want to watch it in German Dub you can specify it like this:
aniworld --episode https://aniworld.to/anime/stream/demon-slayer-kimetsu-no-yaiba/staffel-1/episode-1 --action Syncplay --keep-watching --language "German Dub" --aniskip
Your friend wants to watch it in English Sub you can specify it like this:
aniworld --episode https://aniworld.to/anime/stream/demon-slayer-kimetsu-no-yaiba/staffel-1/episode-1 --action Syncplay --keep-watching --language "English Sub" --aniskip
Please note that anyone watching the same anime (regardless of the episode) will automatically join the room if Syncplay is enabled. If you prefer to restrict access to strangers, you can set a password for the room that both parties must specify to join.
aniworld --episode https://aniworld.to/anime/stream/demon-slayer-kimetsu-no-yaiba/staffel-1/episode-1 --action Syncplay --keep-watching --language "English Sub" --aniskip --syncplay-password beans
Download an episode using the VOE provider with English subtitles:
aniworld --episode https://aniworld.to/anime/stream/demon-slayer-kimetsu-no-yaiba/staffel-1/episode-1 --provider VOE --language "English Sub"
test.txt
# The whole anime
https://aniworld.to/anime/stream/alya-sometimes-hides-her-feelings-in-russian
# The whole Season 2
https://aniworld.to/anime/stream/demon-slayer-kimetsu-no-yaiba/staffel-2
# Only Season 3 Episode 13
https://aniworld.to/anime/stream/kaguya-sama-love-is-war/staffel-3/episode-13
aniworld --episode-file /Users/goofball/Downloads/test.txt --language "German Dub"
You can also use the Watch
and Syncplay
actions along with other arguments as normal.
To install Anime4K persistently, use the following commands once:
(Eg. GTX 1080, RTX 2070, RTX 3060, RX 590, Vega 56, 5700XT, 6600XT, M1 Pro, M1 Max, M1 Ultra, M2 Pro, M2 Max)
aniworld --anime4k High
(Eg. GTX 980, GTX 1060, RX 570, M1, M2, Intel chips)
aniworld --anime4k Low
aniworld --anime4k Remove
This installs all necessary files into the mpv directory, enabling Anime4K in mpv even outside of AniWorld. You can switch between settings by specifying the different optimized modes. To remove it, simply use the remove option.
aniworld --help
usage: aniworld [-h] [--slug SLUG] [--link LINK] [--query QUERY]
[--episode EPISODE [EPISODE ...]] [--episode-file EPISODE_FILE]
[--action {Watch,Download,Syncplay}] [--output OUTPUT]
[--language {German Dub,English Sub,German Sub}]
[--provider {Vidoza,Streamtape,VOE,Doodstream}] [--aniskip]
[--keep-watching] [--anime4k {High,Low,Remove}]
[--syncplay-password SYNCPLAY_PASSWORD [SYNCPLAY_PASSWORD ...]]
[--only-direct-link] [--only-command] [--proxy PROXY] [--debug]
[--version] [--uninstall]
Parse optional command line arguments.
options:
-h, --help show this help message and exit
--slug SLUG Search query - E.g. demon-slayer-kimetsu-no-yaiba
--link LINK Search query - E.g. https://aniworld.to/anime/stream/demon-
slayer-kimetsu-no-yaiba
--query QUERY Search query input - E.g. demon
--episode EPISODE [EPISODE ...]
List of episode URLs
--episode-file EPISODE_FILE
File path containing a list of episode URLs
--action {Watch,Download,Syncplay}
Action to perform
--output OUTPUT Download directory
--language {German Dub,English Sub,German Sub}
Language choice
--provider {Vidoza,Streamtape,VOE,Doodstream}
Provider choice
--aniskip Skip intro and outro
--keep-watching Continue watching
--anime4k {High,Low,Remove}
Set Anime4K optimised mode (High Eg.: GTX 1080, RTX 2070, RTX
3060, RX 590, Vega 56, 5700XT, 6600XT; Low Eg.: GTX 980, GTX
1060, RX 570, or Remove). This only needs to be run once to set
or remove as the changes are persistent.
--syncplay-password SYNCPLAY_PASSWORD [SYNCPLAY_PASSWORD ...]
Set a syncplay room password
--only-direct-link Output direct link
--only-command Output command
--proxy PROXY Set HTTP Proxy - E.g. http://0.0.0.0:8080
--debug Enable debug mode
--version Print version info
--update {mpv,yt-dlp,syncplay,all}
Update mpv, yt-dlp, syncplay, or all.
--uninstall Self uninstall
AniWorld Downloader relies on the following Python packages:
requests
beautifulsoup4
npyscreen
thefuzz
colorlog
py7zr
packaging
windows-curses
(only on Windows)
These are automatically installed when you install AniWorld Downloader via pip.
- Add argparse for command-line argument parsing.
- Refactor the code into modular Python files.
- Avoid displaying the full link in selections; instead, show the season and episode names.
- Add Python logging module.
- Add support for proxy configurations.
- Automatically download and install the following on Windows:
- mpv
- yt-dlp
- Syncplay
- Implement movie support.
- Configure the Anime4K installation setup:
- Windows
- MacOS
- Linux
- Fix season episode count.
- Add an option for Syncplay room passwords.
- Add mass file support
- Fix yt-dlp progress bar on Windows
- Fix empty output when the selected language is unavailable.
- Use anime title instead of slug on episode list
- Optimize performance: less requests and no duplicate function calls
- Fix Aniskip for seasons other than the first.
- Support Doodstream.
- mpv - Media player used for streaming.
- yt-dlp - Tool for downloading videos.
- Syncplay - Service for synchronized playback with friends.
- Anime4K - A high-quality real-time upscaler for anime video.
Contributions to AniWorld Downloader are welcome! Whether you're reporting bugs, suggesting features, or submitting pull requests, your input helps improve the project.
This project is licensed under the MIT License.
See the LICENSE file for more details.
If you need help or have questions about AniWorld Downloader, you can:
- Report a bug or request a feature on the GitHub Issues page.
- Contact me directly via email at contact@phoenixthrush.com or on Matrix at @phoenixthrush:matrix.org.
I appreciate your support and feedback!
If you enjoy using AniWorld Downloader and want to support this project, please consider starring the repository on GitHub. It's free and only takes one click, but it would mean the world to me and motivate me to maintain and improve the project for longer.