Firelink
A fast, focused desktop download manager for macOS, Windows, and Linux.
Features · Install · Browser Extension · Development · Release Notes
View more screenshots
Why Firelink
Firelink is a desktop download manager for fast transfers, browser capture, media extraction, scheduling, and clear file placement.
It is now a cross-platform Rust/Tauri app with a React and TypeScript interface. A native backend coordinates downloads with aria2, yt-dlp, FFmpeg, Deno, and SQLite.
Features
- Segmented downloads with aria2, retries, speed limits, and connection controls.
- Media downloads with yt-dlp, FFmpeg, and Deno.
- Add window for metadata, duplicates, location choices, and captured links.
- Persistent queues with pause, resume, retry, redownload, sorting, multi-select, and bulk actions.
- Scheduling with start/stop windows, speed rules, and post-queue actions.
- File organization with categories, default folders, per-download overrides, and reveal/trash actions.
- Browser handoff through local pairing, signed requests, replay protection, and server checks.
- Desktop integration with tray controls, notifications, sounds, sleep prevention, and secure credential storage.
- Diagnostics with engine health checks, structured logs, and package verification.
Installation
Download desktop builds from GitHub Releases.
| Platform | Package | Notes |
|---|---|---|
| macOS Apple silicon | .dmg | Not notarized. If macOS blocks the first launch, approve Firelink in System Settings -> Privacy & Security. |
| Windows x64 | NSIS .exe installer | Unsigned. Windows SmartScreen may warn until code signing is added. |
| Linux x64 | .AppImage | Make executable before launching if your desktop environment does not do that automatically. |
Bundles include the required engines. Users do not need aria2, yt-dlp, FFmpeg, Deno, Python, Homebrew, or another package manager.
Browser Extension
Firelink Companion sends browser links and downloads to the desktop app.
What it adds:
- Automatic capture for regular browser downloads.
- Context-menu actions for links and selected text.
- Firefox and Chromium support.
- Signed local requests using the token from Settings -> Integrations.
- Fallback to the browser download when Firelink is closed or rejects a handoff.
Install the extension, open Firelink, then pair it from Settings -> Integrations. Firefox users can install from Mozilla Add-ons. Chromium users can use the manual load-unpacked flow with firelink-chromium.zip from the extension releases.
The extension lives in Firelink-Extension. This repo also vendors it as the Extensions/Firefox submodule.
Platforms
| Target | Status |
|---|---|
| macOS arm64 | Supported. Native build, engine checks, launch smoke test, ad-hoc-signed DMG workflow. |
| Windows x64 | Supported. Native build, engine checks, silent installer smoke test, NSIS installer. |
| Linux x64 | Supported. Native build, engine checks, xvfb launch smoke test, AppImage. |
Development
Requirements
- Node.js 22 or newer
- npm
- Rust and Cargo
- Tauri 2 platform prerequisites
Clone the repository with its browser-extension submodule:
git clone --recurse-submodules https://github.com/nimbold/Firelink.git
cd FirelinkInstall dependencies and launch the desktop app:
npm install
npm run tauri devRun the core checks:
node --test scripts/*.node-test.js
npm test -- --run
npm run build
cd src-tauri
cargo test --all-targetsCreate a production bundle:
npm run tauri buildmacOS uses locked payloads in src-tauri/binaries. Provision Windows and Linux payloads from checksum-pinned archives:
node scripts/provision-engines.js --target x86_64-pc-windows-msvc
node scripts/provision-engines.js --target x86_64-unknown-linux-gnuBuild staging includes only the current target. See engines.lock.json, engine-sources.lock.json, and RELEASE.md.
Repository Structure
.
├── src/ React and TypeScript interface
├── src-tauri/ Rust backend, Tauri config, and native tests
├── scripts/ Engine provisioning, release, and smoke-test tooling
└── Extensions/Firefox/ Firelink Companion submoduleHelp and Project Status
- Report bugs or request improvements in GitHub Issues.
- Read CHANGELOG.md for release history.
- Review RELEASE.md for packaging policy and release verification.
Technology & Credits
Firelink is made possible by these open-source projects:
- Tauri 2 for the lightweight desktop runtime
- Rust and Tokio for native application logic
- React and TypeScript for the interface
- Zustand for frontend state management
- SQLite for persistent local data
- aria2 for segmented downloading
- yt-dlp, FFmpeg, and Deno for media extraction and processing
License
Firelink is available under the MIT License.