snatch
A simple, fast and interruptable download accelerator, written in Rust
WARNING
This project is no longer maintained by @k0pernicus and @jean-serge.
Instead of Snatch, you can use, report features or issues and/or contribute to Zou.
(A special thanks to @fh-d for this awesome logo !)
Current features
- Simple: a command line tool to manage easily your downloads ;
- Fast: multithreading support.
NOTE: Snatch is on alpha version. This version runs well on remote contents with a length known before the download (with the content-length
header from the server response) - also, the Interruptable feature is not implemented yet.
Installation
- Install Rust and Cargo using rustup ;
- You can download two versions of Snatch :
- the latest build from crates.io:
cargo install snatch
; - the last commit version from Github:
cargo install --git https://github.com/derniercri/snatch.git --branch devel
;
- Enjoy !
Usage
Snatch 0.1.2
Snatch, a simple, fast and interruptable download accelerator, written in Rust.
USAGE:
snatch [FLAGS] [OPTIONS] <url>
FLAGS:
-d, --debug Activate the debug mode
--force Assume Yes to all queries and do not prompt
-h, --help Prints help information
-V, --version Prints version information
OPTIONS:
-f, --file <file> The local file to save the remote content file
-t, --threads <threads> Threads which can be used to download
ARGS:
<url>
Screenshot
File examples
- A simple PDF file
- Big Buck Bunny, a big free mp4 file
- The cat DNA, a big .gz file
- A big PDF file from Princeton
Contributing
You want to contribute to Snatch ? Here are a few ways you can help us out :
- improve the documentation,
- improve the CLI,
- add new features (please to see our issues),
- report bugs.
If you want to create a pull request, this is the procedure to make it great:
- create an issue to explain the problem you encountered (except for typo),
- fork the project,
- create a local branch to make changes (from our
devel
branch), - test your changes,
- create a pull request (please compare it with our
devel
branch), - explain your changes,
- submit !
Thank you for your interest in contributing to Snatch ! :-D
Changelogs
-
0.1.3 (current)
- Fix the behaviour to know if the download is OK or not
- Delete automatically the file if the download is not OK
- Fix the behaviour when downloading a file using zero thread (yes, that was possible...)
- Fix the behaviour when downloading a file using one thread
- Monothreading download if the remote server does not support PartialContent headers
-
0.1.2 (
2ee85c151167770ce0a71245e72c02497625087f
)
No changelogs reported -
0.1.1 (
624a59d23e28d369bae2f9d30ea22db197f7e729
)
No changelogs reported -
0.1.0
No changelogs reported
Build issues
-
Libraries cannot be build Please go check if you are using the latest version of
rustc
(stable), runningrustup update
. -
fatal error: 'openssl/hmac.h' file not found
If you are on a GNU/Linux distribution (like Ubuntu), please installlibssl-dev
. If you are on macOS, please installopenssl
and check your OpenSSL configuration:
brew install openssl
export OPENSSL_INCLUDE_DIR=`brew --prefix openssl`/include
export OPENSSL_LIB_DIR=`brew --prefix openssl`/lib
export DEP_OPENSSL_INCLUDE=`brew --prefix openssl`/include