Mac Download Manager app icon
macOS · Notarized

Mac Download Manager

Every download, at the speed your connection actually has.

A from-scratch C++ engine splits each file across up to 64 connections that rebalance themselves while the download runs. Files, video and torrents in one native app — with resume that survives a power cut and a private mode that fails closed.

Universal — Apple Silicon & Intel · Signed & notarized · Not an Electron app

64

Parallel connections per file

4

Protocols — HTTP, HTTPS, FTP, FTPS

1

Clean output file, no reassembly

Tor

Private mode, fail-closed

The engine

Written from scratch, in C++, for one job.

The interface is SwiftUI. Underneath it is dle — a C++17 download engine built directly on libcurl, with no framework in between. It does one thing: move bytes off a server as fast as the server will let it.

Dynamic segmentation

The file is never split in advance.

Naïve accelerators cut a file into equal pieces up front. When one piece is served slowly, the whole download waits for it. This engine never does that.

It starts as a single segment. Each new connection finds the largest remaining piece and splits it in half, taking the back end for itself. When a connection finishes, it adopts an abandoned segment or halves the biggest one again. The fast connections keep taking work off the slow ones, right up until the last byte.

  • No fixed segment count — the shape adapts to real conditions
  • Slow connections get helped, not waited on
  • A split floor stops pointless division of tiny pieces
  • Direct positioned writes — segments land at their real offsets, so there is no reassembly pass at the end
downloaded remaining segment boundary

Segments are created during the download, not before it.

Connection reuse

Connect once. Keep using it.

Every connection holds a single live handle and issues successive ranged requests over the same TCP, TLS or FTP session. No reconnecting between segments. No re-negotiating TLS. No logging in to an FTP server again and again.

When the coordinator hands half of a segment to another connection, the current one simply stops earlier at the next block boundary — the transfer is never aborted, so the connection stays warm and reusable.

connection 040 block requests over 1 TCP connection — full reuse
connection 133 block requests over 1 TCP connection — full reuse
connection 228 block requests over 1 TCP connection — full reuse

Handshakes cost time. This engine pays for them once.

Resume

Pull the plug. Nothing is lost.

A small sidecar file sits next to your download and is rewritten atomically every few seconds, and again the moment you stop. It records the exact position of every segment.

When you come back, the engine re-checks that the remote file hasn't changed — comparing size along with the ETag or Last-Modified validator — and then picks up from the precise byte each segment reached. Not the start of a block. The byte. When the download completes, the sidecar deletes itself.

Remote file unchangedsize + ETag match — safe to continue
segment 3resuming at byte 1,204,338,176
segment 7resuming at byte 3,871,004,928
Survivescrash · network drop · power loss · quit

Resume is byte-exact, not block-approximate.

More than files

Video. Torrents. Privacy.

Each capability runs as its own isolated subprocess, driven over a small JSON protocol. One process per download keeps the interface responsive no matter how much is running — and keeps third-party components at arm's length from the app itself.

Video, at the quality you pick

Paste a page URL, choose a resolution, download. Audio and video are muxed with a bundled LGPL build of FFmpeg. Optionally use your browser's own session so videos you are already logged in to work — this is not a DRM or paywall bypass, and never claims to be.

Torrents, built in

Magnet links and .torrent files are handled by a dedicated libtorrent helper process, with per-torrent detail and progress in the same window as everything else. No second app to install.

Private mode that fails closed

Routes HTTP and video downloads through a bundled Tor SOCKS5 proxy, so the server sees an exit node instead of you. If the proxy drops, the download stops — it never silently falls back to a direct connection. Torrents are disabled in this mode, because BitTorrent leaks peer addresses Tor cannot hide.

Your browser hands off

Safari and Chrome extensions catch downloads, videos and torrent links and pass them to the app through a native-messaging broker, with an mdm:// fallback. Click in the browser, finish at full speed in the app.

Control

Fast when you want it. Polite when you don't.

Bandwidth limit

