Aria2 – Multi-Protocol Command-Line Download Tool for Linux
Last Updated :
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:
- 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.
Installation
For installing Aria2 in Debian/Ubuntu systems, use the following command to install ‘aria2’:-
$ sudo apt-get install aria2

Usage of Aria2 tool:
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.
1) Download single file from the web:
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.
2) Download Two Or Multiple Files At Once
If you want to download multiple files at once use the following syntax:-
$ aria2 <” File 1 “> <“File2”> <“File3”>
3) Download Files using Multiple connections
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>
4) Download File from Bittorrent:
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>
5) Download File from Metalink:
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
6) Download URLs found in a text file:
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

Similar Reads
How to Install NuGet from Command Line on Linux?
NuGet is the package manager for the .NET framework. It's very much useful for developers as developers can create, publish and consume packages. The package format of NuGet consists of a single ZIP file with the extension of .nupkg and which is the DLL compiled code like the packageâs version numbe
2 min read
How to download an image from a URL in Python
Downloading content from its URL is a common task that Web Scrapers or online trackers perform. These URLs or Uniform Resource Locators can contain the web address (or local address) of a webpage, website, image, text document, container files, and many other online resources. It is quite easy to do
3 min read
Progress - Tool to monitor progress of basic command in Linux
Progress is a command-line-based tiny tool which is formerly known as a Coreutils Progress Viewer. This tool is written in the C language. This command looks for the Coreutils basic command like cp, mv, dd, tar, gzip, cat, etc. which are currently running on the system and display the percentage of
2 min read
How to Create a Download Link in HTML ?
A download link allows users to download a specific file when they click on it. The download attribute in HTML is used to create a download link. Using the anchor tag we can create a download link in the HTML. Using the <a> Anchor TagTo create a download link in HTML, use the <a> tag wit
1 min read
Automated Login For Captive Portals in Linux
Every time you connect to a private network, may it be your college, office, school, etc. the captive portal screen appears where you have to enter your credentials provided by the organization. The idea is to automate that process so that whenever we are connected to any router in the same network,
7 min read
Metagoofil - Tool to Extract Information from Docs, Images in Kali Linux
The Metagoofil is an information-gathering tool. This is a free and open-source tool designed to extract all the metadata information from public documents that are available on websites. This tool uses two libraries to extract data. These are Hachoir and PdfMiner. After extracting all the data, thi
2 min read
Open Google Chrome From The Linux Command Line
Google Chrome is known as the most used and widely popular web browser because of its fast and better performance. In this article we will learn how we can open the Google Chrome application by using the terminal in Linux along with this we will also look at some you should command line switches to
6 min read
How to Download File on Linux Terminal
Downloading file on Linux is a basic operation, and the right command-line tool makes a huge impact in terms of speed, efficacy, and customization. While the graphical interface for simple downloads, CLI-based programs like wget, curl, axel, and aria2 come with features of parallel downloading, auth
7 min read
How to Download All Images from a Web Page in Python?
Prerequisite: Requests BeautifulSouposFile Handling Web scraping is a technique to fetch data from websites. While surfing on the web, many websites donât allow the user to save data for personal use. One way is to manually copy-paste the data, which both tedious and time-consuming. Web Scraping is
3 min read
Troubleshooting Error in download.file in R
The download. file() function in R is a commonly used method for downloading files from the internet directly into your local environment. It is part of the base R package and is useful when you need to automate the process of fetching data, scripts, or any other files during your R scripts or data
5 min read