dw
is a blazingly fast, parallel download accelerator written in Rust.
Getting dw
is easy. You can choose any of the following methods.
If you have the Rust toolchain installed, you can install dw
directly from the official package registry:
cargo install dw-rs
If you prefer to build it yourself, you can compile dw
directly from the source code:
git clone https://github.com/amirhosseinghanipour/dw.git
cd dw
cargo build --release
The executable will be in ./target/release/dw
.
Using dw
is straightforward. Here are the most common commands to get you started.
The simplest way to use dw
is to just give it a URL. The tool will automatically figure out the filename and show you a progress bar while it downloads.
dw "http://cachefly.cachefly.net/100mb.test"
If you want to save the file with a different name, use the -o
(or --output
) flag.
dw "http://cachefly.cachefly.net/100mb.test" -o "100mb.zip"
For those who want more control over the download process, dw
offers several flags to fine-tune its behavior.
By default, dw
uses 8 connections to download a file. You can increase or decrease this number with the -c
flag to find the sweet spot for your network.
dw "http://cachefly.cachefly.net/100mb.test" -c 16
You can change the size of the memory buffer used for writing data to disk with the -b
flag. The value is in kilobytes.
dw "http://cachefly.cachefly.net/100mb.test" -b 2048
For a smarter download process, you can enable adaptive buffering with the --adaptive
flag. When turned on, dw
will automatically adjust its buffer size based on your real-time download speed.
dw "http://cachefly.cachefly.net/100mb.test" --adaptive
dw
is smart enough not to use its parallel download feature for very small files where it wouldn't be efficient. You can control this threshold with the --min-chunk
flag, which sets the minimum file size (in megabytes) required to trigger a parallel download.
dw "[http://cachefly.cachefly.net/100mb.test](http://cachefly.cachefly.net/100mb.test)" --min-chunk 10
This project is open-source and available under the GPL-3.0 License.