Welcome to aria2 Trac
aria2 is a light-weight multi-protocol & multi-source download utility operated in command-line. The supported protocols are HTTP(S), FTP, BitTorrent (DHT, PEX, MSE/PE), and Metalink.
aria2 can download a file from multiple sources/protocols and tries to utilize your maximum download bandwidth. 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.
There are other alternatives, such as wget and curl, but aria2 has two distinctive features: (1) aria2 can download a file from several URIs(HTTP(S)/FTP/BitTorrent) and (2) If you give aria2 a list of URIs, aria2 downloads them concurrently. You don't have to wait for the current download queue to finish one file at a time anymore. aria2 tries to utilize your maximum download bandwidth and downloads files quickly.
There are also some applications that have the ability to do segmented downloading. Typically these applications split a file up by the number of threads and download them in parallel and wait for all threads to finish. In other words, they don't split unfinished segments adaptively. Normally, if things go well, this strategy works well, but if one thread is very slow (i.e. one of the server is very slow), then you have to wait for it to finish. aria2 can cope with this peculiar situation. aria2 can split segments adaptively all the way down to 1MiB. So you don't have to worry about the above problem. But you might complain: if a slow server is downloading at 1MiB, then one has to wait for that none the less. The answer is "no". Even in such a case, aria2 does the job quite well: aria2 cancels slow servers and use the faster server to finish the download. In other words, aria2 is very clever and reliable in many situations.
Unlike the original Aria, which has a GTK+ interface, aria2 provides only a command-line interface. And as a result, it has lower resource requirement. The physical memory usage is typically 4MiB (normal HTTP/FTP downloads) to 9MiB (BitTorrent downloads). CPU usage in BitTorrent with download speed of 2.8MiB/sec is around 6%.
Download
Source Code
http://github.com/tatsuhiro-t/aria2
User Guides
- UsageExample
- Online Manual
- README
- When does aria2 resume download?
- BashCompletion
- ConsoleReadout
- Custom Download Manager with FlashGot
- FAQ
- ConfigFile
- XML-RPC Interface
- Control File (*.aria2) Format
- DHT Routing Table File (dht.dat) Format
- IPv6 Support Status
- AndroidBuild
GUI Frontends
WEB Frontends
Terminal Frontends
Articles
- http://lizards.opensuse.org/2008/12/16/best-way-to-download-opensuse/
- http://wiki.mandriva.com/en/Aria2
- http://www.makeuseof.com/tag/aria2-fast-multiprotocol-power-downloader-app/
- http://ostatic.com/blog/interview-aria2-for-flexible-downloads
- http://www.tuxradar.com/content/group-test-download-managers
- http://www.tuxradar.com/content/100-open-source-gems-part-1
- MinGW port of aria2c
- http://talkgeektome.us/aria2.xhtml
Related Projects
Tips
For Developers
Related RFCs and specifications
- RFC 959 FILE TRANSFER PROTOCOL (FTP)
- RFC 1738 Uniform Resource Locators (URL)
- RFC 2428 FTP Extensions for IPv6 and NATs
- RFC 2616 Hypertext Transfer Protocol -- HTTP/1.1
- RFC 3659 Extensions to FTP
- RFC 3986 Uniform Resource Identifier (URI): Generic Syntax
- RFC 4038 Application Aspects of IPv6 Transition
- RFC 5854 The Metalink Download Description Format (aka Metalink4, Metalink v4)
- RFC 6265 HTTP State Management Mechanism
- RFC 6455 The WebSocket Protocol
- The BitTorrent Protocol Specification
- DHT Protocol
- Fast Extension
- IPv6 Tracker Extension
- Extension for Peers to Send Metadata Files
- Extension Protocol
- Multitracker Metadata Extension
- WebSeed - HTTP/FTP Seeding (GetRight style)
- Private Torrents
- BitTorrent DHT Extensions for IPv6
- Message Stream Encryption
- Kademlia: A Peer-to-peer Information System Based on the XOR Metric