A fast segmented download manager for Windows, written in Rust.
Русский · English
Downloads engine
- Segmented downloads over several connections, IDM-style: when a connection finishes its part, it takes over half of the largest part still left.
- Resume after pause, restart or crash.
- Automatic retries after errors, with configurable timeouts.
- Speed limits for all downloads and for each download.
- Queue with a fixed order, a schedule for running hours and days, and an action when the queue is empty (sleep, hibernate, shut down or close).
- Categories with automatic sorting into
Downloads\DownRust. - SHA-256 verification of finished files.
- Refresh of an expired link without losing the download.
- Sparse files and optional disk space reservation before the download starts.
Video
- HLS streams, including AES-128 encrypted streams, with a choice of quality.
- DASH streams and separate audio tracks, merged with ffmpeg.
Browser
- Browser extension for Chrome, Edge, Firefox and Zen.
- Capture of browser downloads and a "Download with DownRust" context menu.
- Detection of HLS and DASH streams on the page.
Network
- Proxy from Windows, a direct connection, or a manual proxy, including SOCKS5.
- Proxy rules for each site.
- HTTP Basic logins for each site, stored in Windows Credential Manager.
Desktop
- Tray icon, floating drop zone and clipboard monitor for links.
- Drag and drop, and batch add with number patterns such as
[001-120]. - Warnings about duplicate downloads.
- Statistics for downloads.
- Optional scan of finished files with Windows Security.
- Start with Windows, single instance and portable mode.
- English and Russian interface, with light and dark themes.
Details panel with the segment map |
Statistics |
Settings |
Russian interface |
- Open the Releases page.
- Download the
.msior the.exesetup file of the latest version. - Run the file and follow the steps.
SmartScreen warning: the installer is not code-signed yet. Windows may show a warning. Click More info, then Run anyway.
To run DownRust from a folder, for example from a USB drive:
- Copy the program files to a folder.
- Create an empty file named
portablenext toDownRust.exe. - Start DownRust. Its data and logs are stored in the
datafolder next to the program.
The extension sends downloads to DownRust. It works only while DownRust runs with the browser bridge enabled. If DownRust does not answer, the browser downloads the file as usual.
- In DownRust, open Settings, then Browser. Turn on the bridge and note the port (default
52151) and the token. - Install the extension:
- Chrome and Edge: open
chrome://extensionsoredge://extensions, turn on Developer mode, choose Load unpacked and select theextensionfolder of this repository. - Firefox: open
about:debugging#/runtime/this-firefoxand choose Load Temporary Add-on. Selectmanifest.json. Firefox removes this add-on on restart. - Zen and other Firefox-based browsers: build the package with
npm run extension:build. Setxpinstall.signatures.requiredtofalseinabout:config. Then openabout:addons, choose Install Add-on From File and selectdist-extension/downrust-<version>.xpi.
- Chrome and Edge: open
- Open the extension options, enter the port and the token, click Save and then Test connection.
HLS streams download without extra tools. ffmpeg is needed for MP4 conversion, for DASH streams and for HLS streams with a separate audio track.
Install ffmpeg with winget:
winget install Gyan.FFmpegThen set the path to ffmpeg under Settings, then Video. You can also place ffmpeg next to DownRust.exe.
You need:
- Rust (stable), with the MSVC toolchain from Visual Studio Build Tools
- Node.js 22 or newer
Install the dependencies and start the app in development mode:
npm install
npm run tauri devBuild the installers:
npm run tauri buildRun the checks:
cargo test --workspace
npm testBuild the browser extension package:
npm run extension:buildDownRust is a Cargo workspace with a Node.js frontend:
crates/downrust-coreis the download engine. It handles HTTP, segments, the queue, the scheduler, media streams and the SQLite store.crates/downrust-testserveris a local test server used by the engine tests.src-tauriis the desktop shell. It holds the tray, settings, the local browser bridge and the commands for the user interface.srcis the user interface, built with React 19 and Astryx, a design system by Meta.extensionis the browser extension for Chrome, Edge, Firefox and Zen.
flowchart LR
ext["Browser extension"] -->|"127.0.0.1, token"| bridge["Local bridge"]
subgraph app["DownRust app"]
bridge --> engine["Download engine"]
ui["User interface"] --> engine
end
engine -->|"HTTP requests"| server["Web server"]
- DownRust has no telemetry and sends no usage data.
- The browser bridge listens on
127.0.0.1only. Requests need the token from the settings. - Site logins are stored in Windows Credential Manager.
See CONTRIBUTING.md. Release notes are in CHANGELOG.md.
DownRust is free software under the GNU General Public License, version 3 or later. See LICENSE.
The user interface uses the Astryx design system, which is distributed under the MIT License. See THIRD_PARTY_NOTICES.md.



