dwrs

Crates.iodwrs
lib.rsdwrs
version0.2.3
created_at2025-07-16 08:43:06.415707+00
updated_at2026-01-10 09:10:19.533359+00
descriptionCLI tool for parallel file downloads with progress bar and i18n support
homepage
repositoryhttps://github.com/Bircoder432/dwrs
max_upload_size
id1755184
size129,427
Vadim Storozhilov (Bircoder432)

documentation

README

dwrs

dwrs is a parallel file downloader with localization 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
  • 🌐 Localized interface (English & Russian)
  • πŸ“¦ 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

🌍 Localization

dwrs detects your system language and displays messages accordingly.

Supported languages:

  • English (en)
  • Russian (ru)

Localization is powered by rust-i18n.


🀝 Contributing

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


Commit count: 59

cargo fmt