Command line tool designed to download and stream content from aniworld.to
Project description
AniWorld Downloader
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.
Table of Contents
Features
- 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: (Coming Soon) Configure HTTP proxies for your downloads.
Installation
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 uninstall AniWorld Downloader:
pip uninstall aniworld -y
Usage
Running with Menu
Launch AniWorld Downloader with an interactive menu:
aniworld
Command-Line Arguments
AniWorld Downloader provides various command-line options to download and stream anime without using the interactive menu.
Command-Line Examples
Example 1: Download a Single Episode
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
Example 2: Download multiple episodes
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
Example 3: Watch Episodes with Aniskip
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
Example 4: Syncplay with Friends
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
Example 5: Download with Specific Provider and Language
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"
To see all the available options:
aniworld --help
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 - E.g.
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
--action {Watch,Download,Syncplay}
Action to perform - E.g. Watch, Download, Syncplay
--output OUTPUT Download directory (default: ~/Downloads)
--language {German Dub,English Sub,German Sub}
Language choice - E.g. German Dub, English Sub, German
Sub
--provider {Vidoza,Streamtape,VOE,Doodstream}
Provider choice - E.g. Vidoza, Streamtape, VOE,
Doodstream
--aniskip Skip anime opening and ending
--keep-watching Continue watching
--only-direct-link Output direct link
--only-command Output command
--proxy PROXY Set HTTP Proxy (not working yet)
--debug Enable debug mode
Dependencies
AniWorld Downloader relies on the following Python packages:
requests
beautifulsoup4
npyscreen
thefuzz
colorlog
windows-curses
(only on Windows)
These are automatically installed when you install AniWorld Downloader via pip.
TODO
- Utilize argparse for command-line argument parsing
- Refactor code into modular Python files
- Do not show whole link in selection; display season and episode with name
- Integrate Python logging module
- Add proxy support
- Fix Aniskip Seasons if other than first season
- Configure Anime4K installation setup
- Support Doodstream
Credits
- mpv - Media player used for streaming.
- yt-dlp - Tool for downloading videos.
- Syncplay - Service for synchronized playback with friends.
Contributing
Contributions to AniWorld Downloader are welcome! Whether you're reporting bugs, suggesting features, or submitting pull requests, your input helps improve the project.
License
This project is licensed under the MIT License.
See the LICENSE file for more details.
Support
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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.