A local-first HTTP(S) download manager written in Rust.
Fast queueing, resume support, rich appearance controls, and optional browser handoff.
Download · Features · Quick start · Guides · License
Get the latest Windows build from GitHub Releases:
→ Download RusticDL for Windows
Linux builds ship as RusticDL-linux-x64.tar.gz on Stable and Nightly (app + native host + updater).
Nightly (may be unstable) is an on-demand GitHub pre-release for testing new work before a Stable cut. In the app, set Settings → General → Update channel to Nightly, or grab a build from the releases list.
| Asset | What it contains |
|---|---|
RusticDL-windows-x64-setup.exe |
Recommended — NSIS installer (app + native host + browser host registration) |
RusticDL-windows-x64.zip |
Portable desktop app (rusticdl.exe) |
RusticDL-full-windows-x64.zip |
Portable app + native host + register scripts + browser extension packages |
RusticDL-linux-x64.tar.gz |
Linux app + native host + updater + install-linux.sh |
extension-chromium.zip |
Chromium / Edge / Brave unpacked extension |
extension-firefox.zip |
Firefox temporary-add-on package |
- Download
RusticDL-windows-x64-setup.exe. - Run the installer (per-user install; no administrator rights required).
- Launch RusticDL from the Start Menu.
The installer places files under %LOCALAPPDATA%\RusticDL\, creates a Start Menu shortcut, and registers the browser native messaging host for Chrome, Edge, and Firefox.
Settings and queue state live under %APPDATA%\RusticDL\. Uninstall via Apps & Features (optionally remove app data).
Note: The installer does not auto-install browser extensions. Load the extension separately (see Browser extension). GitHub Windows installers are unsigned; Windows may show SmartScreen (“Windows protected your PC”) and/or UAC. Local source builds are also unsigned.
- Download
RusticDL-linux-x64.tar.gzfrom Releases. - Extract and install (per-user, no sudo):
tar -xzf RusticDL-linux-x64.tar.gz
./install-linux.shThat copies binaries to ~/.local/lib/RusticDL/, puts rusticdl on PATH (~/.local/bin/rusticdl), writes a desktop entry, and registers the browser native messaging host with an absolute path.
Portable (no PATH / desktop entry): extract and run ./rusticdl. Register the host with ./scripts/register-native-host.sh or use Settings → Browser → Register browser host.
In-app updates replace files in the install prefix (or the portable extract folder). Snap/Flatpak browsers may not see user-level native messaging hosts.
Load the browser extension separately (see Browser extension).
- Download
RusticDL-windows-x64.zip(or the full package if you want browser integration). - Extract anywhere you like (for example
C:\Tools\RusticDL\). - Run
rusticdl.exe.
RusticDL is a simple, local-first download manager focused on everyday HTTP/HTTPS files:
- Queue multiple URLs and watch live progress
- Pause / resume when the server supports byte ranges
- Retry, restart, open files, and reveal in Explorer
- Customize look and feel (theme, accent, transparency, density, motion)
- Optionally hand browser downloads to the desktop app via a native messaging host
Stack
- UI: GPUI (Zed’s GPU-accelerated UI) + gpui-component
- Engine: multi-segment Range downloads with map-authoritative resume (falls back to single-stream)
- HTTP: browser-like client with HTTP/2 and HTTP/3 (QUIC) fallback
- Add one or many URLs (batch paste, one per line) over HTTP/HTTPS
- Queue filters: All / Active / Completed / Failed
- Search by filename, URL, or path
- Live progress: percent, size, speed, ETA
- Open a floating progress window from the queue overflow menu or detail panel while a job is still downloading
- Status bar with totals, aggregate speed, and speed limit
- Pause / resume, pause-all / resume-all
- Retry, restart, cancel, remove from the queue, or delete the file from disk (with confirmation)
- Clear completed / clear failed
- Detail panel with full job actions (open, reveal, copy path)
- Multi-connection segmented downloads for large HTTP files (parallel Range requests)
- Map-authoritative resume: paused or failed multi jobs reuse the same segment map
- Mid-transfer reconnect with short backoff
- Concurrent downloads, auto-retry with exponential backoff, optional global speed limit
- Fsync on pause (flush
.partto disk) - Nested TLS/network error details (helps diagnose flaky networks)
- Windows completion notifications: tray balloons, OS notify mode (when hidden / always / off), and in-app terminal toasts when the window is visible
- Unified active-URL duplicate policy: the same URL is not queued again while an active job already exists (manual Add and browser handoff share one rule)
- Ask-mode same-name conflict popup: Rename fills
file (1).ext, Start download stays disabled with a Duplicate Name tooltip while the typed name is taken, overwrite (replace at finalize), or cancel - Desktop Browser capture settings panel to configure extension capture preferences from the app
- Settings for download dir, concurrency, retries, speed limit, multi-segment caps, appearance, and data folder
- Appearance: light / dark / system, accents, transparency, blur, film grain, density, corners, vignette, progress styles, reduce motion
- Persisted queue, settings, and window geometry
- Browser extension handoff (Firefox + Chromium)
- Torrents / magnets
- Bulk archive finalize workflows
Install via RusticDL-windows-x64-setup.exe, then open RusticDL from the Start Menu.
Download RusticDL-linux-x64.tar.gz, extract, and run ./install-linux.sh (see Install (Linux) above).
# After extracting the zip
.\rusticdl.exeSettings and queue state are stored under:
- Windows:
%APPDATA%\RusticDL\—settings.json,state.json - Linux:
~/.local/share/RusticDL/(XDG) —settings.json,state.json
Partial downloads are written next to the destination as filename.ext.part. Multi-segment jobs also persist a segment map in state.json (transfer_format_version = 1).
- Build from source
- Browser extension
- Download engine
- Releases & contributing
- Protocol (browser bridge)
RusticDL is released under the MIT License.
You may use, copy, modify, merge, publish, distribute, sublicense, and sell copies of the software — including for commercial purposes — provided you include the copyright notice and permission notice in all copies or substantial portions of the Software.
