AXEL – multi-threaded downloads

mikhomikho AdministratorHosting ProviderOG
edited April 2021 in LES Talk

Written by @mikho, 14 Apr 2021
Article was migrated from WordPress to Vanilla in March 2022

What is Axel?


When you want to download something from the command line you normally use the commands wget or curl.

What if you want to accelerate these downloads? I recently found this command: Axel which works the same way but allows you to use multiple connections for one file.
As a comparison, the Mozilla extension DownThemAll does the same thing in a graphical environment. Axel can also use multiple mirrors for a download and according to tests done by the Github author this can speed up downloads up to 60%!.

Axel has no dependencies, is lightweight, supports HTTP, HTTPS, FTP and FTPS protocols and unlike other similar programs, it downloads all the data directly to the destination file using a single thread., saving time at the end because the program does not ave to concatenate the downloaded parts. It is also available in the Debian repo

If you take a look at the options available, you see that you use it the same way as you would use wget.

Usage: axel [options] url1 [url2] [url...] 
--max-speed=x           -s x    Specify maximum speed (bytes per second)
--num-connections=x     -n x    Specify maximum number of connections
--output=f              -o f    Specify local output file
--search[=x]            -S [x]  Search for mirrors and download from x servers
--header=x              -H x    Add header string
--user-agent=x          -U x    Set user agent
--no-proxy              -N      Just don't use any proxy server
--quiet                 -q      Leave stdout alone
--verbose               -v      More status information
--alternate             -a      Alternate progress indicator
--help                  -h      This information
--version               -V      Version information

Axel in its simplest use:

axel url

Common options include

--max-speed

to prevent the app chewing up all your bandwidth and

--num-connections

to specify a number of connections (the recommended default of 4 is fine for most downloads).


Passing in multiple URLs allows downloading of the same file from multiple locations.

Summation

Axel is a great command-line tool, but what if you want a GUI download manager with similar features? Check out uGet, which also includes accelerated downloads, clipboard monitoring, browser integration queuing support, and many more features!

Download Manager for for Linux, BSD, Android, and Windows.

Sign In or Register to comment.