AniWorld Downloader v4
AniWorld Downloader is a cross-platform tool for streaming and downloading content from AniWorld, Hanime, MangaFire, MegaKino, and SerienStream, with more support coming in the future. It runs on Windows, macOS, and Linux, providing a seamless experience for offline viewing or instant playback.
| Demo Menu |
|---|
https://github.com/user-attachments/assets/d65c4a5c-827a-45d7-a904-78977fd9aef4
TL;DR - Quick Start
# Install stable release (needs Python installed)
pip install -U aniworld
# Or install latest GitHub commit (needs Git installed)
pip install --upgrade git+https://github.com/phoenixthrush/AniWorld-Downloader.git@models#egg=aniworld
# Launch AniWorld Downloader using Web UI
aniworld -w
# Using Menu
aniworld
Tip: Use the stable release for general use. The GitHub version includes the latest features and fixes but may be less stable.
Documentation
For full user guides, tutorials, and troubleshooting, visit the official documentation.
Features
- Downloading – Grab full series, individual seasons, or single episodes for offline viewing
- Streaming – Watch episodes instantly using mpv, IINA, or Syncplay
- Auto-Next Playback – Seamlessly move to the next episode without interruption
- Multiple Providers – Stream from various sources on aniworld.to and s.to
- Language Preferences – Switch between German Dub, English Sub, or German Sub
- Muxing – Automatically combine video and audio streams into a single file
- AniSkip Integration – Skip intros and outros on AniWorld for a smoother experience
- Group Watching – Sync anime and series sessions with friends via Syncplay
- Web Interface – Browse, download, and manage your queue with a modern web UI
- More Sites – Also search and download from Kinox, BurningSeries, FilmPalast, and Cineby
Kinox is currently not recommended: it demands a captcha for every download (the same one all visitors get) that can't be solved automatically. Downloads still run without errors — when kinox blocks one, the queue shows a "Solve on Kinox" button that opens the title page so you can solve the captcha and hit Retry. Prefer the other sites for now.
Cineby German audio is unreliable: Cineby lists a German audio track for almost everything, so the downloader offers German Dub accordingly — but in practice those German tracks often just don't work. That's a problem with Cineby's own sources, not with the downloader, so expect to fall back to English fairly often.
- Planned Releases – Queue titles that aren't out yet; they download automatically once available
- Discord Request Bot – Let others request movies/series from Discord, with owner approval
- Interface Language – Switch the whole UI between English and German
- Docker Ready – Deploy easily using Docker or Docker Compose
Still in Development
This project is actively being improved. Current work in progress includes:
- def unzip() for Windows in .zip and .7z files
- fix episode download cleanup on KeyboardInterrupt in menu
- add support for aniskip feature on IINA
- Implement
keep-watchingargument for continuous playback - Fix Nuitka build crash: use Python 3.12 (non-MSVC builds unsupported on newer versions)
- Remove empty lines below actions when running
docker run -it
Supported Providers
| Provider | Status | Last Tested |
|---|---|---|
| VOE | ✅ Working | 07/26 |
| Vidoza | ✅ Working | 02/26 |
| Vidmoly | ✅ Working | 02/26 |
| Doodstream | ✅ Working | 07/26 |
| Filemoon | ❌ Broken | 02/26 |
| Hanime | ⏳ Not Implemented | — |
| LoadX | ⏳ Not Implemented | — |
| Luluvdo | ⏳ Not Implemented | — |
| Streamtape | ⏳ Not Implemented | — |
Currently Prioritized Providers
- AniWorld – VOE, Vidmoly, Vidoza, Doodstream
- SerienStream – VOE, Vidoza, Doodstream
Docker
Build the AniWorld Downloader Docker image:
docker build -t aniworld .
Running the Container
- macOS / Linux (bash/zsh):
docker run -it --rm \
-v "${PWD}/Downloads:/app/Downloads" \
aniworld python -m aniworld
- Windows (PowerShell):
docker run -it --rm `
-v "${PWD}\Downloads:/app/Downloads" `
aniworld python -m aniworld
- Windows (CMD):
docker run -it --rm ^
-v "%cd%\Downloads:/app/Downloads" ^
aniworld python -m aniworld
Note: Mount your local
Downloadsfolder to/app/Downloadsin the container to save downloaded episodes. You can adjust the host path as needed.
Docker Compose (with Web UI)
Start AniWorld Downloader using Docker Compose:
docker-compose up -d --build
This command will:
- Build the Docker image if it hasn’t been built yet
- Start the container in detached mode (
-d) - Enable the Web UI for easier interaction
- Automatically restart the container unless stopped manually (
restart: unless-stopped)
To stop the container:
docker-compose down
Tip: Ensure your
docker-compose.ymlcorrectly configures volumes and ports if you want to persist downloads or access the Web UI externally.
Contributing
Contributions to AniWorld Downloader are highly appreciated! You can help improve the project in several ways:
- Report Bugs – Identify and report issues to improve functionality
- Suggest Features – Share ideas to expand the tool's capabilities
- Submit Pull Requests – Contribute code to fix bugs or add new features
- Improve Documentation – Help enhance user guides, tutorials, and technical documentation
Before submitting contributions, please check the repository for existing issues or feature requests to avoid duplicates.
Contributors
Dependencies
AniWorld Downloader uses a small set of Python packages for networking, terminal UI, media handling, web features, and configuration.
Core dependencies
- niquests – HTTP requests (replaces
requests) - npyscreen – Text-based terminal UI
- ffmpeg-python – Python bindings for FFmpeg (requires FFmpeg installed on your system)
- python-dotenv – Loads environment variables from a
.envfile - packaging – Version parsing and comparison
- cryptography – Cryptographic utilities
- patchright – Browser automation support for captcha handling
Web / server dependencies
- flask – Web framework
- flask-wtf – Forms and CSRF protection for Flask
- waitress – Production WSGI server
Optional dependencies (Extras)
Some features require optional packages which can be installed on demand:
- SSO Login (OIDC): Requires
authlib(pip install aniworld[sso]) - Discord Bot: Requires
discord.py(pip install aniworld[discord])
To install AniWorld Downloader with all optional features:
# For PyPI release
pip install aniworld[all]
# For local development
pip install -e .[all]
Platform-specific dependencies
- windows-curses – Enables curses support for
npyscreenon Windows (installed only on Windows and only for Python versions below 3.14)
All core and web dependencies are installed automatically when AniWorld Downloader is installed with pip.
Credits
AniWorld Downloader builds upon the work of several outstanding open-source projects:
- mpv – A versatile media player used for seamless video streaming
- IINA – Modern macOS media player built on mpv, offering a sleek interface and advanced playback features
- Syncplay – Enables synchronized playback sessions with friends
- Anime4K – Real-time upscaler for enhancing anime video quality
- Aniskip – Provides opening and ending skip times for the Aniskip extension
- flag-icons – Collection of SVG country flags
- new-domain-check – Constant checks for new redirects on megakino
- fake-useragent - Simple useragent faker with real world database
Other Cool Projects
-
Jellyfin AniWorld Downloader by SiroxCW – A Jellyfin plugin that lets you browse and download anime & series directly from AniWorld, fully integrated into your media server.
-
AniBridge by Zzackllack – A minimal FastAPI service that bridges anime and series streaming catalogues (AniWorld, SerienStream/s.to, MegaKino) with automation tools.
Support
If you need help with AniWorld Downloader, you have several options:
- Submit an issue on the GitHub Issues page – preferred for installation problems, bug reports, or feature requests, as it helps others benefit from shared solutions
- Contact directly via email at contact@phoenixthrush.com or on our Discord server. Join here
While email support is available, opening a GitHub issue is encouraged whenever possible.
If you find AniWorld Downloader useful, please star the repository on GitHub. Your support is greatly appreciated and motivates continued development.
Thank you for using AniWorld Downloader!
Legal Disclaimer
AniWorld Downloader is a client-side tool that enables access to content hosted on third-party websites. It does not host, upload, store, or distribute any media itself.
This software is not intended to promote piracy or copyright infringement. You are solely responsible for how you use AniWorld Downloader and for ensuring that your use complies with applicable laws and the terms of service of the websites you access.
The developer provides this project "as is" and is not responsible for:
- Third-party content
- External links
- The availability, accuracy, legality, or reliability of any third-party service
If you have concerns about specific content, contact the relevant website owner, administrator, or hosting provider.
Star History
License
This project is licensed under the MIT License. For full terms and conditions, please see the LICENSE file included with this project.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file aniworld-4.8.4.tar.gz.
File metadata
- Download URL: aniworld-4.8.4.tar.gz
- Upload date:
- Size: 548.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
73495becdfb62e66c8988a56b1d627e30aa6756f778ce8447965d2ba24c87581
|
|
| MD5 |
1217382d365db4663f08bb2fab858aab
|
|
| BLAKE2b-256 |
7ea4732ff43d7af35ecc7685c9840df809c9c0a0f1a47f52e9bf0c201cf013de
|
Provenance
The following attestation bundles were made for aniworld-4.8.4.tar.gz:
Publisher:
publish.yaml on phoenixthrush/AniWorld-Downloader
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
aniworld-4.8.4.tar.gz -
Subject digest:
73495becdfb62e66c8988a56b1d627e30aa6756f778ce8447965d2ba24c87581 - Sigstore transparency entry: 2210598778
- Sigstore integration time:
-
Permalink:
phoenixthrush/AniWorld-Downloader@f18304dcc046613b28ec1f2c74426dc6ea529e06 -
Branch / Tag:
refs/tags/v.4.8.4 - Owner: https://github.com/phoenixthrush
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yaml@f18304dcc046613b28ec1f2c74426dc6ea529e06 -
Trigger Event:
release
-
Statement type:
File details
Details for the file aniworld-4.8.4-py3-none-any.whl.
File metadata
- Download URL: aniworld-4.8.4-py3-none-any.whl
- Upload date:
- Size: 600.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
69dd662ab632076c24c64f514eefa7a839c5b4035f03b596dfa5ade5e66382b1
|
|
| MD5 |
a2c556bd4ae119925a9b8bb7c40ca7e4
|
|
| BLAKE2b-256 |
6504f189561106107b754522f3dcdfdef99754623d3b987590c3412c561eb80c
|
Provenance
The following attestation bundles were made for aniworld-4.8.4-py3-none-any.whl:
Publisher:
publish.yaml on phoenixthrush/AniWorld-Downloader
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
aniworld-4.8.4-py3-none-any.whl -
Subject digest:
69dd662ab632076c24c64f514eefa7a839c5b4035f03b596dfa5ade5e66382b1 - Sigstore transparency entry: 2210598837
- Sigstore integration time:
-
Permalink:
phoenixthrush/AniWorld-Downloader@f18304dcc046613b28ec1f2c74426dc6ea529e06 -
Branch / Tag:
refs/tags/v.4.8.4 - Owner: https://github.com/phoenixthrush
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yaml@f18304dcc046613b28ec1f2c74426dc6ea529e06 -
Trigger Event:
release
-
Statement type: