# zou A simple and fast download accelerator, written in Rust Zou is a [Snatch](https://github.com/derniercri/snatch) fork by [@k0pernicus](https://github.com/k0pernicus). Snatch is a fast and interruptable download accelerator, written in Rust, from [@k0pernicus](https://github.com/k0pernicus) and [@Jean-Serge](https://github.com/Jean-Serge). ## Current features * **Simple**: a command line tool to manage easily your downloads ; * **Fast**: multithreading support. **NOTE**: _Zou_ 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). ## Goal Let's build a better `wget` (in Rust)! ## Installation 1. Install Rust and Cargo using [rustup](https://www.rustup.rs/) ; 2. You can download two versions of _Zou_ : * the latest build from [crates.io](https://crates.io/): `cargo install zou` ; * the last commit version from Github: `cargo install --git https://github.com/k0pernicus/zou.git --branch devel` ; 3. Enjoy ! ## Usage ``` Zou 0.1.0 Zou, a simple and fast download accelerator, written in Rust. USAGE: zou [FLAGS] [OPTIONS] <url> FLAGS: -d, --debug Active 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 use to download ARGS: <url> ``` ## File examples * [A simple PDF file](http://www.cbu.edu.zm/downloads/pdf-sample.pdf) * [Big Buck Bunny](http://distribution.bbb3d.renderfarming.net/video/mp4/bbb_sunflower_1080p_60fps_stereo_abl.mp4), a big free mp4 file * [The cat DNA](http://hgdownload.cse.ucsc.edu/goldenPath/felCat8/bigZips/felCat8.fa.gz), a big .gz file * [A big PDF file from Princeton](http://scholar.princeton.edu/sites/default/files/oversize_pdf_test_0.pdf) ## Contributing You want to contribute to _Zou_ ? Here are a few ways you can help us out : * test and deploy automatically the beta and stable binaries (with Travis for example), * 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 _Zou_ ! :-D ## FAQ * Why this fork ? Snatch has been developed when I was a R&D engineer at [DernierCri](https://derniercri.io) - it was a "just-for-fun" project. Today, I do not work anymore in/with this startup, and I want to experiment something different. * Libraries cannot be build Please go check if you are using the latest version of `rustc` (stable), running `rustup update`. * `fatal error: 'openssl/hmac.h' file not found` If you are on a GNU/Linux distribution (like Ubuntu), please install `libssl-dev`. If you are on macOS, please install `openssl` 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 ```