Firelink brings segmented downloads, media extraction, scheduling, and browser integration into one native-feeling desktop application. The current app uses a Rust backend with a React and TypeScript interface, replacing the original SwiftUI implementation.
- Fast transfers with segmented downloading powered by aria2
- Media downloads through yt-dlp, FFmpeg, and Deno
- Persistent queues with configurable concurrency and speed limits
- Download scheduling with optional post-queue system actions
- Pause, resume, retry, and duplicate-file handling
- Smart organization with categories and configurable destinations
- Browser integration through the Firelink Companion extension
- Secure local handoff using authenticated extension pairing
- System integration including tray controls, notifications, and sleep prevention
- Built-in update checks backed by GitHub Releases
Important
The Rust and Tauri application is still completing release packaging. The
current v0.7.3 macOS asset on GitHub Releases belongs to the archived SwiftUI
implementation.
For now, run the maintained application from source using the development instructions below. New packaged builds will be published through GitHub Releases once the migration is complete.
Firelink is currently developed and tested on macOS. Production bundles include the media engines, so packaged releases will not require separate aria2, yt-dlp, FFmpeg, or Deno installations.
Install Firelink Companion for Firefox to send browser downloads directly to Firelink. Pair the extension from Settings → Integrations using the generated local token.
The migration from SwiftUI to Rust, Tauri, React, and TypeScript is in its final stage. The new application is the maintained implementation at the repository root.
| Target | Status |
|---|---|
| macOS | Active development and automated testing |
| Windows | Core architecture prepared; packaging and validation pending |
| Linux | Core architecture prepared; packaging and validation pending |
See the changelog for release history and recent work.
- 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 frontend build and backend tests:
npm run build
cd src-tauri
cargo test --all-targetsCreate a production bundle:
npm run tauri buildNative media executables and runtime files are expected in
src-tauri/binaries when running or packaging the application locally.
.
├── src/ React and TypeScript interface
├── src-tauri/ Rust backend and Tauri configuration
├── Extensions/Firefox/ Firelink Companion submodule
└── legacy/swift/ Archived SwiftUI application
- Tauri 2 for the desktop runtime
- Rust and Tokio for native application logic
- React and TypeScript for the interface
- Zustand for frontend state
- SQLite for persistent application data
- aria2, yt-dlp, FFmpeg, and Deno for download and media processing
Firelink is available under the MIT License.