• Stars
    star
    675
  • Rank 64,764 (Top 2 %)
  • Language
    Rust
  • License
    MIT License
  • Created over 7 years ago
  • Updated over 6 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A simple, fast and interruptable download accelerator, written in Rust

build status

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.

Snatch logo

(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

  1. Install Rust and Cargo using rustup ;
  2. 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 ;
  1. 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

example

File examples

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), 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

More Repositories

1

jquery-ajax-jstorage-cache

Ajax Cache backed by jStorage for jQuery
53
star
2

multilayer-perceptron

Library to make and train a concurrent multilayer perceptron
Erlang
46
star
3

react-native-redux-i18n

Usage of react-native-i18n with redux
JavaScript
38
star
4

hornet

Realtime engine powered by NodeJS and Socket.IO, backed by Redis
JavaScript
27
star
5

rails-precompile2git

Automatically precompiles assets in Rails 3.1+ on new commits and then push back to git
Ruby
24
star
6

wasp

Monitoring System with plugins and mixins, powered by NodeJS
JavaScript
11
star
7

erl-test-runner-example

a project example using erl-test-runner
Makefile
10
star
8

erl-test-runner

An opinionated and minimalist test runner for Erlang
Erlang
9
star
9

warpex

Warp10 client for Elixir
Elixir
9
star
10

eslint-config-derniercri

Eslint defaults rules for our Javascript projects
JavaScript
9
star
11

bamboo_mjml

Elixir
8
star
12

slap

Slap - Load testing for developers
Elixir
8
star
13

hornet-connector-java

Hornet Connector - Java Implementation
Java
7
star
14

hornet-connector-ruby

Hornet Connector - Ruby Implementation
Ruby
7
star
15

font4three

Font converter for Threejs
JavaScript
4
star
16

avr_libSIM

a C library providing a communication interface between an AVR microcontroller and a modem using AT commands
C
3
star
17

hive-beep

Arduino (GSM) beep for the corporate hive...
JavaScript
3
star
18

hornet-docker

3
star
19

jeson

JSON Serializer for erlang
Erlang
3
star
20

erlang-standard-backend

An empty project for deploying Erlang Backend (using Yaws)
Erlang
3
star
21

orchestra

erlang mini library
Erlang
2
star
22

Dockerfiles

2
star
23

wasm-rust-webpack

Rust Web Assembly Demo
JavaScript
1
star
24

youpi-sdk

Youpi SDK
TypeScript
1
star
25

fullsail-gem

shipyard client side
Ruby
1
star
26

berlioz

Binary Erlang IO(z)
Erlang
1
star
27

job-offer-devops-sample-app

Sample app for our Devops job offer
Ruby
1
star
28

hibou

Oauth2 server for Phoenix
Elixir
1
star
29

apimo

Apimo Elixir wrapper
Elixir
1
star