aria2
Command-line download utility supporting HTTP(S), FTP, SFTP, BitTorrent and Metalink, with segmented multi-source downloads and a JSON-RPC/XML-RPC interface.
aria2 is a command-line download utility that fetches files over HTTP(S), FTP, SFTP, BitTorrent, and Metalink. The executable is named aria2c. It downloads a single file from multiple sources and protocols at once, using segmented downloading to use as much of the available bandwidth as possible.
A notable capability is combining protocols in one download: a file can be fetched from HTTP(S)/FTP/SFTP and BitTorrent simultaneously, with the data received over HTTP(S)/FTP/SFTP also uploaded to the BitTorrent swarm. With Metalink (v3.0, v4/RFC 5854, and Metalink/HTTP RFC 6249), aria2 validates chunk checksums while downloading, similar to BitTorrent. BitTorrent support includes DHT, PEX, MSE/PSE, multi-tracker, UDP tracker, Local Peer Discovery, web-seeding, and selective download of files in multi-file torrents or Metalinks.
On the HTTP side it supports proxies (including proxy authentication and the standard http_proxy/https_proxy/ftp_proxy/all_proxy/no_proxy variables), Basic authentication, custom headers, gzip/deflate encoding, client certificates, cookie loading from Firefox3, Chromium/Chrome, and Netscape-format files, and netrc. Other features include download and upload speed throttling, a disk cache, IPv6 with Happy Eyeballs, configuration files, reading URIs from a text file or stdin, and parameterized URIs.
aria2 can run as a daemon and be controlled through a JSON-RPC (over HTTP and WebSocket) or XML-RPC interface, which suits scripting and front-end integration. It is written in C++ and builds from source on Linux, macOS, Windows (mingw-w64 cross-compile), and Android. Typical users are developers, sysadmins, and anyone who wants scripted or headless downloading of large files and torrents.
Installation
# via Homebrew
brew install aria2
Alternatives & related tools
wrk
HTTP benchmarking tool that generates high load using multithreaded design and event notification systems
mitmproxy
Interactive SSL/TLS-capable HTTP proxy with console, command-line, and web interfaces for traffic inspection
sqlmap
Open source penetration testing tool that automates detection and exploitation of SQL injection flaws and database server takeover.
HTTPie
Command-line HTTP client with human-friendly syntax for API testing and web service interaction
nuclei
YAML template-based vulnerability scanner for web apps, APIs, networks, DNS and cloud, with TCP, HTTP, DNS, SSL, WHOIS and JavaScript protocols.
add a badge to your README
Maintain aria2? Show that it's featured on trmn. The badge links back to this page.
[](https://www.trmn.sh/tools/aria2?utm_source=badge)<a href="https://www.trmn.sh/tools/aria2?utm_source=badge"><img src="https://www.trmn.sh/badge/aria2.svg" alt="Featured on trmn" height="20"></a>