Aria2 is an open source command line tool which can download files using various protocols (HTTP, HTTPS, FTP, BitTorrent, Metalink).

Don't be put off by "command line" - aria2 isn't difficult to use. At a minimum, you can download files just by entering their URL, like aria2c

If you'd like to take more control, though, aria2 has a vast number of optional commands. Would you like to download a file via multiple connections? Validate a download to check its integrity? Resume an interrupted download, throttle your download speed, set a user name/ password for authentication? It's all here, and the torrent support is particularly impressive (DHT, PEX, Encryption, Magnet URI, Web-Seeding, Selective Downloads, Local Peer Discovery and UDP tracker).

These commands may be combined, sometimes with impressive results: the program can download the same file in separate chunks from HTTP and FTP servers, while uploading everything you've got so far to a BitTorrent swarm.

But again, don't be put off by any apparent complexity. There are simpler features, too. Point aria2 at a text file containing URLs, for example, and it'll read, download and save them all: very convenient.

aria2 1.31.0

Release Note

This release fixes assertion error in
SimpleRandomizer::getRandomBytes. It adds new option


Better error message when local file status cannot be retrieved


Fix assertion failure in SimpleRandomizer::getRandomBytes

errno might not be initialized to 0, and we may get both rv == -1
and errno != ENOSYS. This leads to assertion failure. Since
getrandom_linux always returns -1 on failure, checking errno is
useless in this function.


Add option content-disposition-default-utf8


An easy-to-use (by command line standards) but amazing configurable download utility.