#download #http #client #cli #parallel #command-line

bin+lib httpbox

A command line HTTP client that aims to be as feature rich as your shell scripting skills can handle

1 unstable release

Uses old Rust 2015

0.1.0 Apr 2, 2018

#268 in #parallel

Apache-2.0

17KB
311 lines

httpbox

Build Status License

httpbox is a Command line HTTP client that aims to be as feature rich as your shell scripting skills can handle.

WARNING: This is me, finally finding the time to learn a bit of Rust and Rust-best-practices. If I'm doing anything wrong, please make sure you yell at me... gently. :)

Releases

In addition to be able to compile it yourself (see "How to build" section below), releases are also provided for:

  • Linux GNU 32bit and 64bit
  • Mac OS X 32bit and 64bit
  • Windows GNU 32bit and 64bit

Just check out /releases for the latest binaries.

TODO features list

  • verbosity control
  • quiet mode (nothing written on STD_OUT if there are no errors)
  • help and version flags
  • meta information for --help coming from Cargo.toml (i.e. single source for binary metadata)
  • support for all http methods
  • default output to stdout
  • able to output to a given file
  • disable gzip
  • provide customer root certificate
  • provide headers
  • provide User Agent (specialized header)
  • provide Cookies (specialized header)
  • provide User Agent strings shorthands (i.e. 'macosx-chrome-60' or 'windows-edge')
  • multiple concurrent requests to download a file (if supported by target server)
  • determine max redirection
  • use IPv4 protocol (default)
  • use IPv6 protocol
  • skip HTTPS certificate verification
  • skip download if output file already exists
  • proxy configuration
  • timeouts (connection / read)
  • progress indicator (none, simple, advanced)
  • search for mirros (RESEARCH: how do other clients like 'axel' do this?)

How to build

There is nothing special in how to compile httpbox compared to any other Rust binary:

  1. Install rustup
  2. git clone git@github.com:detro/httpbox.git
  3. cd httpbox
  4. cargo build or cargo build --release (for the release artifact, duh!)
  5. Binary will be in target/(debug|release)/httpbox

License

Apache License 2.0 (official page)

Dependencies

~15–25MB
~425K SLoC