SuperAPI AI Directory

FluxDown

Control the FluxDown multi-protocol download manager (HTTP, FTP, BitTorrent, HLS): add, list, pause, resume and remove downloads and manage queues.

Open website

About this tool

Purpose

FluxDown is a multi-protocol download manager positioned as a free, open-source IDM alternative, used to centrally manage various download tasks on desktop, mobile, or server.

Main Capabilities

  • Dynamic download acceleration: Rust + Tokio engine, supporting adaptive segmentation and slow-segment remediation.
  • Multi-protocol support: HTTP/HTTPS, FTP, BitTorrent, eD2K, HLS, and DASH streaming.
  • Multi-client: Native GPUI desktop, Kotlin Android, SwiftUI iOS app, React Web UI, and CLI.
  • Browser integration: Chrome / Edge / Firefox extensions, with a three-layer interception engine, plus user scripts.
  • For AI agents: Built-in MCP (Model Context Protocol) server, allowing AI clients such as Claude and Cursor to manage downloads.
  • Automation and remote management: RSS subscriptions, scheduled queues, Webhooks, plugins, and optional FluxCloud device collaboration.
  • Local-first: Free and open source, no ads, no account required for local downloads; resumable state is stored locally by default.

Usage

Browser extension: After installing the extension, FluxDown can automatically take over browser downloads via Native Messaging; a Tampermonkey user script is also provided.

Server deployment: The headless service consists of fluxdown-agent --server plus fluxdownd , with a built-in Web UI. The Docker image retains the name ghcr.io/zerx-lab/fluxdown-server. After starting with the provided Compose configuration, visit http://<server>:17800/, and set the access key in the first-run wizard (must be 8–128 visible ASCII characters and contain both letters and numbers). Server mode listens by default on 0.0.0.0:17800, which can be overridden with FLUXDOWN_BIND . Persist /data(database, logs, and access key) and /root/Downloads(downloaded content). Native deployment requires placing fluxdown-agent and fluxdownd in the same directory.

CLI and HTTP API: Thefluxdown CLI connects by default to the HTTP API of a running desktop client or server. On desktop, the management API must first be enabled in "Settings → API Service"; provide the access key via FLUXDOWN_TOKEN , and select a remote server using FLUXDOWN_URL or --url . The desktop default address is 127.0.0.1:17800.

MCP server: Implements a stateless Streamable HTTP subset on the same API port (JSON-RPC 2.0, POST /mcp). The default desktop configuration endpoint is http://127.0.0.1:17800/mcp. Authentication uses a Bearer token (Authorization: Bearer <token> or X-FluxDown-Token), shared with the management API. On desktop, the MCP endpoint can be enabled in "Settings → API Service"; headless servers enable it by default.

Building from source: Requires the Rust toolchain and platform-native build tools (MSVC on Windows, Xcode Command Line Tools on macOS); Linux desktop builds also require graphics-, audio-, and tray-related development libraries; the Web UI requires Bun. Android uses Android Studio's JBR, Android SDK/NDK, and cargo-ndk; iOS uses Xcode.

Architecture Highlights

  • The Daemon handles the download itself: engine, download database, queue, RSS, plugins, and Webhooks.
  • The Agent handles integration: UI gateway, FluxCloud account/sync, device collaboration, browser capture, and desktop tray/lifecycle.
  • Shared contracts:native/protocol defines transport-agnostic DTOs, methods, and events;native/api exposes REST, aria2, and MCP through ApiHost.
  • Engine independence: EventSink and HostSelection connect the engine and the host. The same data directory can only be written by one engine at a time.
  • Desktop paths:fluxdown-desktop → fluxdown-agent → fluxdownd; headless deployment reuses the agent and daemon, paired with a React Web UI. Native Android and iOS clients connect via UniFFI (native/mobile).

Use Cases

Users who need unified management of multi-protocol download tasks across desktop, mobile, and server; users who want downloads automatically taken over via browser extension; users who want AI clients to manage download workflows via MCP; users who need RSS subscriptions, scheduled queues, or Webhook-automated downloads.

Limitations and Notes

  • Local downloads do not require a FluxCloud account; cloud features are optional. Anonymous installation and daily active usage statistics are controlled by analytics_enabled and can be disabled, and no download/task information is collected; however, the official documentation explicitly states that this is not a zero-telemetry application.
  • Standalone mode cannot share the same data directory with a running engine; you must first stop the service using that directory.
  • The server side should complete initial key setup within a trusted network before being exposed externally; remote access should use an HTTPS reverse proxy; for unattended deployment, provide FLUXDOWN_TOKENvia the deployment environment or a secret manager, and do not write it into committed files.
  • If the download disk needs to sleep, it is recommended to place /data on SSD/cache storage.
  • The old native/server crate is frozen and is no longer the deployment entry point.
  • The official Android version uses the signing credentials of the native project ANDROID_NATIVE_* and cannot overwrite-install an old Flutter APK; back up data before uninstalling the old app.
  • The project is distributed under the GNU Affero General Public License v3.0.

Other

  • Official website and downloads:https://fluxdown.zerx.dev
  • Source repository:https://github.com/zerx-lab/FluxDown
  • Feedback channels: GitHub Issues or the official website feedback page; QQ group 832143651.
  • For the contribution process, see CONTRIBUTING.md in the repository.