Skip to main content

MediaForge is a WebUI-only tool for downloading anime and series from AniWorld, SerienStream and FilmPalast. Start it with 'mediaforge' to launch the web interface directly.

Project description

MediaForge

MediaForge is a cross-platform WebUI tool for downloading anime from aniworld.to, series from s.to, and movies from filmpalast.to. It runs on Windows, macOS, and Linux.

Fork of the original AniWorld-Downloader by phoenixthrush, SiroxCW and Tmaster055 — maintained and extended here by TheMRX13 and Domekologe. The legacy CLI has been removed; everything runs through the WebUI.

GitHub Release GitHub License GitHub Issues or Pull Requests GitHub Repo stars GitHub forks PyPI Docker Discord Wiki

WebUI (Landing Page) WebUI (Auto-Sync)
MediaForge - Demo MediaForge - Demo

(back to top)

Quick Start

Requirements: Python ≥ 3.9 and ffmpeg available in your PATH. New to Python? See the Installation wiki for per-OS instructions.

# Install the latest stable release
pip install mediaforge

# Launch — starts the WebUI and opens your browser
mediaforge

Open http://localhost:8080. Authentication is enabled by default and all settings live in the WebUI — no .env file needed.

Useful launch flags: -wP <port> (custom port) · -wH 0.0.0.0 (expose to LAN/Docker/reverse proxy) · -wN (don't open the browser) · -d (debug logging).

📖 Full setup — including how to install Python & ffmpeg, the data directory and first-run steps — is on the Installation and Getting Started wiki pages.

(back to top)

Highlights

  • Browse, search & download full series, seasons or single episodes from aniworld.to, s.to and filmpalast.to
  • AutoSync — keep series up to date automatically on an interval or weekly schedule, with per-job season/episode filters and a separate path for movies/specials
  • Download queue & history — a real-time queue plus a searchable, filterable history (failed/cancelled/skipped, retry, bulk delete, export, auto-retention)
  • Media library, favourites & statistics built in
  • CineInfo (TMDB) metadata, a Calendar of upcoming episodes, plus Jellyfin/Plex and Jellyseerr/Overseerr integration
  • Notifications via Web Push, Telegram, Pushover, Discord or WhatsApp
  • Encoding (Stream Copy / H.264 / H.265, with NVENC, VAAPI, VideoToolbox) and Anime4K upscaling
  • Multi-user auth & OIDC SSO, a full REST API, Docker-ready, and a UI in English & German

→ Full feature tour in the Wiki.

(back to top)

Documentation

Everything is documented in the Wiki — available in English and Deutsch:

Getting started Features Reference
Installation · Getting Started · Docker AutoSync · Download History · Library · Integrations · SyncPlay · Encoding Configuration · Authentication · Supported Sites · API Reference · Architecture

(back to top)

Docker

docker pull ghcr.io/pd-codes/mediaforge:latest

docker run -it --rm -p 8080:8080 \
  -v "${PWD}/Downloads:/app/Downloads" \
  -v mediaforge-data:/home/mediaforge/.mediaforge \
  ghcr.io/pd-codes/mediaforge:latest

Mount your Downloads folder for the files and the mediaforge-data volume for config/database. For Docker Compose, reverse proxy (nginx), LAN access and env-based admin setup, see the Docker wiki page.

(back to top)

Roadmap

Actively in development — current work in progress:

  • Multi-Language Support — UI available in German and English
  • More Extractors — additional video host support beyond the current providers
  • Live Transcode / In-Browser Playback — watch downloaded files directly in the UI
  • Discord Rich Presence — show what you're currently watching on your Discord profile
  • More Sources — additional anime, series and movie providers (open a feature request)
  • AutoSync Episode Filter — configure per job which seasons/episodes to sync, include/skip movies & specials, separate movie download path
  • AutoSync Schedule — run on a fixed interval or a weekly plan (weekdays + times)
  • Provider Fallback Order — automatically try the next provider if the primary one fails
  • Calendar View — show upcoming episode air dates for AutoSync jobs based on TMDB data
  • Bandwidth Limit / Download Time Window — throttle speed or restrict downloads to specific hours
  • Download History — searchable log of all completed downloads with date, size and duration
  • Generic Outgoing Webhook — send a configurable POST request on download completion (Home Assistant, n8n, etc.)
  • Subtitle Support — additional language and subtitle download options
  • Integrated VPN/Proxy — download through VPN or proxy servers to increase privacy
  • Adding Pills to Advanced Search if a Media is already downloaded, and more
  • Auto-Sync "Waitlist". If an Auto-Sync Title was not found for X Days, it will be tried again in Y week(s)

(back to top)

Supported Sites & Extractors

URLs from aniworld.to, s.to and filmpalast.to are supported, delivered behind the scenes via hosters such as VOE, Vidoza, Vidmoly, Filemoon, Doodstream, Vidara and Veev.

→ See Supported Sites for the live status of each site and extractor, and which hosters are prioritized per site.

(back to top)

Contributing

Contributions are highly appreciated — report bugs, suggest features, submit pull requests, or improve the docs. Please check existing issues first to avoid duplicates, and feel free to discuss ideas on Discord before opening a PR.

(back to top)

Credits

Builds upon the work of several outstanding open-source projects and individuals:

Original authorsphoenixthrush (creator of AniWorld-Downloader), SiroxCW and Tmaster055.

Libraries & toolsmpv, Flask and Waitress.

(back to top)

Other Cool Projects

  • Jellyfin AniWorld Downloader by SiroxCW — a Jellyfin plugin to browse and download anime & series directly from AniWorld, integrated into your media server.
  • AniBridge by Zzackllack — a minimal FastAPI service bridging anime and series catalogues (AniWorld, SerienStream/s.to, MegaKino) with automation tools.

(back to top)

Support

  • Discord Server — the fastest way to get help and chat with other users.
  • GitHub Issues — preferred for installation problems, bug reports and feature requests.

If you find MediaForge useful, please ⭐ the repository — it's greatly appreciated and motivates continued development.

(back to top)

Legal Disclaimer

MediaForge 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 it 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, or the availability, accuracy, legality or reliability of any third-party service. If you have concerns about specific content, please contact the respective website or rights holder directly.

(back to top)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mediaforge-1.0.0.tar.gz (1.5 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mediaforge-1.0.0-py3-none-any.whl (1.6 MB view details)

Uploaded Python 3

File details

Details for the file mediaforge-1.0.0.tar.gz.

File metadata

  • Download URL: mediaforge-1.0.0.tar.gz
  • Upload date:
  • Size: 1.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for mediaforge-1.0.0.tar.gz
Algorithm Hash digest
SHA256 d6a8bb79e30e656ad645b04d6898ba591efc4bc92877db25e7e3fd14db1b7ad5
MD5 4323a55165399ed7630aea4635ad58fb
BLAKE2b-256 f6614fdda45843f9c12d5d75e5fc1309012b337722448aa25587d4baad620d00

See more details on using hashes here.

Provenance

The following attestation bundles were made for mediaforge-1.0.0.tar.gz:

Publisher: auto-tag.yaml on PD-Codes/MediaForge

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mediaforge-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: mediaforge-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 1.6 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for mediaforge-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b588ae92c8be897c2078c3ed321b884d6cc0fe95ca2296c01fefe54d74a3b221
MD5 d867d2a2786e44e9ce4bd6b8bb7ef7a2
BLAKE2b-256 340a4bce1ee722d926d95217e16af2fc0a329c2afb49a913ef7e76990b46ebdb

See more details on using hashes here.

Provenance

The following attestation bundles were made for mediaforge-1.0.0-py3-none-any.whl:

Publisher: auto-tag.yaml on PD-Codes/MediaForge

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page