aria2 – multi-protocol and multi-source command-line download utility

aria2 is a utility for downloading files.

It supports downloading a file from HTTP(S)/FTP/SFTP and BitTorrent at the same time, while the data downloaded from HTTP(S)/FTP/SFTP is uploaded to the BitTorrent swarm.

Using Metalink’s chunk checksums, aria2 automatically validates chunks of data while downloading a file like BitTorrent.

Features include:

  • Multi-Connection Download. aria2 can download a file from multiple sources/protocols and tries to utilize your maximum download bandwidth. Really speeds up your download experience. Download files through HTTP(S)/FTP/SFTP/BitTorrent.
  • HTTP/1.1 implementation.
  • HTTP Proxy support.
  • HTTP BASIC authentication support.
  • HTTP Proxy authentication support.
  • Well-known environment variables for proxy: http_proxy, https_proxy, ftp_proxy, all_proxy and <cono_proxy.
  • HTTP gzip, deflate content encoding support.
  • Lightweight. aria2 doesn’t require much memory and CPU time. When disk cache is off, 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%.
  • Fully Featured BitTorrent Client. All features you want in BitTorrent client are available: DHT, PEX, MSE/PSE, Encryption, Magnet URI, Web-Seeding, Selective Downloads, Local Peer Discovery, Multi-Tracker, and UDP tracker.
  • Metalink Enabled. aria2 supports The Metalink Download Description Format (aka Metalink v4), Metalink version 3 and Metalink/HTTP. Metalink offers the file verification, HTTP/FTP/SFTP/BitTorrent integration and the various configurations for language, location, OS, etc.
  • Remote Control. aria2 supports RPC interface to control the aria2 process. The supported interfaces are JSON-RPC (over HTTP and WebSocket) and XML-RPC.
  • Load Cookies from file using the Firefox3 format, Chromium/Google Chrome and the Mozilla/Firefox (1.x/2.x)/Netscape format.
  • Save Cookies in the Mozilla/Firefox (1.x/2.x)/Netscape format.
  • Custom HTTP Header support.
  • Persistent Connections support.
  • FTP/SFTP through HTTP Proxy
  • Download/Upload speed throttling.
  • JSON-RPC (over HTTP and WebSocket)/XML-RPC interface.
  • Run as a daemon process.
  • Selective download in multi-file torrent/Metalink.
  • Chunk checksum validation in Metalink.
  • Can disable segmented downloading in Metalink.
  • Netrc support.
  • Configuration file support.
  • Download URIs found in a text file or stdin and the destination directory and output file name can be specified optionally.
  • Parameterized URI support.
  • IPv6 support with Happy Eyeballs.
  • Disk cache to reduce disk activity.
  • Cross-platform support – runs under Linux, Mac OS X, and Windows.

Website: aria2.github.io
Support: Documentation, GitHub Code Repository
Developer: Tatsuhiro Tsujikawa, Ross Smith II, Nils Maier, and many other contributors
License: GNU General Public License version 2

aria2 is written in C++. Learn C++ with our recommended free books and free tutorials.

Return to Command line HTTP Clients Home Page


Popular series
Guide to LinuxNew to Linux? Read our Linux for Starters series. We start right at the basics and teach you everything you need to know to get started with Linux.
Free and Open Source SoftwareThe largest compilation of the best free and open source software in the universe. Each article is supplied with a legendary ratings chart helping you to make informed decisions.
ReviewsHundreds of in-depth reviews offering our unbiased and expert opinion on software. We offer helpful and impartial information.
Alternatives to Proprietary SoftwareReplace proprietary software with open source alternatives: Google, Microsoft, Apple, Adobe, IBM, Autodesk, Oracle, Atlassian, Corel, Cisco, Intuit, and SAS.
Linux Around The WorldLinux Around The World showcases events and usergroups that are Linux-related. This is a new series.
DockerGetting Started with Docker helps you master Docker, a set of platform as a service products that delivers software in packages called containers.
System ToolsEssential Linux system tools focuses on small, indispensable utilities, useful for system administrators as well as regular users.
ProductivityLinux utilities to maximise your productivity. Small, indispensable tools, useful for anyone running a Linux machine.
Home ComputersHome computers became commonplace in the 1980s. Emulate home computers including the Commodore 64, Amiga, Atari ST, ZX81, Amstrad CPC, and ZX Spectrum.
Now and ThenNow and Then examines how promising open source software fared over the years. It can be a bumpy ride.
Linux at HomeLinux at Home looks at a range of home activities where Linux can play its part, making the most of our time at home, keeping active and engaged.
Linux CandyLinux Candy reveals the lighter side of Linux. Have some fun and escape from the daily drudgery.
Android AppsBest Free Android Apps. We showcase free Android apps that are definitely worth downloading. There's a strict eligibility criteria for inclusion in this series.
Programming BooksThese best free books accelerate your learning of every programming language. Learn a new language today!
Programming TutorialsThese free tutorials offer the perfect tonic to our free programming books series.
Stars and StripesStars and Stripes is an occasional series looking at the impact of Linux in the USA.
Share this article

Share your Thoughts

This site uses Akismet to reduce spam. Learn how your comment data is processed.