7.6 KiB
Firelink brings the efficiency of multi-segmented download managers (like IDM or FDM) to macOS with a modern, native SwiftUI interface. Designed specifically for Apple Silicon, it delivers high-speed concurrent transfers, drag-and-drop queue control, automated file organization, and Keychain-secured authentication—all in a lightweight native package.
📸 Screenshots
Dark mode is shown by default. Light mode is tucked away below so the README stays easy to scan.
☀️ View Light Theme Screenshots
✨ Key Features
- ⚡ High-Speed Downloads: Multi-segmented download engine powered by
aria2cfor concurrent connections and optimal bandwidth utilization. Supports HTTP, HTTPS, FTP, and SFTP. - 🎨 Native macOS & SwiftUI: Responsive interface designed natively for Apple Silicon, featuring resizable tables, customizable columns, sidebar filters, and an in-app Settings page with a built-in update checker.
- 🗂️ Smart Queue & Categories: Drag-and-drop priority ordering, batch link ingestion with smart parsing, and automatic file organization (
Musics,Movies,Compressed,Pictures,Documents,Other) based on extension detection. - 🛡️ Reliability & Recovery: Built-in download recovery and retry handling for interrupted or unstable transfers.
- 🔒 Keychain Security: Local macOS Keychain integration for secure site credential storage and matching during transfers.
- ⚙️ Power & System Integrity: Optional system sleep prevention during active downloads, disk-space safety checks, and automated cleanup of partial
.aria2metadata cache files.
🔍 View Full Feature Index (30+ features)
All native SwiftUI macOS features:
- Core Download Engine:
- Segmented downloads with per-file connection/split counts.
- Multi-threaded, parallel downloading with configurable limits.
- Support for HTTP, HTTPS, FTP, and SFTP transfers via
aria2c. - Automatic download recovery and retry handling for unstable connections.
- Advanced Queue Control:
- Drag-and-drop download reordering to manage priorities.
- Comprehensive download table with resizable, custom columns (Name, Size, Status, ETA, Dates).
- Individual download controls: pause, resume, stop, and queue actions.
- Smart Link Ingestion:
- Batch Add window for pasting multiple links at once.
- Automated link parsing (whitespaces, newlines, standard separators).
- Disk space availability checks and total size calculation prior to adding.
- File Organization:
- Automatic categorization of files (Music, Movies, Compressed, Documents, Images) into structured subfolders under
~/Downloads. - Smart fallback to customizable download folders per category.
- Automatic cleanup of unfinished
.aria2metadata/cache files on removal.
- Automatic categorization of files (Music, Movies, Compressed, Documents, Images) into structured subfolders under
- Security & System:
- Local macOS Keychain integration for site logins.
- Prevents system sleep while active transfers are in progress, preserving display sleep.
- Built-in update checker inside the Settings About pane.
- Release
.appbundle build scripts ready for distribution.
⚙️ Engine Architecture
Firelink leverages aria2c under the hood as its core download engine. Unlike standard curl, aria2c allows:
- Segmented Downloads: Splits files into multiple streams for maximum transfer speeds.
- Unified Connection Control: A single slider regulates both the server connection count and segment split count, matching the intuitive behavior of classic managers like IDM/FDM.
- Built-in Resumability: Seamlessly resumes interrupted or paused downloads without data corruption.
🛠️ Requirements & Setup
1. Requirements
- OS Support: macOS 14.0 or newer (built natively for Apple Silicon).
- Engine:
aria2cis fully packaged and bundled internally for a true Zero-Config experience. No external installations are required.
For Developers: If you are building the project from source, you must have the Swift 6.0 toolchain (Xcode 15+) installed.
2. Build & Run
Run the application directly via the terminal:
swift run Firelink
Or build a production .app bundle:
make app && open build/Firelink.app
Create a local Apple Silicon DMG:
make dmg
Release
GitHub Actions builds and publishes the macOS ARM64 DMG when a version tag is pushed:
git tag v0.4.1
git push origin v0.4.1
🧩 Browser Extension
The browser extension for Firelink is developed in a separate repository. You can find the extension source code, track its development, and download releases at:
For local development parity, this repository tracks the extension via a Git Submodule located in the Extensions/ directory.
🗺️ Roadmap
- Data Persistence: Store history, column layout preferences, and active queues across restarts.
- Zero-Config Setup: Automatically bundle and configure
aria2cinside the.appbundle. - Bandwidth Limits: Add global and per-download speed caps and calendar schedules.
- Browser Extensions: Capture links directly from Safari, Chrome, and Firefox. (See Firelink-Extension repository)
- Advanced Transfer Features: Checksum validation, cookie/header ingestion, and smart mirror failovers.
- Updates & Releases: GitHub Actions DMG release pipeline and built-in update checker.
- Distribution: Notarized
.appreleases and Homebrew formulae.
🏆 Credits
Firelink relies on aria2 as its underlying multi-protocol and multi-source command-line download utility. Special thanks to the aria2 contributors for their excellent engine.
📄 License
Firelink is released under the MIT License. See LICENSE for details.





