Skip to main content

AniWorld Downloader

AniWorld Downloader is a tool for downloading content from various streaming sites. It features a modern web interface and can be easily deployed using Docker.

Downloads License

Preview

Table of Contents

(back to top)

Core Features

  • Web Interface: A modern web UI for easy searching, downloading, and queue management with real-time progress tracking.
  • Docker Support: Containerized deployment with Docker and Docker Compose for a quick and easy setup.
  • Download Queue: Manage all your downloads in one place with a clear and organized queue.
  • Multiple Sources: Download content from a variety of sources.
  • Custom Download Paths: Set different download directories for series/anime and movies to keep your library organized.

(back to top)

Supported Sites

You can download content from the following websites:

  • AniWorld.to (Anime)
  • S.to (Anime & Series)
  • MegaKino.ms (Movies)

(back to top)

Supported Hosters

The downloader supports a wide range of popular hosters, including:

  • VOE
  • Filemoon
  • Vidmoly
  • Doodstream
  • Streamtape
  • LoadX
  • Luluvdo
  • Vidoza
  • SpeedFiles

(back to top)

Installation

Prerequisites

Ensure you have Python 3.9 or higher installed.
Additionally, make sure Git is installed if you plan to install the development version.

Installation

Install Latest Stable Release (Recommended)

To install the latest stable version, use the following command:

pip install --upgrade aniworld

Install Latest Development Version (Requires Git)

To install the latest development version directly from GitHub, use the following command:

pip install --upgrade git+https://github.com/Yezun-hikari/AniWorld-Downloader.git@next#egg=aniworld

(back to top)

Usage

The primary way to use this tool is through its web interface, especially when deployed with Docker.

Web Interface

Launch the modern web interface for easy searching, downloading, and queue management:

aniworld --web-ui

The web interface provides:

  • Modern Search: Search for anime, series, and movies across all supported sites.
  • Episode/Movie Selection: A visual picker to select what you want to download.
  • Download Queue: Track the real-time progress of all your downloads.
  • User Authentication: Optional multi-user support with admin controls.
  • Settings Management: Configure providers, languages, and download preferences.

Web Interface Options

# Basic web interface (localhost only)
aniworld --web-ui

# Expose to network (accessible from other devices)
aniworld --web-ui --web-expose

# Enable authentication for multi-user support
aniworld --web-ui --enable-web-auth

# Set custom download paths
aniworld --web-ui --output-dir /path/to/series-downloads --movie-dir /path/to/movie-downloads

(back to top)

Docker Deployment

The recommended way to run the AniWorld Downloader is with Docker, which simplifies setup and dependency management.

Using Docker Compose (Recommended)

  1. Clone the repository:

    git clone https://github.com/Yezun-hikari/AniWorld-Downloader.git
    cd AniWorld-Downloader
    
  2. Modify docker-compose.yml to set your download paths. By default, it will create downloads and movies directories in the project folder.

  3. Build and start the container:

    docker-compose up -d --build
    

Docker Configuration

The Docker container runs with:

  • User Security: Non-root user for enhanced security.
  • System Dependencies: Includes ffmpeg for video processing.
  • Web Interface: Enabled by default with authentication and network exposure.
  • Download Directories:
    • /app/downloads (for series/anime)
    • /app/movies (for movies)
  • Port: 8080 (configurable via environment variables)

(back to top)

Using Docker Compose with Gluetun VPN

For users who want to route the container's traffic through a VPN, you can use Gluetun. Here is an example docker-compose.yml for a Portainer stack:

version: '3.8'
services:
  aniworld:
    container_name: aniworld-downloader
    image: aniworld-downloader:local
    volumes:
      - ./downloads:/app/downloads
      - ./movies:/app/movies
      - ./data:/app/data
    stdin_open: true
    tty: true
    restart: unless-stopped
    network_mode: "service:vpn"
  vpn:
    image: 'qmcgaw/gluetun'
    container_name: vpn
    cap_add:
      - NET_ADMIN
    environment:
      - VPN_SERVICE_PROVIDER= # e.g., mullvad, nordvpn, protonvpn
      - OPENVPN_USER= # Your OpenVPN username
      - OPENVPN_PASSWORD= # Your OpenVPN password
    ports:
      - "8080:8080" # AniWorld WebUI
      - "8001:8000" # Gluetun API for integrations like gethomepage
    volumes:
      - ./gluetun:/gluetun
    restart: unless-stopped

