furl-cli
A fast, multithreaded CLI downloader built in Rust.
[!NOTE] ⚠️ WORK IN PROGRESS: This project is currently in early development. The core multithreaded engine is functional, but features like advanced authentication and complex retry logic are still being implemented.
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.
✨ Features
- Parallel Downloads: Automatically splits large files into chunks and downloads them across multiple threads.
- Modern Async: Built on top of
tokioandreqwestfor maximum efficiency. - Visual Progress: Beautiful, real-time progress bars using
indicatif. - Rust Powered: Memory-safe and "fearless" concurrency.
🚀 Installation
From Crates.io (Recommended)
From Source
🛠 Usage
Example:
🗺 Roadmap
- Multithreaded chunk downloading
- Basic CLI argument parsing (clap)
- Real-time progress bars
- Resume interrupted downloads (Checkpoints)
- Support for Proxy and Basic Auth
- Config file support (furl.toml)
🤝 Contributing
Contributions are welcome! Since this is a WIP, please open an issue first to discuss the changes you'd like to make.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature')` - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
📄 License
This project is licensed under the Apache License 2.0. See the LICENSE file for details.
Third-Party Licenses
This software uses several open-source components. You can view the full list of dependencies and their licenses using cargo-license: