Multi-protocol CLI download accelerator

Overview

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.

dlrs demo

Features

  • 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.
  • 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 on any machine:

cargo install dlrs

Usage Examples

  • dlrs -s 2 https://example.org/some-linux.iso Download file with 2 splits.

How it works

The diagram describes most working parts of dlrs. It's close to what you'll find on reading the code.

dlrs concurrency diagram

License

The project is licensed 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. 🐙

You might also like...
CarLI is a framework for creating single-command and multi-command CLI applications in Rust

CarLI is a framework for creating single-command and multi-command CLI applications in Rust. The framework provides error and IO types better suited for the command line environment, especially in cases where unit testing is needed.

Download binary for your OS from Github
Download binary for your OS from Github

github-bin-downloader Download binary for your OS from Github. Installation Install github-bin-downloader using cargo cargo install github-bin-downloa

Cross-platform terminal program to download IEEE journals
Cross-platform terminal program to download IEEE journals

IEEE Journal Downloader A cross-platform terminal program which tries to download every article in a specified journal and merge the documents into on

Nazuna - 🐦  Download Twitter videos using your terminal!
Nazuna - 🐦 Download Twitter videos using your terminal!

Nazuna 🐦 Download Twitter videos using your terminal! Installation Binary Download the desired file for your OS (Windows, Mac, Linux) from https://gi

Use the osu!direct button on the osu! website to download beatmaps directly to osu
Use the osu!direct button on the osu! website to download beatmaps directly to osu

osum!direct-web Use the osu!direct button on the osu! website to download beatmaps directly to osu! - without osu! supporter. Badges Usage Run the app

Download pdbs from symbol servers and cache locally, parse symbol paths from env vars

symsrv This crate lets you download and cache pdb files from symbol servers, according to the rules from the _NT_SYMBOL_PATH environment variable. It

Download your Stripe account to a SQLite database.

tdog tdog is a CLI to download your Stripe account to a SQLite database. table.dog Sponsor development Install # macOS: curl -L --output /usr/local/bi

🧰 Download pre-built binaries of all your favourite tools with a single command
🧰 Download pre-built binaries of all your favourite tools with a single command

tool-sync tool-sync is a CLI tool that solves one problem: 📥 Download pre-built binaries of all your favourite tools with a single command. tool-sync

Periodically download a youtube playlist, extract audio, convert to mp3, move to directory (possibly synced using syncthing).

auto-dl Periodically download a youtube playlist, extract audio, convert to mp3, move to directory (possibly synced using syncthing). drop https://git

Owner
Tushar
generalist programmer, @neovim enthusiast
Tushar
Rustle: a powerful download manager and accelerator written in Rust

Rustle Rustle: a powerful download manager and accelerator written in Rust. Preview Features Resumable Downloads: Allow interrupted downloads to be re

Bishoy Roufael 4 Aug 19, 2023
A cli tool to download specific GitHub directories or files

cloneit A cli tool to download specific GitHub directories or files. Installation From git git clone https://github.com/alok8bb/cloneit cd cloneit car

Alok 54 Dec 20, 2022
CLI tool and crate to download FTDC data from mongodb clusters.

Download mongodb FTDC data Command line tool and lib crate to download FTDC data from mongodb clusters to investigate with e.g. keyhole. Crate For the

Mathias Oertel 0 Nov 7, 2021
A simple CLI to build VEXCode V5 Pro projects and download them to the V5 brain.

vexer A simple CLI to build VEXCode V5 Pro projects and download them to the V5 brain. (WIP) This currently is only tested on and only works on window

null 2 May 16, 2022
cli application to visualize crate download metrics.

cli application to visualize crate download metrics.

Orhan Balci 2 Dec 13, 2022
dlfile is a very simple, straightforward CLI to download a file

dlfile dlfile is a very simple, straightforward CLI to download a file, except it... Only downloads over HTTPS Requires TLS 1.2 or higher Executes in

Colin 3 Oct 21, 2022
A cli tool to download Imperial DoC past papers 🦀

Exams DoC Downloader A cli tool to download past papers from exams.doc.ic.ac.uk. An excercise in procrastination, written in Rust ?? . This currently

Ashvin Arsakularatne 3 Apr 8, 2022
A cli tool to automatically download and upload advent of code problems.

Advent of Code CLI CLI client for advent of code. The purpose of this tool is so you don't have to leave your editor while participating (if you are l

Tobias Walle 43 Dec 7, 2023
Multi-threaded CLI torrent scraper for displaying searched for magnet links; tailored for use with plex & ssh.

magnetfinder Multi-threaded CLI torrent aggregator; scrapes torrent results from multiple websites and delivers them into a table in your terminal! Su

Ryan 59 Dec 10, 2022
Multi-threaded CLI torrent scraper for displaying searched for magnet links; tailored for use with plex & ssh.

magnetfinder Multi-threaded CLI torrent aggregator; scrapes torrent results from multiple websites and delivers them into a table in your terminal! Su

null 59 Dec 10, 2022