Download accelerator works by splitting a download into multiple segments, and they are downloaded in parallel, each with a separate connection. It circumvents the download speed cap by some providers that is applied per connection. The segmented download files will be combined into a single file once all segments finished downloading.

Download accelerators usually are part of download manager programs. It could come as a standalone desktop application or a browser extension. In Linux, there are command-line download accelerators available such as axel. It is great for automation and when working on remote servers via SSH.

Steps to speed up file download from Linux command line:

  1. Launch terminal.
  2. Install axel for your system.
    $ 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:

Comment anonymously. Login not required.

Share!