This repository contains the standalone development files and releases for the Firelink Companion browser extension.
Firelink Companion bridges the gap between your web browser and the native Firelink macOS download manager.
It intelligently intercepts browser downloads, captures media URLs, and forwards them directly to the native app, allowing you to bypass your browser's default manager and harness the full power of Firelink's multi-segmented aria2 and yt-dlp engines.
The extension has been updated to v1.0.14 with robust performance and security enhancements:
- HMAC-SHA256 Authentication: All requests to the native Firelink app are now cryptographically signed using the Web Crypto API to ensure maximum security against replay and CSRF attacks.
- Local API Port Range: The desktop app and extension communicate through
127.0.0.1:6412-6422. - Context-Aware Behavior: Automatic captures resume in Firefox when Firelink is unavailable, while explicit “Download with Firelink” actions can launch the native app through its registered protocol.
- Firefox MV3 Optimized: 100% compliant with strict Manifest V3 Content Security Policies and optimized Event Page architectures.
- Zero Race Conditions: Secure async state handling guarantees your capture settings are strictly respected even upon background wakeup.
- Duplicate Prevention: Browser downloads are paused during handoff and are canceled only after Firelink confirms acceptance.
- Connection Check: The popup verifies the local app through
/pingwith the new signature model, showing clear connection states.
We are officially live on the Mozilla Add-on store!
If you wish to test unreleased features or modify the extension yourself:
- Download the latest source code or clone the repository.
- Open Firefox and navigate to
about:debugging#/runtime/this-firefox. - Click on Load Temporary Add-on...
- Select the
manifest.jsonfile from the directory. - Open Firelink Settings → Integration, copy the pairing token, then paste it into the extension popup.
Note: Temporary installations reset when you restart your browser. Support for Chrome/Safari is planned for the future.
Released under the MIT License.