aria2 is a utility for downloading files. The supported protocols are HTTP(S), FTP, BitTorrent(DHT, PEX, MSE/PE), and Metalink. It has a powerful segmented downloading ability, downloading a file from multiple sources and multiple protocols and utilizing your download bandwidth to the maximum. It supports downloading a file from HTTP(S)/FTP and BitTorrent at the same time, while the data downloaded from HTTP(S)/FTP is uploaded to the BitTorrent swarm. Using Metalink's chunk checksums, aria2 automatically validates chunks of data while downloading a file like BitTorrent.
It is being actively developed by Tatsuhiro Tsujikawa.
Feature requests and comments are all welcome. Please refer to
the contact information at the bottom of this page.
2008-04-15 aria2-0.13.1+2 released.
Download from sourceforge.net
cygwin/mingw and Mac OS X(Leopard) binary packages are also available!
Now 18 language translations available! Many thanks to translators!.
I need translators. I setup translations.launchpad.net for aria2. Anyone who has launchpad account can participate translations for aria2. I really appreciate your contribution.
aria2c(1) man page is available on online.
Make sure that URL is quoted with single(') or double(") quotation if it contains "&" or any characters that have special meaning in shell.
aria2c http://host/file.zip
NOTE: To pause a download, press Ctrl-C. You can resume the transfer by run aria2c with the same argument at the same directory. You can change URLs as long as they are pointing to the same file.
aria2c -s2 http://host/file.zip
aria2c http://host/image.iso http://mirror/image.iso
aria2c http://host1/file.zip ftp://host2/file.zip
aria2c -ifiles.txt -j5
Note: -j option specifies the number of concurrent downloads.
aria2c http://host/file.metalink
aria2c --follow-metalink=mem http://host/file.metalink
aria2c -p -t10 --lowest-speed-limit=4000 -Mtest.metalink
NOTE: To pause a download, press Ctrl-C. You can resume the transfer by run aria2c with the same argument at the same directory.
aria2c -Mtest.metalink --select-file 1-4,8
NOTE: The index is printed to the console using -S option.
aria2c -otest.torrent http://site/file.torrent
aria2c --follow-torrent=mem http://site/file.torrent
aria2c --max-upload-limit=40K -T file.torrent
NOTE: --max-upload-limit specifies the max of upload rate.
NOTE: To pause a download, press Ctrl-C. You can resume the transfer by run aria2c with the same argument at the same directory.
aria2c --enable-dht http://site/file.torrent
NOTE: DHT is disabled by default. You have to give --enable-dht option to aria2c to enable DHT.
aria2c --bt-require-crypto=true http://site/file.torrent
aria2c -Ttest.torrent --select-file=1-4,8
NOTE: The index is printed to the console using -S option.
aria2c -Ttest.torrent --listen-port=6881-6883
NOTE: Make sure that the specified ports are open for incoming/outgoing TCP traffic.
aria2c -Ttest.torrent --seed-time=120 --seed-ratio=1.0
NOTE: In the above example, the program exists when the 120 minutes has elapsed since download completed or seed ratio reaches 1.0.
aria2c -Ttest.torrent --max-upload-limit=100K
You can seed downloaded file using --check-integrity=true option.
aria2c --check-integrity=true -d/path/to/dir -Tfile.torrent
aria2c --load-cookies=cookies.txt http://AAA.BBB.CCC/file.zip
NOTE: You can use Firefox/Mozilla's cookie file without modification.
aria2c -c -s2 http://host/partiallydownloadedfile.zip
aria2c -Mtest.metalink --max-download-limit=100K
aria2c -Mtest.metalink --check-integrity=true
NOTE: This option is only available used with BitTorrent or metalink with chunk checksums.
aria2c -Mtest.metalink --lowest-speed-limit=10K
You can specify set of parts:
aria2c -P http://{host1,host2,host3}/file.iso
You can specify numeric sequence using []:
aria2c -Z -P http://host/image[000-100].png
NOTE: -Z option is required if the all URIs don't point to the same file, such as the above example.
You can specify step counter:
aria2c -Z -P http://host/image[A-Z:2].png
Thanks to the package maintainers, aria2 binary packages are now available on the variety of platforms.
Now aria2 is in official Cygwin repository!
apt-get install aria2
yum install aria2
aria2 in DAG RPM Repository.
urpmi aria2
aria2 is now in "extra" repository!. Installing is very easy. Just run the command below:
pacman -S aria2
apt-get install aria2
There are official packages.
This software is distributed under GNU General Public License.
aria2 has
segmented downloading engine in its core.
It can download one file from multiple URLs or multiple connections from one URL.
This results in very high speed downloading, very much faster than ordinary browsers.
As of 0.3.0 release, It can also download BitTorrent files.
We implemented this engine in single-thread model. The architecture is very
clean and easy to extend.
Unlike Aria, which has GTK+ interface, aria2 provides command-line interface only. But GUI-lessness brings lower resource requirement. The physical memory usage is typically 3MB(normal HTTP/FTP downloads) to 6MB(BitTorrent downloads). CPU usage in BitTorrent with download speed of 500KB/sec is around 7%.
As of 0.7.1 release, aria2 supports asynchronous DNS using c-ares or ares. This can improve segmented download performance, especially in Metalink download.
As of 0.10.2, aria2 supports configuration file. It must be placed under ~/.aria2 and must be named as aria2.conf. In each line, there is 1 parameter whose syntax is name=value pair, where name is the long command-line option name without '--' prefix. The lines beginning '#' are treated as comments.
Example:
# sample configuration file for aria2c listen-port=60000 seed-ratio=1.0 max-upload-limit=40K ftp-pasv=true
For HTTPS support, you need GNU TLS or OpenSSL.
For BitTorrent support, you need GNU TLS+Libgcrypt or OpenSSL.
In order to enable Metalink support, you need libxml2 or Expat.
Optionally GNU TLS+Libgcrypt or OpenSSL are required for checksum checking support(MD5, SHA1 and SHA256).
For asynchronous DNS support, you need
c-ares or
ares.