https://github.com/ditsuke/dlrs
Multi-protocol CLI download accelerator
https://github.com/ditsuke/dlrs
async-rust cli downloader rust
Last synced: about 1 year ago
JSON representation
Multi-protocol CLI download accelerator
- Host: GitHub
- URL: https://github.com/ditsuke/dlrs
- Owner: ditsuke
- License: mit
- Created: 2023-07-29T18:54:59.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2023-08-09T18:00:00.000Z (almost 3 years ago)
- Last Synced: 2025-04-23T05:17:06.590Z (about 1 year ago)
- Topics: async-rust, cli, downloader, rust
- Language: Rust
- Homepage: https://crates.io/crates/dlrs
- Size: 590 KB
- Stars: 24
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# `dlrs`
`dlrs` is a multi-protocol download tool for the command line. Written in Rust, dlrs
splits your downloads to speed them up where possible.

## Features
- [x] **Split downloads:** dlrs can split your download into multiple segments that are then pulled in parallel,
dramatically speeding them up for hosts that limit download speeds per connection. This is the same technique
used by tools such as IDM and XDM.
- [ ] **Use multiple hosts:** Downloading a file hosted by multiple speed-limiting hosts? dlrs can download the same file
from multiple sources in parallel!
- [ ] **Multiple protocols:** dlrs supports HTTP/HTTPS and FTP/SFTP.
- [x] **Lightweight:** Written in Rust, dlrs comes packaged in a single binary at \_\_ MB.
- [ ] **Remote Control (_planned_ )** RPC interface to control a dlrs daemon. Can be used for remote automation and building
graphical interfaces on top of dlrs.
## Installation
While automated builds are planned, `dlrs` can be installed with [cargo][cargo] on any machine:
```shell
cargo install dlrs
```
## Usage Examples
- `dlrs -s 2 https://example.org/some-linux.iso` Download file with 2 splits.
[cargo]: https://doc.rust-lang.org/cargo/
## How it works
The diagram describes most working parts of `dlrs`. It's close to what you'll find on reading the code.

## License
The project is [licensed](./LICENSE) under the MIT license.
## Contributing
Both issues and pull requests are accepted. I welcome contributors to take a dig at making my terrible code less
terrible. 🐙