Files
Firelink/README.md
T
NimBold a0f44b79ad feat(portable): add secure Windows portable release (#15)
Implement marker-based portable storage, portable WebView and log paths, secure queue and migration sanitization, and Windows portable ZIP validation while preserving the NSIS installer path.

Refs #15
2026-07-12 23:08:56 +03:30

9.8 KiB

Firelink

Firelink

A fast, focused desktop download manager for macOS, Windows, and Linux.

Version macOS Windows Linux License CI

Features · Install · Browser Extension · Development · Release Notes


Firelink dark theme main window Firelink dark theme add window Firelink light theme main window Firelink light theme add window
View more screenshots
Firelink dark theme settings Firelink light theme settings

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.0.4, paired with Firelink Companion 2.0.3.

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 portable fallback. 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 and the Windows portable ZIP are the portable distribution options for their respective platforms.

The Windows portable archive is an opt-in secondary distribution. Keep the extracted folder writable; Program Files, read-only media, and some network or synchronized folders can prevent SQLite and WebView data from being saved. Close Firelink before copying or moving the folder. Only one Firelink instance can run at a time, so close the installed app before launching the portable copy. Portable mode keeps application settings, queues, logs, and WebView data beside the executable. Credentials, browser cookies, and URL query/fragment data are not persisted in portable queue records; active downloads that depend on those URL components are marked failed and must be added again after restart. Saved site passwords remain in the Windows credential store and are intentionally not copied into the archive. The portable folder contains the extension pairing credential needed to preserve extension integration, so treat the folder as sensitive and do not share it. Saved absolute download locations may need to be selected again if the folder is moved to a different drive. The installer remains the supported path for firelink:// browser launch registration.

Browser Extension

Install Firelink Companion from Firefox Add-ons    Read manual Chromium install instructions

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.3 is the matching extension release for Firelink 1.0.4.

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

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

Technology & Credits

Firelink is made possible by these open-source projects:

License

Firelink is available under the MIT License.