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 http://www.domain.com/folder1/bigfile.pdf
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.
Version 1.22 changes:
Add description about possible fragmentation with
Make single-entry metalink download with multi-file torrent work
Add all contributor's names in AUTHORS
Ignore floating number in torrent file
Added support for a dynamic management of the number of concurrent
downloads as a function of the overall bandwidth observed
This change adds --optimize-concurrent-downloads option.
Patch from oliviercommelarbre