FluxDown

FluxDown

Docker app from UnraidUser-8191342418's Repository

Overview

A blazing fast, multi-protocol download manager powered by a Rust engine. Supports HTTP/HTTPS/FTP/BitTorrent/HLS with intelligent segmentation, resume, speed control, a browser extension, aria2-compatible JSON-RPC and an MCP endpoint. A free alternative to Internet Download Manager and aria2. NOTE: first launch prints a one-time admin token in the container log (grep -i token). The management API and MCP endpoint require this token.
FluxDown Logo

FluxDown

Downloads, Supercharged.

A blazing fast, multi-protocol download manager — the free & open-source IDM alternative.

Latest Release Downloads License: AGPL-3.0 Platform Rust Flutter

Website · Download · Changelog · FAQ · Feedback

English | 简体中文


Highlights

  • Up to 10x faster — Rust + Tokio engine with IDM-style dynamic segmentation
  • Multi-protocol — HTTP/HTTPS, FTP, BitTorrent, eD2K, HLS & DASH streaming
  • Browser integration — Chrome / Edge / Firefox extension with a 3-layer interception engine
  • Resume anywhere — full download state persisted in SQLite; survive crashes and reboots
  • Beautiful UI — light/dark themes, 13 color schemes, responsive three-pane layout
  • Clean & private — free forever, no ads, no tracking, no account, local-first

Features

Feature Description
Rust-Powered Engine Built on Rust and Tokio with zero-cost abstractions — memory-safe concurrency at maximum throughput
Smart Segmentation Segments split dynamically at runtime; idle threads rescue slow segments, just like IDM — but smarter
Multi-Protocol Dedicated engines for HTTP/HTTPS, FTP, BitTorrent (DHT/UPnP/magnet), eD2K (server + Kad DHT source finding, MD4 verification), HLS (AES-decrypt) and DASH
Speed Control Token-bucket global rate limiting — download in the background without killing your browsing
Resume Anywhere Every byte tracked in SQLite with WAL; power loss never costs you progress
Browser Integration Three-layer download interception, streaming media sniffing, Alt+Click bypass, right-click send
Beautiful Interface shadcn-style widgets, IDM-style segment visualization, named queues, system tray
Clean & Private Zero ads, zero telemetry lock-in, zero accounts — your data never leaves your machine

FluxDown vs. IDM

FluxDown IDM
Price Free forever $24.95 + renewals
Open source Yes (AGPL-3.0) No
Platforms Windows / macOS / Linux Windows only
BitTorrent & magnet Yes No
eD2K / eMule links Yes No
HLS / DASH streaming Yes Partial
Dynamic segmentation Yes Yes
Browser extension Chrome / Edge / Firefox Yes
Ads & tracking None

Installation

Grab the latest build from GitHub Releases or fluxdown.zerx.dev:

Platform Packages
Windows (x64 / ARM64) setup.exe installer · portable .zip
macOS (Intel / Apple Silicon) .dmg · portable .tar.gz
Linux (x64) .AppImage · .deb · Arch .pkg.tar.zst · portable .tar.gz

Browser Extension

Install the extension so FluxDown takes over browser downloads automatically:

Chrome Web Store Edge Add-ons Firefox Add-ons

Architecture

Flutter renders the UI; a zero-FFI Rust engine does the heavy lifting. The two talk through Rinf signals, and the browser extension connects via Native Messaging.

flowchart TD
    EXT["Browser Extension (WXT)"] -->|Native Messaging| NMH["fluxdown_nmh"]
    NMH -->|Named Pipe / Unix socket| HUB
    UI["Flutter UI (shadcn_ui)"] <-->|Rinf signals| HUB["hub — FFI adapter"]
    HUB --> ENGINE["fluxdown_engine"]
    ENGINE --> HTTP["HTTP/HTTPS"]
    ENGINE --> FTP["FTP"]
    ENGINE --> BT["BitTorrent"]
    ENGINE --> ED2K["eD2K"]
    ENGINE --> HLS["HLS / DASH"]
    ENGINE --> DB[("SQLite")]
Layer Tech Path
UI Flutter + shadcn_ui lib/
FFI bridge Rinf (Dart ↔ Rust signals) native/hub/
Download engine Rust + Tokio (zero FFI deps) native/engine/
Browser extension WXT + TypeScript fluxDown/
Website Astro + React website/

Building from Source

Prerequisites: Flutter SDK · Rust toolchain · Rinf CLI

# Check your environment
rustc --version
flutter doctor

# Install the Rinf CLI (once)
cargo install rinf_cli

# Fetch dependencies & generate Dart bindings
flutter pub get
rinf gen

# Run in debug mode
flutter run

# Build a release
flutter build windows --release   # or: macos / linux
Linux system dependencies
# Debian/Ubuntu
sudo apt-get install cmake ninja-build clang pkg-config \
  libgtk-3-dev libayatana-appindicator3-dev libnotify-dev libsecret-1-dev patchelf zstd

# Arch Linux
sudo pacman -S cmake ninja clang pkgconf gtk3 libayatana-appindicator libnotify libsecret patchelf zstd

The NMH relay binary (fluxdown_nmh) is built automatically by CMake during flutter build. Distribution packages (AppImage / deb / Arch / portable) are produced by CI on every tag.

Running tests
flutter test                          # Dart tests
cargo test -p fluxdown_engine        # Rust engine tests
cargo test -p hub                    # FFI adapter tests

Contributing & Community

Pull requests are welcome! Before submitting, please make sure:

cargo fmt --check && cargo clippy -- -D warnings   # Rust
flutter analyze                                     # Dart

License

Distributed under the GNU Affero General Public License v3.0.

If FluxDown saves you time, consider giving it a Star — it helps more people discover the project.

Made by zerx-lab

Install FluxDown on Unraid in a few clicks.

Find FluxDown in Community Apps on your Unraid server, review the template, and click Install. Unraid handles the Docker app or plugin setup from the published template.

Open the Apps tab on your Unraid server Search Community Apps for FluxDown Review the template variables and paths Click Install

Related apps

Explore more like this

Explore all

Details

Repository
ghcr.io/zerx-lab/fluxdown-server:0.1.54
Last Updated2026-07-07
First Seen2026-07-05

Runtime arguments

Web UI
http://[IP]:[PORT:17800]/
Network
bridge
Shell
sh
Privileged
false

Template configuration

WebUI PortPorttcp

FluxDown Web UI / REST API / WebSocket

Target
17800
Default
17800
Value
17800
DataPathrw

Database, logs and admin token

Target
/data
Default
/mnt/user/appdata/fluxdown/data
Value
/mnt/user/appdata/fluxdown/data
DownloadsPathrw

Default download directory

Target
/root/Downloads
Default
/mnt/user/downloads
Value
/mnt/user/downloads
TZVariable

Timezone

Default
Etc/UTC
Value
Etc/UTC