In this setup:

  • The aniworld service is configured to use the network of the vpn service (network_mode: "service:vpn").
  • The vpn service is a Gluetun container. You must configure the VPN_SERVICE_PROVIDER (e.g., Mullvad, NordVPN, ProtonVPN) and your credentials. For a full list of providers and setup instructions, refer to the official Gluetun documentation.
  • Port 8080 exposes the AniWorld Downloader web interface.
  • Port 8001 exposes the Gluetun API, which can be used for integrations with dashboards like gethomepage.

(back to top)

API Endpoints

The web interface provides a simple API to monitor download status, making it easy to integrate with dashboards like gethomepage.

/api/download-status

This endpoint provides real-time information about the currently active download.

  • URL: /api/download-status
  • Method: GET
  • Authentication: None. This endpoint is publicly accessible.

Example Response

If a download is in progress, the API will return a JSON object like this:

{
  "series_name": "Oshi No Ko",
  "current_episode_progress": "35%",
  "download_speed": "8.46MiB/s",
  "eta": "00:28",
  "overall_progress": "0/1",
  "success": true
}

If no download is active, it will return:

{
  "success": false,
  "message": "No active downloads"
}

gethomepage Integration

You can add a widget to your gethomepage dashboard to monitor your downloads. Add the following configuration to your services.yaml file:

- AniWorld Downloader:
    icon: https://github.com/Yezun-hikari/AniWorld-Downloader/blob/main/src/aniworld/nuitka/icon.webp?raw=true
    href: http://localhost:8080/
    description: WebUI for Anime-Downloads
    widget:
      type: customapi
      url: http://localhost:8080/api/download-status
      mappings:
        - field: series_name
          label: Name
        - field: current_episode_progress
          label: Progress
        - field: download_speed
          label: Speed
        - field: overall_progress
          label: Episodes
        - field: eta
          label: ETA

Note: The gethomepage widget will only display the first four mapped fields on the dashboard.

(back to top)

Credits

Original AniWorld-Downloader: phoenixthrush
MEGAKino-Downloader: Tmaster055

(back to top)

Support

If you need help with AniWorld Downloader, you can:

If you find this tool useful, consider starring the repository on GitHub. Your support is greatly appreciated!

Thank you for using AniWorld Downloader!

(back to top)

⚠️ Legal Disclaimer

I provide this tool for educational and informational purposes only. You are solely responsible for how you use it. Any actions taken using this tool are entirely your own responsibility. I do not condone or support illegal use.

(back to top)

License

This project is licensed under the MIT License. For more details, see the LICENSE file or click the blue text above.

(back to top)

Metadata

Release files for AniWorld-Downloader 3.8.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for AniWorld-Downloader 3.8.2
File Size Uploaded
aniworld_downloader-3.8.2.tar.gz 133.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for AniWorld-Downloader 3.8.2
File Interpreter ABI Platform
aniworld_downloader-3.8.2-py3-none-any.whl Python 3 none any Details

Total release size: 289.8 kB

Release files / aniworld_downloader-3.8.2.tar.gz

Download URL aniworld_downloader-3.8.2.tar.gz
Size 133.7 kB
Tags Source
SHA-256 checksum
How to use checksums
0edefabb37aa1faff719e8a42fbb116a8ab9ae7aa984e0d1d0b51a9cc4f3de72
BLAKE2b-256 checksum
How to use checksums
f2a3580577861a2472ca22a0d0368c663def2aa08dff13723cd46a8f57e617d0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 10, 2025.

Transparency log

Release files / aniworld_downloader-3.8.2-py3-none-any.whl

Download URL aniworld_downloader-3.8.2-py3-none-any.whl
Size 156.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
40128de9e6b66d73c07a98003417944d1224e4bd70c0416bd21c1b955f8d8fa3
BLAKE2b-256 checksum
How to use checksums
1c9c7d8ffce3d2e2d9ba8681ac56f90282887c612e92b38e612d614b517dc2bd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 10, 2025.

Transparency log

Release history Release notifications | RSS feed

This release

3.8.2 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page