github phoenixthrush/AniWorld-Downloader v.4.0.0

6 hours ago

What's New

Download

  • Switched from yt-dlp to ffmpeg: downloads are now .mkv instead of .mp4
  • Configurable video codec: choose between copy, h264, h265, or av1 via ANIWORLD_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 5000 to 8080

WebUI Security

  • CSRF protection
  • Bcrypt password hashing (replaces SHA-256)
  • Password minimum length increased to 8

Configuration

  • .env file support: all settings configurable via environment variables with a documented .env.example template
  • 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.yaml with 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

Don't miss a new AniWorld-Downloader release

NewReleases is sending notifications on new releases.