aria2 - The ultra fast download utility

[Japanese]
ohloh profile for t-tujikawa

Introduction

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.

Download

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!

GUI Frontends

Translations

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.

Usage

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.

HTTP/FTP Segmented Download

Download a file using 1 connection:

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.

Download a file using 2 connections:

aria2c -s2 http://host/file.zip

Download a file from 2 different HTTP servers:

aria2c http://host/image.iso http://mirror/image.iso

Download a file from HTTP and FTP servers:

aria2c http://host1/file.zip ftp://host2/file.zip

Download files listed in a file concurrently:

aria2c -ifiles.txt -j5

Note: -j option specifies the number of concurrent downloads.

Metalink Download

Download files with remote Metalink:

aria2c http://host/file.metalink

Download files with remote Metalink; metalink file it self is processed in memory:

aria2c --follow-metalink=mem http://host/file.metalink

Download using a local metalink file:

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.

Download only selected files using index:

aria2c -Mtest.metalink --select-file 1-4,8

NOTE: The index is printed to the console using -S option.

BitTorrent Download

Download files from remote BitTorrent file:

aria2c -otest.torrent http://site/file.torrent

Download files from remote BitTorrent file; torrent file it self is processed in memory:

aria2c --follow-torrent=mem http://site/file.torrent

Download using a local torrent file:

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.

Enable DHT

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.

Accept only obfuscation handshake

aria2c --bt-require-crypto=true http://site/file.torrent

Download only selected files using index (usually called "selectable download"):

aria2c -Ttest.torrent --select-file=1-4,8

NOTE: The index is printed to the console using -S option.

Change the listening port for incoming peer:

aria2c -Ttest.torrent --listen-port=6881-6883

NOTE: Make sure that the specified ports are open for incoming/outgoing TCP traffic.

Specify the condition to stop program after torrent download finished:

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.

Throttle upload speed:

aria2c -Ttest.torrent --max-upload-limit=100K

Seeding already downloaded file:

You can seed downloaded file using --check-integrity=true option.

aria2c --check-integrity=true -d/path/to/dir -Tfile.torrent

More advanced HTTP features

Load cookies:

aria2c --load-cookies=cookies.txt http://AAA.BBB.CCC/file.zip

NOTE: You can use Firefox/Mozilla's cookie file without modification.

Resume download started by web browsers or another programs:

aria2c -c -s2 http://host/partiallydownloadedfile.zip

And more advanced features

Throttle download speed:

aria2c -Mtest.metalink --max-download-limit=100K

Repair a damaged download using --check-integrity option:

aria2c -Mtest.metalink --check-integrity=true

NOTE: This option is only available used with BitTorrent or metalink with chunk checksums.

Drop connection if download speed is lower than specified value:

aria2c -Mtest.metalink --lowest-speed-limit=10K

Parameterized URI support:

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

Binary packages

Thanks to the package maintainers, aria2 binary packages are now available on the variety of platforms.

Cygwin

Now aria2 is in official Cygwin repository!

Debian GNU/Linux unstable&testing

apt-get install aria2

PC-BSD

PBI package

Fedora

yum install aria2

RHEL, CentOS

aria2 in DAG RPM Repository.

FreeBSD

FreshPorts

Mac OS X

Mac Ports.

Mandriva

urpmi aria2

ArchLinux

aria2 is now in "extra" repository!. Installing is very easy. Just run the command below:
pacman -S aria2

Ubuntu GNU/Linux

apt-get install aria2

Gentoo Linux

There are official packages.

SUSE Linux

DyneBolic Linux

Unoffical? package

License

This software is distributed under GNU General Public License.

Project Description and Features

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.

Configuration File

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
		

Dependency

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.

Contact Information


SourceForge.net Logo Valid XHTML 1.0 Strict