axel - light command line download accelerator
axel [OPTIONS] url1 [url2] [url...]
Axel is a program that downloads a file from a FTP or HTTP server through multiple connection. Each connection downloads its own part of the file.
Unlike most other programs, Axel downloads all the data directly to the destination file. It saves some time at the end because the program does not have to concatenate all the downloaded parts.
Axel supports HTTP, HTTPS, FTP and FTPS protocols.
One argument is required, the URL to the file you want to download. When downloading from FTP, the filename may contain wildcards and the program will try to resolve the full filename. Multiple mirror URLs to an identical file can be specified as well and the program will use all those URLs for the download.
Please note that the program does not check whether the files are equal.
Other options:
--max-speed=x, -s x
Specify a speed (bytes per second) to try to keep the average speed around this speed. This is useful if you do not want the program to suck up all of your bandwidth.
--num-connections=x, -n x
Specify an alternative number of connections.
--max-redirect=x
Specify an alternative number of redirections to follow when connecting to the server (default is 20).
--output=x, -o x
Downloaded data will be put in a local file with the same name, unless you specify a different name using this option. You can specify a directory as well, the program will append the filename.
--search[=x], -S[x]
Axel can do a search for mirrors using the filesearching.com search engine. This search will be done if you use this option. You can specify how many different mirrors should be used for the download as well. The search for mirrors can be time-consuming because the program tests every server’s speed, and it checks whether the file’s still available.
--ipv6, -6
Use the IPv6 protocol only when connecting to the host.
--ipv4, -4
Use the IPv4 protocol only when connecting to the host.
--no-proxy, -N
Do not use any proxy server to download the file. Not possible when a transparent proxy is active somewhere, of course.
--insecure, -k
Do not verify the SSL certificate. Only use this if you are getting certificate errors and you are sure of the sites authenticity.
--no-clobber,
-c Skip download if a file with the same name already
exists in the current folder and no state file is found.
--verbose, -v
Show more status messages. Use it more than once to see more details.
--quiet, -q
No output to stdout.
--alternate, -a
This will show an alternate progress indicator. A bar displays the progress and status of the different threads, along with current speed and an estimate for the remaining download time.
--header=x, -H x
Add an additional HTTP header. This option should be in the form "Header: Value". See RFC 2616 section 4.2 and 14 for details on the format and standardized headers.
--user-agent=x, -U x
Set the HTTP user agent to use. Some websites serve different content based upon this parameter. The default value will include "Axel", its version and the platform.
--help, -h
A brief summary of all the options.
--timeout=x, -T x
Set I/O and connection timeout
--version, -V
Get version information.
Long (double dash) options are supported only if your platform knows about the getopt_long call. If it does not (like *BSD), only the short options can be used.
The program returns 0 when the download was successful, 1 if something really went wrong and 2 if the download was interrupted. If something else comes back, it must be a bug.
The trivial usage to download a file is similar to:
$ axel http://cdimage.debian.org/debian-cd/current/amd64/iso-cd/debian-9.1.0-amd64-netinst.iso
$ axel ftp://ftp.nl.kernel.org/pub/linux/kernel/v2.2/linux-2.2.20.tar.bz2
This will use the Belgian, Dutch, English and German kernel.org mirrors to download a Linux 2.4.17 kernel image.
$ axel ftp://ftp.{be,nl,uk,de}.kernel.org/pub/linux/kernel/v2.4/linux-2.4.17.tar.bz2
This will do a search for the linux-2.4.17.tar.bz2 file on filesearching.com and it’ll use the four (if possible) fastest mirrors for the download (possibly including ftp.kernel.org).
$ axel -S4 ftp://ftp.kernel.org/pub/linux/kernel/v2.4/linux-2.4.17.tar.bz2
/etc/axelrc
System-wide configuration file.
˜/.axelrc
Personal configuration file.
These files are not documented in a manpage, but the example file which comes with the program contains enough information. The position of the system-wide configuration file might be different. In source code this example file is at doc/ directory. It’s generally installed under /usr/share/doc/axel/examples/, or the equivalent for your system.
Axel was originally written by Wilmer van der Gaast and other authors over time. Please, see the AUTHORS and CREDITS files.
The project homepage is <https://github.com/axel-download-accelerator/axel>
If you intent to help, please, read the CONTRIBUTING.md file. On Debian systems, this file will be available at /usr/share/doc/axel/ directory.