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.1.0.tar.gz (1.6 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.1.0-py3-none-any.whl (1.7 MB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for mediaforge-1.1.0.tar.gz
Algorithm Hash digest
SHA256 2d6cc9b1b244cfe2c9e7ac806a1808ec868431cbd6759dc27f76545b180cb2cd
MD5 38037cb55deaa747b8dab687e9409477
BLAKE2b-256 254bb3d20e7896267a0130957357369480b5ab9a4edb094e8b268e0b0bfa2328

See more details on using hashes here.

Provenance

The following attestation bundles were made for mediaforge-1.1.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.1.0-py3-none-any.whl.

File metadata

  • Download URL: mediaforge-1.1.0-py3-none-any.whl
  • Upload date:
  • Size: 1.7 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.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 841b04acf3a72682e5ce4ac38d56b3b5d210f36f32d2b0fe392ce3ddb843117e
MD5 73a75f4d46c0dd07607734c08012ae52
BLAKE2b-256 0e33745f1014a3ec76eaacb02559324e3f19323498570b4a531a479d74b17977

See more details on using hashes here.

Provenance

The following attestation bundles were made for mediaforge-1.1.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