FluxDown

FluxDown

apps.detail.types.app from UnraidUser-8191342418's Repository

apps.detail.sections.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 MCP Server

Awesome Rust Awesome Windows Awesome Free Apps Android FOSS Open Source Android Portainer Unraid CA Chinese Indie Dev

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
  • AI-agent ready — built-in MCP (Model Context Protocol) server: let Claude, Cursor & other AI clients manage your downloads
  • 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 and open source, no ads, no tracking, no account required, 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
MCP Server Built-in Model Context Protocol endpoint (Streamable HTTP) with 12 tools — AI agents can add, monitor and control downloads
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 & open source $24.95 + renewals
Open source Yes (AGPL-3.0) No
Platforms Windows / macOS / Linux / NAS / Android 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
Android (arm64-v8a / armeabi-v7a / x86_64) per-ABI .apk · universal .apk
NAS / Server (headless, x64 / ARM64) Docker · Synology DSM 6/7 .spk · QNAP .qpkg · OpenWrt .ipk · Unraid CA template · CasaOS / ZimaOS app store

Browser Extension

Install the extension so FluxDown takes over browser downloads automatically:

Chrome Web Store Edge Add-ons Firefox Add-ons

MCP Server (Model Context Protocol)

FluxDown ships a built-in MCP server so AI agents (Claude Desktop, Cursor, Cline, …) can manage downloads via the Model Context Protocol. It speaks Streamable HTTP (JSON-RPC 2.0 over a single POST /mcp) on the local API port — no extra process needed.

  • Endpoint: http://127.0.0.1:17800/mcp (local-only by default)
  • Auth: Bearer token (Authorization: Bearer <token> or X-FluxDown-Token), shared with the management API
  • Enable: Settings → API Service → toggle MCP endpoint (a token is generated automatically); the headless server enables it by default

Tools (12)

Tool Description
download_add Create a download task (HTTP/HTTPS, FTP, magnet, BitTorrent)
download_list List tasks with progress/speed/status, optional status filter
download_get Get a single task by ID
download_pause / download_resume Pause / resume one task
download_pause_all / download_resume_all Pause / resume all tasks
download_remove Remove a task, optionally deleting downloaded files
queue_list List named queues and their configuration
rss_list List RSS subscriptions with their configuration and runtime state
rss_add Subscribe to an RSS feed and start polling it on a schedule
rss_remove Delete an RSS subscription and the items it collected

Client configuration

{
  "mcpServers": {
    "fluxdown": {
      "url": "http://127.0.0.1:17800/mcp",
      "headers": { "Authorization": "Bearer <your-token>" }
    }
  }
}

The MCP layer is implemented in native/api/src/mcp.rs on top of the same ApiHost trait that powers the REST management API and aria2-compatible JSON-RPC.

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

# Clone the development branch (main = active development, stable = stable releases)
git clone -b main https://github.com/zerx-lab/FluxDown.git
cd FluxDown

# 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! Branch off main and target main — it is the development branch, while stable only tracks stable releases (maintainers advance it from main). Before submitting, please make sure:

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

See CONTRIBUTING.md for the full workflow.

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

apps.marketingCta.appInstallTitle

apps.marketingCta.appInstallDescription

apps.installHelp.stepOpen apps.installHelp.stepSearchApp apps.installHelp.stepReview apps.installHelp.stepInstall

apps.detail.sections.categories

apps.detail.sections.related

apps.detail.sections.details

apps.detail.details.repository
ghcr.io/zerx-lab/fluxdown-server:0.1.54
apps.detail.details.registry
apps.detail.details.lastUpdated2026-08-11
apps.detail.details.firstSeen2026-07-05

apps.detail.sections.runtime

apps.detail.details.webui
http://[IP]:[PORT:17800]/
apps.detail.details.network
bridge
apps.detail.details.shell
sh
apps.detail.details.privileged
false

apps.detail.sections.configuration

WebUI PortPorttcp

FluxDown Web UI / REST API / WebSocket

apps.detail.config.target
17800
apps.detail.config.default
17800
apps.detail.config.value
17800
DataPathrw

Database, logs and admin token

apps.detail.config.target
/data
apps.detail.config.default
/mnt/user/appdata/fluxdown/data
apps.detail.config.value
/mnt/user/appdata/fluxdown/data
DownloadsPathrw

Default download directory

apps.detail.config.target
/root/Downloads
apps.detail.config.default
/mnt/user/downloads
apps.detail.config.value
/mnt/user/downloads
TZVariable

Timezone

apps.detail.config.default
Etc/UTC
apps.detail.config.value
Etc/UTC