How zerx-lab/fluxdown works
FluxDown is a cross-platform, multi-protocol download manager. Its principal workflow is that a user submits a link or browser-captured resource through a client; the shared Rust engine manages transfers, queues and persistence, and clients present task state and results. The README documents desktop, mobile, web, CLI, browser, server/API, RSS, plugins, automation and optional cloud/device capabilities. Some runtime modules were not sampled, so edges for those documented integrations cite the README; implementation detail is limited to the available source excerpts and index.
Main entry points: engine Transfer engine · state.rs Agent host · app.rs Desktop app · background Browser extension
Components 19
User clients
- Desktop app
crates/app/src/app.rs - Mobile apps
mobile/Android/app/src/main/java/com/fluxdown/app - Web UI
web/src - CLI
native/cli/src/main.rs - Desktop downloads UI
crates/downloads/src/controller.rs
Browser integration
- Browser extension
fluxDown/background - Capture rules
fluxDown/rules/engine.ts
Download runtime
- Agent host
native/agent/src/state.rs - Transfer engine
native/engine - Task persistence
native/engine/src/db.rs
Server and automation
- Headless server
native/server/src/main.rs - HTTP and RPC API
native/api/src/routes.rs - Live server updates
native/server/src/ws_hub.rs - Plugin runtime
native/engine/src/plugin/quickjs.rs - RSS automation
crates/rss/src/controller.rs - Queues and webhooks
native/engine/src
Optional collaboration
- FluxCloud
native/agent/src/cloud - Paired devices
native/link/src/manager.rs
Other components
- User
Connections 23
- User → Desktop app: submits downloads
- User → Mobile apps: submits downloads
- User → Web UI: manages tasks
- User → CLI: runs commands
- User → Browser extension: browses resources
- Browser extension → Capture rules: evaluates captures
fluxDown/rules/engine.ts - Browser extension → Agent host: sends downloads
- Desktop app → Agent host: connects to agent
- Mobile apps → Transfer engine: runs transfers
- Web UI → HTTP and RPC API: calls service
- CLI → Transfer engine: runs transfers
- Agent host → Transfer engine: hosts engine
- Headless server → Transfer engine: hosts engine
- Transfer engine → Task persistence: persists task state
native/engine/src/plugin/manager.rs - Agent host → Desktop downloads UI: feeds task events
- Desktop app → Desktop downloads UI: presents downloads
crates/app/src/app.rs - HTTP and RPC API → Headless server: routes requests
- Headless server → Live server updates: publishes updates
- Transfer engine → Plugin runtime: loads plugins
native/engine/src/plugin/manager.rs - Transfer engine → RSS automation: supports subscriptions
- Transfer engine → Queues and webhooks: supports automation
native/engine/src/plugin/manager.rs - Agent host → FluxCloud: syncs optionally
native/agent/src/cloud_notify/pipeline.rs - Agent host → Paired devices: pairs optionally