Cap total throughput in KB/s so a big download doesn't take the whole household's connection down with it.

Hourly quota

Progressive downloading for metered or fair-use plans: take a full bucket, then pace to your quota per rolling hour.

Sorts itself out

Optional category folders file each download by type — Video, Audio, Documents, Apps, Compressed — as it lands.

A sidebar that makes sense

All Downloads, Video, Audio, Documents, Apps, Compressed, Other — plus Completed and Incomplete, always one click away.

Starts with your Mac

Open at login so the browser hand-off is always live, with an optional completion dialog when a download finishes.

Isolated by design

Every engine runs as a separate subprocess. A misbehaving download can't take the app down, and GPL-licensed components stay out of the app binary.

Native, signed and notarized

No Electron, no bundled browser, no web view pretending to be an app. A signed Developer ID build, notarized by Apple, shipped as a universal binary for Apple Silicon and Intel and linking only system libraries. Every bundled third-party component keeps its own licence, with the full texts readable inside the app.

Specifications

The details.

Platform
macOS — universal build for Apple Silicon (arm64) and Intel (x86_64)
Built with
SwiftUI interface · C++17 download engine on libcurl
Protocols
HTTP · HTTPS · FTP · FTPS, with byte-range and REST resume. HTTP/2 optional per download
Connections
Up to 64 per file, rebalanced continuously by in-half segmentation
Resume
Atomic sidecar written every few seconds; validated on resume against size and ETag / Last-Modified
Throttling
Global rate limit and rolling-hour quota, both token-bucket based
Video
Quality selection, muxed with a bundled LGPL FFmpeg build. Non-DRM sources only
Torrents
Magnet links and .torrent files via a libtorrent-rasterbar helper process
Private mode
Bundled Tor SOCKS5 proxy with a fail-closed kill switch. Torrents disabled while active
Browser integration
Safari Web Extension and Chrome / Edge MV3 extension, over a native-messaging broker with an mdm:// fallback
Architecture
One subprocess per download, driven over newline-delimited JSON
Distribution
Signed Developer ID build, notarized by Apple, distributed outside the Mac App Store

Questions

Good to know.

How does splitting a download across connections make it faster?
Most servers cap the speed of a single connection rather than of a client. Requesting different byte ranges of the same file over several connections collects several of those allowances at once. Each connection also gets its own TCP congestion window, which helps a lot on long-distance or lossy links. Past roughly sixteen connections most links stop improving — at that point the limit is usually the server or your disk.
What happens if my Mac loses power mid-download?
Nothing is lost. The sidecar file next to your download is rewritten atomically every few seconds. On restart the engine re-validates that the remote file hasn't changed, then continues from the exact byte each segment had reached. You don't re-download a single megabyte you already had.
Can it download video from any website?
It handles ordinary, non-DRM video pages: paste a URL, pick a quality, download. It deliberately does not circumvent DRM or paywalls. There's an optional setting to use your browser's own session cookies, so content you're already legitimately logged in to works — that's a convenience for your own account, nothing more.
What exactly does Private mode do?
It routes HTTP and video downloads through a Tor SOCKS5 proxy bundled with the app, so the destination server sees a Tor exit node rather than your IP address. The kill switch is fail-closed: if the proxy isn't available the download stops rather than quietly going direct. Torrents are disabled while Private mode is on, because the BitTorrent protocol advertises peer addresses in ways a SOCKS proxy can't protect.
Is this an Electron app?
No. The interface is native SwiftUI and the engine is C++ on libcurl. It's a signed Developer ID build, notarized by Apple, shipped as a universal binary and linking only system libraries.
How do the browser extensions work?
The Safari and Chrome extensions intercept downloads, videos and torrent links and hand them to the app through a native-messaging broker over a local socket, with an mdm:// URL scheme as a fallback. You click in the browser; the download continues in the app at full speed.

Stop waiting on one connection.

Native, notarized, and built for macOS from the byte up.