9.8 KiB
Firelink
A fast, focused desktop download manager for macOS, Windows, and Linux.
Features · Install · Browser Extension · Development · Release Notes
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.
The current desktop release is 1.1.0, paired with Firelink Companion 2.0.4.
This stability-focused release adds a secure Windows portable build and strengthens queues, browser handoffs, media metadata, persistence, and packaged release checks.
Features
- Segmented downloads with aria2, retries, speed limits, and connection controls.
- Media downloads with yt-dlp, FFmpeg, Deno, live progress, speed, and ETA.
- Add window for metadata, duplicates, location choices, captured links, and clipboard-prefilled URLs.
- 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, a collapsible Folders section, per-download overrides, and reveal/trash actions.
- Browser handoff through local pairing, signed requests, Add window review, 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. |
| Windows x64 portable | .zip archive |
Extract to a writable folder and launch firelink.exe. App data stays under the archive's data/ directory. |
| Linux x64 | .deb, .rpm, or .AppImage |
Use .deb for Debian-family systems, .rpm for Fedora/RPM-family systems, or AppImage as the self-contained package. AppImage may need executable permission. |
Bundles include the required engines. Users do not need aria2, yt-dlp, FFmpeg, Deno, Python, Homebrew, or another package manager.
The native packages use the distribution's normal desktop runtime dependencies. AppImage is self-contained but uses the normal per-user application-data locations.
Windows portable
The portable ZIP is an opt-in secondary distribution:
- Keep the extracted folder writable; avoid
Program Files, read-only media, and folders that block SQLite or WebView writes. - Settings, queues, logs, and WebView data stay beside
firelink.exeunderdata/. - Close Firelink before moving or copying the folder, and close the installed app before launching the portable copy.
- Credentials, browser cookies, and URL query/fragment data are not saved in portable queue records. Active downloads that depend on them must be added again after restart.
- Saved site passwords remain in the Windows credential store and are not copied into the archive.
- The folder contains the extension pairing credential, so treat it as sensitive and do not share it.
- Saved absolute download locations may need to be selected again after moving the folder to another drive.
- The installer remains the supported path for
firelink://browser launch registration.
Browser Extension
Firelink Companion sends browser links and downloads to the desktop app.
What it adds:
- Automatic capture for regular browser downloads.
- Explicit Fetch media actions from the popup and page context menu.
- 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.
- Captured links always open Firelink's Add window before anything is added to the download list.
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. Firelink Companion 2.0.4 is the matching extension release for Firelink 1.1.0.
The extension lives in Firelink-Extension. This repo also vendors it as the Extensions/Browser 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, bundled-engine checks, package/AppImage launch smoke tests, .deb, .rpm, and 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 Firelink
Install dependencies and launch the desktop app:
npm install
npm run tauri dev
Run the core checks:
node --test scripts/*.node-test.js
npm test -- --run
npm run build
cd src-tauri
cargo test --all-targets
Create a production bundle:
npm run tauri build
macOS 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-gnu
Build 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/Browser/ Firelink Companion submodule
Help 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.





