Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/netromdk/efdl

efdl is an efficient downloading CLI app over HTTP(S)
https://github.com/netromdk/efdl

cmake command-line-tool cpp cpp11 downloader hash-verification http http-basic-auth http-client mit-license qt5 sha1 sha224 sha256 sha3-224 sha3-256 sha3-384 sha3-512 sha384 sha512

Last synced: 3 days ago
JSON representation

efdl is an efficient downloading CLI app over HTTP(S)

Awesome Lists containing this project

README

        

efdl
====

efdl, pronounced "Eff-dell", is an efficient downloading command-line
application that currently supports transfers using HTTP(S).

It is also possible to use the functionality of *efdl* in your own
program. Just link the *libefdlcore* static library and use the
headers in the *include* directory.

Requirements
============

A C++11 compliant compiler (GCC 4.8+, Clang 3.3+ etc.), CMake 2.8.12+,
and Qt 5.2+.

Compilation and installation
===========

To compile the source code and link the binaries do the following:

1. Extract source and go into the diretory.
2. `mkdir build`
3. `cd build`
4. `cmake ..` (If you want the shared library then use `-DLIBRARY_TYPE=SHARED`)
5. `make`

This produces the *efdl* binary in the *bin* directory.

Notice the install prefix when running cmake before, which defaults to
*/usr/local*. If you run `sudo make install` it will install into the
*bin* directory there. Uninstalling is accomplished with `sudo make
uninstall`.

Program usage
====
```
Usage: efdl [options] URLs..
Efficient downloading application.

If URLs are given through STDIN then the positional argument(s) are optional.
Also note that piping URLs will make confirmations default to 'no', if any.

HTTP basic authorization is supported either via --http-user and --http-pass
or by using URLs on the form 'scheme://username:[email protected]/path/'.

Options:
-h, --help Displays this help.
-v, --version Displays version information.
-o, --output Where to save file. (defaults to current directory)
-c, --conns Number of simultaneous connections to use. (defaults
to 1)
-r, --resume Resume download if file is present locally and the
server supports it.
--confirm Will ask to confirm to download on redirections or
whether to truncate a completed file when resuming.
--verbose Verbose mode.
--dry-run Do not download anything just resolve URLs and stop.
--chunks Number of chunks to split the download up into.
Cannot be used with --chunk-size.
--chunk-size Size of each chunk which dictates how many to use.
Cannot be used with --chunks.
--http-user Username for HTTP basic authorization.
--http-pass Password for HTTP basic authorization.
--show-conn-progress Shows progress information for each connection.
--show-http-headers Shows all HTTP headers. Implies --verbose.
--verify Verify the integrity of the downloaded file(s) using
the given hash function and value. Hash functions
supported: md4, md5, sha1, sha2-224, sha2-256,
sha2-384, sha2-512, sha3-224, sha3-256, sha3-384,
sha3-512
--gen-checksum Generate a checksum of the downloaded file using the
given hash function. See --verify for supported hash
functions.

Arguments:
URLs URLs to download.
```