Aria2 - Multi-Protocol Command-Line Download Tool for Linux - GeeksforGeeks

30 May, 2021
Aria2 is an open-source lightweight multi-protocol, multi-server & multi-source command-line utility that is used for downloading files in Windows, Linux, and Mac.
Aria2 is used to download a file at a good speed by utilizing your maximum download bandwidth from multiple sources/protocols such as HTTP(S), FTP, SFTP, Bittorrent, and Metalink. You can download a file from HTTP(S)/FTP/SFTP and BitTorrent at the same time, while the data downloaded from HTTP(S)/FTP/SFTP is uploaded to the BitTorrent swarm.
Aria2 can be used as an alternative to wget, curl or torrent clients as aria2 has few more advantages over these tools, because of greater download speed and the facility of pause and resume downloads.
Features:
LightweightBuilt-in JSON-RPC and XML-RPC interfaces can control the aria2 processAuto check of chunks of data s while downloading a file like BitTorrent using Metalink’s chunk checksumsHTTP Proxy authentication supportDownload a file from multiple sources/protocols by giving a better download experience
Lightweight
Built-in JSON-RPC and XML-RPC interfaces can control the aria2 process
Auto check of chunks of data s while downloading a file like BitTorrent using Metalink’s chunk checksums
HTTP Proxy authentication support
Download a file from multiple sources/protocols by giving a better download experience
In this article, we are going to discuss the installation process and usage of Aria2 tool in Debian/Ubuntu-based Linux Distros.
For installing Aria2 in Debian/Ubuntu systems, use the following command to install ‘aria2’:-
$ sudo apt-get install aria2
After you are done with installing the Aria2 tool on your system, now you need to learn how you can use this tool to download files. The following examples will help you understand how you can use this tool.
If you want to download a single file using either HTTP, HTTPS, or FTP protocol, then follow the following syntax:
$  aria2c <url of the file you want to download>
If you stop the download with Ctrl + C, or it gets interrupted, then the download gets paused, and again you can resume it using the same download command.
As you can see, we resumed the download again, and it started from where it had been paused and not from the beginning.
If you want to save the downloaded file with a different name and format then you can use the -o flag using the following syntax:
$ aria2 -o <the name you want to give to the file> <url of the file you want to download >
If you want to limit the download speed of a file while your internet is slow (as by default ‘aria2’ uses the full bandwidth to download a file) you can use the –max-download-limit option using the following syntax:
$ aria2 –max-download-limit=450K <url of the file you want to download>
Here we used 450k as a limit you can use some other limit according to your wish.
If you want to download multiple files at once use the following syntax:-
$ aria2  <” File 1 “> <“File2”> <“File3”>
You can download a file using more than one connection to each host by using the option -x2 (connection 2), although you can also give -x5 (connection 5). The syntax is as follows:
$ aria2  -x2  <URL of the file you want to download>
There are 2 ways you can download files from BitTorrent using aria2. They are as follows:
Method 1: Download a torrent file using aria2 by downloading the.torrent file to your system using the following syntax:
$ aria2c name.torrent
Method 2: By passing the link to the torrent file to aria2 using the following syntax:
$ aria2c https://example.com/filename.torrent
In this case, aria2 will first download the.torrent file to your current directory and then start downloading data, but if you do not want that aria2 to download that torrent file to your system’s current directory, and directly download the file, simply use the –follow-torrent=mem option. The syntax is as follows:
$ aria2c --follow-torrent=mem <torrent file url>
Files that contain all possible sources for data to be downloaded are called Metalinks(although aria2 uses multiple sources to pull the file from metalink). To download a file from Metalink use the following syntax:
$ aria2c http://example.com/filename.metalink
If you want to download a list of URL’s written in a text file where the URL‘s must contain one download per line, then you can use the following command:
$ aria2c -i filename.txt
If you want to know more about the usages and available options of aria2, then have a look over the manual of the aria2 tool.
$ man aria2c
Linux-Tools
Picked
Linux-Unix
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
nohup Command in Linux with Examples
scp command in Linux with Examples
Thread functions in C/C++
mv command in Linux with examples
chown command in Linux with Examples
SED command in Linux | Set 2
Docker - COPY Instruction
Array Basics in Shell Scripting | Set 1
Basic Operators in Shell Scripting
nslookup command in Linux with Examples