If you are a power downloader, who likes to download large files or download files via bittorrent, you should definately check out aria2. aria2 is an advanced utility for the 'powerful geeky downloader'.

Aria2 is for Linux, however Windows and Mac ports are available. It supports downloads in HTTP/HTTPS/FTP/BitTorrent/Metalink protocols. Although it is a command line utility, don't let it scare you off because there are some GUI's available that provide a graphical interface to aria2. It is feature rich and not only that but it has some unique features that are not easy to find elsewhere.

Let's see some of them :

Download files from multiple sources and protocols

Not only does aria2 support multiple protocols, it also lets you download the same file from different sources/protocols. Let's say you want to download the Ubuntu Intrepid Beta. Such files are an excellent candidate to try aria2 on because you generally have the files mirrored on different servers, plus the file is sufficiently large enough to notice speed differences with aria2. So you would give the following command:

aria2c http://server/yourfile http://server/yourfile

You are not limited to 2 servers - you can add more if you like to the command above. Not only this, you are also not limited to a single protocol. This means that if one of the links is an http link and the other is a ftp link, you can still use them to download segments using aria2. Just throw in the appropriate protocol in the command like:

aria2c http://server/yourfile ftp://server/yourfile

You can even take it a step further by adding bittorrent to the equation.

aria2c http://site/file.torrent

Of course you will have to do some searching to find the torrent for the exact file, this is generally not an issue with ISOs of distros and similar files. Some other torrent search engines can be also found here.

Some handy usage options:

There are a myriad of useful options and features offered by aria2. However I would like to mention only some of the cooler ones that I think would be useful to all

- BitTorrent Download

aria2c http://site/yourfile.torrent

- BitTorrent Download (torrent yourfile present locally)

aria2c --max-upload-limit=40K yourfile.torrent

- Repair damaged downloads (only for bitTorrent and metalink)

aria2c --check-integrity=true yourfile.metalink

- Download/upload speed throttling

aria2c --max-download-limit=100K http://server/yourfile

- Quickly specify multiple urls

aria2c -P http://{server1,server2,server3}/yourfile

aria2c -Z -P http://server/image[000-100].png (to download multiple sequentially named yourfiles)

- Oh you just want to download a file plain 'n easy? Sorry, forgot about you ^ ^, here you go

aria2c http://server/yourfile

Other features include

- BitTorrent extensions: Fast extension, DHT, PEX, MSE/PSE, Multi-Tracker

- Verify downloaded files

- Being a command line utility you can use it effectively to automate tasks

- Concurrent downloads of multiple files

- Run in background

- HTTP proxy and authentication support

Or in case you are hungry for more and want to know about all the things aria2 can do, I would suggest you RTFM ( I what? )

Graphical Frontends: Use Aria from Graphical Interface

If the whole command line scanario scares the crap out of you, no need to be disappointed, have a look at the graphical frontends to the command. Yeah they allow you to specify files and options graphically and a little more intuitively. They then would generate the appropriate options for the command and invoke aria2 with those options. If that's the way you like it so be it!

What do you think of aria2? Ever used a similar utility or do you know a better one? Let's hear in the comments.