Skip to content

dwrs is a lightweight Rust-powered CLI utility for downloading files from the internet with parallelism and stylish progress bars.

License

Notifications You must be signed in to change notification settings

Bircoder432/dwrs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

59 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

dwrs

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.

GitHub release crates.io License


✨ Features

  • 🚀 Parallel downloads (--workers)
  • 📄 Supports download lists from file
  • 📦 Colorful terminal output and progress bars
  • 🔄 --continue flag for resuming interrupted downloads
  • 🔧 Lightweight and fast, built in pure Rust

📦 Installation

Install via Cargo (recommended)

cargo install dwrs

Requires Rust and Cargo.

Install via nix

  • 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}";
  };
}

Build from source

git clone https://github.com/bircoder432/dwrs.git
cd dwrs
cargo build --release

Binary will be in target/release/dwrs.


🧑‍💻 Usage

Download a file:

dwrs --url https://example.com/file.iso

or

dwrs https://example.com/file.iso

Download with multiply workers

dwrs -w 20 https://example.com/file.iso

Specify custom output name:

dwrs --url https://example.com/file.iso --output my_file.iso

Download multiple files in parallel:

dwrs --url link1 link2 link3 --output out1 out2 out3 --jobs 3

Batch download from file (urls.txt):

https://example.com/image1.jpg img1.jpg
https://example.com/image2.jpg
dwrs --file urls.txt

Resume an interrupted download:

dwrs --url https://example.com/large_file.zip --continue

🤝 Contributing

Contributions, feedback, and feature suggestions are welcome! Feel free to open issues or submit pull requests.


About

dwrs is a lightweight Rust-powered CLI utility for downloading files from the internet with parallelism and stylish progress bars.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •