#http #async-http #download-manager #async #networking #cli

nightly bin+lib rawst_dl

Snag your files efficiently with Rawst downloader

3 releases (breaking)

new 0.7.0 Jan 12, 2025
0.6.0 Jan 10, 2025
0.5.1 Dec 30, 2024

#1498 in Network programming

Download history 72/week @ 2024-12-24 41/week @ 2024-12-31 215/week @ 2025-01-07

328 downloads per month

GPL-3.0 license

62KB
1K SLoC

Rawst Download Manager

LBuild Latest stable release GitHub license Total downloads

Content

About

Snag your files efficiently with Rawst downloader, written in rust for blazingly fast execution. It's lightweight with less dependencies

💡 Features

  • Sequential streamed downloads
  • Concurrent downloads with multiple segments
  • Multiple file downloads from a text file
  • Resumable downloads support
  • Recordable history
  • Configurable config file
  • Detailed progress bars
  • Blazingly fast execution time
  • Lightweight binary size

📦 How to install Rawst?

Using cargo
  • Make sure you have rust nightly installed
  • Run cargo install rawst_dl
Linux
Windows
Build from source
  • Requirements
    • rust nightly is required
  • run cargo build --release
  • move the binary to corresponding directories
    • Windows => C:\Users\%USERNAME%\AppData\Local\Microsoft\WindowsApps
    • Linux => /usr/local/bin

⚙️ Usage

Usage: rawst [OPTIONS] [IRIS]... [COMMAND]

Commands:
  download  Download files
  resume    Resume partial downloads
  history   Inspect download history
  config    Edit config settings
  help      Print this message or the help of the given subcommand(s)

Arguments:
  [IRIS]...
          The IRIs to download

Options:
  -v, --verbosity <VERBOSITY>


      --log-verbosity <LOG_VERBOSITY>


      --color <WHEN>
          Controls when to use color

          [default: auto]
          [possible values: auto, always, never]

  -t, --threads <THREADS>
          Maximum amount of threads used to download

          Limited to 8 threads to avoid throttling

          [default: 8]

  -i, --input-file <INPUT_FILE>
          File where to look for download IRIs

      --output-file-path <OUTPUT_FILE_PATH>
          PATH where the files are downloaded along with custom file name

          passing only custom file name without PATH will download the file with custom name in the default download directory

          eg. `foo\bar\custom_name.exe` or `custom_name.exe`

      --headers-file-path <HEADERS_FILE_PATH>
          Path to JSON file containing request headers

      --generate <GENERATOR>
          [possible values: bash, elvish, fish, powershell, zsh]

  -h, --help
          Print help (see a summary with '-h')

  -V, --version
          Print version

Screenshots

Download & Resume WindowsTerminal_bKJ2jlrLXb Multiple url downloads from a file WindowsTerminal_NzPqW8o1fX

🎯 Planned features

  • Torrent support
  • Proxy support
  • Scheduled downloads
  • Priority downloads
  • Custom headers support
  • Resumable downloads
  • Parallel downloads using cores
  • Download history
  • Checksum with sha256
  • Config files
  • Website link grabber
  • GUI wrapper with Iced
  • Rewrite with better design

License

GNU General Public License v3.0

Dependencies

~13–26MB
~354K SLoC