What's New
Download
- Switched from yt-dlp to ffmpeg: downloads are now
.mkvinstead of.mp4 - Configurable video codec: choose between
copy,h264,h265, orav1viaANIWORLD_VIDEO_CODEC
WebUI
- SSO / OIDC login: sign in via OpenID Connect provider, with optional force-SSO mode
- Persistent download queue: queue is now stored in SQLite and survives restarts
- Random anime button
- Downloaded badge: see which episodes you already have (requested by EasyCrashX)
- Language separation: optionally sort downloads into subfolders per language (
german-dub/,english-sub/, etc.) - Option to disable English Sub downloads: save disk space when downloading all languages
- Cancel downloads: gracefully stops after the current episode finishes (requests by TheMRX)
- Default port changed from
5000to8080
WebUI Security
- CSRF protection
- Bcrypt password hashing (replaces SHA-256)
- Password minimum length increased to 8
Configuration
.envfile support: all settings configurable via environment variables with a documented.env.exampletemplate- DNS-over-HTTPS enabled by default
Docker
- Smaller image: switched to
python:3.13-alpine - Named volume for persistent config (
~/.aniworld) - Production WSGI server (waitress) instead of Flask dev server
- Comprehensive
docker-compose.yamlwith all config options documented
AniSkip
- Now uses the Jikan API for more reliable anime ID resolution (replaces MyAnimeList scraping)
Nuitka Status
- Linux: Basic CLI download and Web UI (
-w) download tested and working. Other features (Anime4K, aniskip, etc.) have not been tested yet. - Windows / macOS: Untested
Full Changelog: https://github.com/phoenixthrush/AniWorld-Downloader/commits/v.4.0.0