Download accelerator works by splitting a download into multiple segments or connections and are then downloaded in parallel. This is to circumvent download speed cap by some providers which is applied for each connection. The segmented download files will then be combined to a single file once all segments finished downloading.

Download accelerator are normally part of download manager programs and could come as standalone desktop application or as browser extension. There are command line download accelerators available in Linux such as axel which is great for automation and when working on remote servers via SSH.

Using download accelerator from Linux command line:

  1. Launch terminal
  2. Install axel.
    $ sudo apt update && sudo apt install --assume-yes axel # Ubuntu and Debian
  3. Go to the folder that you want to download your file into (optional).
    $ cd Downloads/
  4. Copy download URL from browser (optional).
  5. Download file using axel.
    $ axel https://wordpress.org/latest.zip
    Initializing download: https://wordpress.org/latest.zip
    File size: 12121295 bytes
    Opening output file wordpress-5.2.2.zip
    Starting download
    
    [  0%]  .......... .......... .......... .......... ..........  [  34.8KB/s]
    [  0%]  .......... .......... .......... .......... ..........  [  62.0KB/s]
    [  0%]  .......... .......... .......... .......... ..........  [  80.2KB/s]
    [  1%]  .......... .......... .......... .......... ..........  [  82.1KB/s]
    [  1%]  .......... .......... .......... .......... ..........  [ 102.8KB/s]
    [  2%]  .......... .......... .......... .......... ..........  [ 121.7KB/s]
    [  2%]  .......... .......... .......... .......... ..........  [ 128.9KB/s]
    [  2%]  .......... .......... .......... .......... ..........  [ 148.0KB/s]
    [  3%]  .......... .......... .......... .......... ..........  [ 163.5KB/s]
    ##### snipped
    [ 96%]  .......... .......... .......... .......... ..........  [1204.8KB/s]
    [ 96%]  .......... .......... .......... .......... ..........  [1209.3KB/s]
    [ 97%]  .......... .......... .......... .......... ..........  [1214.3KB/s]
    [ 97%]  .......... .......... .......... .......... ..........  [1219.6KB/s]
    [ 97%]  .......... .......... .......... .......... ..........  [1182.0KB/s]
    [ 98%]  .......... .......... .......... .......... ..........  [1188.2KB/s]
    [ 98%]  .......... .......... .......... .......... ...
    Connection 2 finished
            ,,,,,,,,,, ,,,,,,,,,, ,,,,,,,,,, ,,,,,,,,,, ,,,.......  [1191.5KB/s]
    [ 99%]  .......... .......... .......... ..........
    Connection 0 finished
            ,,,,,,,,,, ,,,,,,,,,, ,,,,,,,,,, ,,,,,,,,,, ..........  [1196.7KB/s]
    [ 99%]  .......... .......... .......... ...
    Connection 3 finished
            ,,,,,,,,,, ,,,,,,,,,, ,,,,,,,,,, ,,,....... ..........  [1201.4KB/s]
    [100%]  .......... .......... .......... .......
    
    Downloaded 11.6 Megabyte in 9 seconds. (1204.73 KB/s)

    axel by default will download using 4 separate connections. That can be changed along with other options as below:

    $ axel --help
    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
    --max-redirect=x		Specify maximum number of redirections
    --output=f		-o f	Specify local output file
    --search[=n]		-S[n]	Search for mirrors and download from n servers
    --ipv4			-4	Use the IPv4 protocol
    --ipv6			-6	Use the IPv6 protocol
    --header=x		-H x	Add HTTP header string
    --user-agent=x		-U x	Set user agent
    --no-proxy		-N	Just don't use any proxy server
    --insecure		-k	Don't verify the SSL certificate
    --no-clobber		-c	Skip download if file already exists
    --quiet			-q	Leave stdout alone
    --verbose		-v	More status information
    --alternate		-a	Alternate progress indicator
    --help			-h	This information
    --timeout=x		-T x	Set I/O and connection timeout
    --version		-V	Version information
    
    Visit https://github.com/axel-download-accelerator/axel/issues to report bugs
Discuss the article:

Share your thoughts, suggest corrections or just say Hi. Login not required.

Share!