| Crates.io | furl-cli |
| lib.rs | furl-cli |
| version | 0.5.0 |
| created_at | 2025-12-20 07:14:52.673124+00 |
| updated_at | 2025-12-23 16:32:18.552569+00 |
| description | A fast, multithreaded CLI downloader built in Rust. |
| homepage | https://github.com/ghimiresdp/furl-cli |
| repository | https://github.com/ghimiresdp/furl-cli |
| max_upload_size | |
| id | 1996101 |
| size | 295,054 |
furl-cli)A fast, multithreaded CLI downloader built in Rust.
furl is a high-performance command-line tool designed to download files faster by utilizing multiple threads to fetch chunks of data concurrently. Inspired by the simplicity of cURL and the robustness of wget.

tokio and reqwest for maximum efficiency.indicatif.cargo install furl-cli
git clone https://github.com/ghimiresdp/furl-cli.git
cd furl
cargo build --release
furl can be used in 2 modes Library mode and Binary mode.
You need to install the furl-cli and add it to the path before you can use it
in the binary mode. For more details, you can check the
Installation section.
When no output directory is passed, it automatically downloads the file in the current terminal directory (PWD).
furl [URL]
Example:
furl https://raw.githubusercontent.com/ghimiresdp/furl-cli/refs/heads/main/res/images/example.png
furl [URL] -o [path/to/the/directory]
Example:
furl https://raw.githubusercontent.com/ghimiresdp/furl-cli/refs/heads/main/res/images/example.png -o ./tmp -t 32
In library mode, you can just import the Downloader struct and use its
download() method to download files.
use furl_core::Downloader;
// since Downloader::download() method is async, it needs to be implemented
// inside the async function. if it is main function, we can use
// `#[tokio::main]` macro.
#[tokio::main]
async fn main(){
let download_url = "https://raw.githubusercontent.com/ghimiresdp/furl-cli/refs/heads/main/res/images/example.png";
let mut downloader = Downloader::new(download_url);
if let Ok(_) = downloader.download("/home/user/Downloads", Some(4)).await {
println!("Download Complete!")
}
return;
}
Contributions are welcome! Since this project is actively being developed, please open an issue first to discuss the changes you'd like to make.
git checkout -b feature/AmazingFeature)git commit -m 'Add some AmazingFeature')`git push origin feature/AmazingFeature)For more details, please check CONTRIBUTING.md.
This project is licensed under the Apache License 2.0. See the LICENSE file for details.
This software uses several open-source components. You can view the full list of
dependencies and their licenses using cargo-license:
[!NOTE] furl-cli (or fURL) is a successor to my previous project ghimiresdp/rust-raid's cget download manager. It incorporates refined logic and improved multithreading from that original implementation.