dwrs is a parallel file downloader support, progress bars, and colorful output — written in Rust.
It’s a fast, user-friendly alternative to tools like wget, designed for modern terminal workflows.
- 🚀 Parallel downloads (
--workers) - 📄 Supports download lists from file
- 📦 Colorful terminal output and progress bars
- 🔄
--continueflag for resuming interrupted downloads - 🔧 Lightweight and fast, built in pure Rust
cargo install dwrsRequires Rust and Cargo.
- Add to your flake:
inputs = {
dwrs.url = "github:Bircoder432/dwrs";
dwrs.inputs.nixpkgs.follow = "nixpkgs";
};- And in your home manager:
{ pkgs, inputs, ... }:
{
imports = [ inputs.dwrs.homeManagerModules.dwrs ];
programs.dwrs.enable = true;
programs.dwrs.package = inputs.dwrs.packages.${pkgs.system}.dwrs;
programs.dwrs.settings = {
workers = 3;
bar_chars = "=>-";
template = "{spinner:.green} [{bar:30.cyan/blue}] {pos}/{len} ({percent}%) {msg}";
};
}git clone https://github.com/bircoder432/dwrs.git
cd dwrs
cargo build --releaseBinary will be in target/release/dwrs.
Download a file:
dwrs --url https://example.com/file.isoor
dwrs https://example.com/file.isoDownload with multiply workers
dwrs -w 20 https://example.com/file.isoSpecify custom output name:
dwrs --url https://example.com/file.iso --output my_file.isoDownload multiple files in parallel:
dwrs --url link1 link2 link3 --output out1 out2 out3 --jobs 3Batch download from file (urls.txt):
https://example.com/image1.jpg img1.jpg
https://example.com/image2.jpg
dwrs --file urls.txtResume an interrupted download:
dwrs --url https://example.com/large_file.zip --continueContributions, feedback, and feature suggestions are welcome! Feel free to open issues or submit pull requests.