Firelink

Firelink is a clean SwiftUI download manager for Apple Silicon Macs. The goal is to bring the practical parts of IDM/FDM-style download management to macOS with a native interface, segmented downloads, queue control, automatic file organization, and credential-aware transfers.

This project is early, but it already has a working native prototype and an aria2c-backed download engine.

Features

  • Native SwiftUI macOS interface.
  • Segmented downloads with 16-32 requested parts per file.
  • Multiple files downloading at the same time.
  • Queue-based downloads with drag-and-drop priority ordering.
  • Automatic save folders under ~/Downloads:
    • Musics
    • Movies
    • Compressed
    • Pictures
    • Documents
    • Other
  • Broad file extension detection for audio, video, archive, image, and document formats.
  • HTTP, HTTPS, FTP, and SFTP URL support through aria2c.
  • Optional per-download username/password support for servers that require authentication.
  • Pause, resume, cancel, delete, progress, speed, ETA, and connection count display.
  • Release .app bundle script for local macOS builds.

Engine

This first version uses aria2c as the download engine. It is a better fit than plain curl for the requested IDM/FDM-style behavior because it has segmented downloads, resumable transfers, concurrent downloads, HTTP/FTP/SFTP support, and username/password options built in.

The UI allows 16-32 requested parts. For ordinary same-host HTTP downloads, Firelink currently caps aria2c's per-server connection count at 16 while still setting the requested split count. This keeps behavior aligned with common server limits and aria2c's stable controls.

Requirements

Install the engine:

brew install aria2
  • macOS 14 or newer.
  • Apple Silicon Mac.
  • Swift 6 toolchain.
  • aria2c installed with Homebrew, or bundled into the app resources later.

Run

swift run Firelink

Build a release .app bundle:

make app
open build/Firelink.app

Because the current machine only has Command Line Tools selected, this repository is set up as a Swift Package with a bundling script rather than a generated Xcode project. Opening the package in Xcode will still give you a native macOS app workflow.

Roadmap

  • Persist download history and queue state.
  • Add Keychain-backed credential storage.
  • Add browser integration and URL capture.
  • Add scheduler rules and speed limits.
  • Add checksum verification.
  • Add richer failure recovery and retry policies.
  • Add unit tests for file classification, queue behavior, and aria2c progress parsing.

License

Firelink is released under the MIT License. See LICENSE.

S
Description
Languages
TypeScript 55.2%
Rust 37.4%
JavaScript 3.8%
CSS 3.6%