# 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.

Stars: 43.3k · Language: C++ · License: GPL-2.0 · Categories: Network

- Repository: https://github.com/aria2/aria2
- Website: https://aria2.github.io/
- Page: https://www.trmn.sh/tools/aria2

## Install

- Homebrew: `brew install aria2`

## Overview

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

```bash
# via Homebrew
brew install aria2
```

## Alternatives

- [wrk](https://www.trmn.sh/tools/wrk.md): HTTP benchmarking tool that generates high load using multithreaded design and event notification systems (C, 40.4k stars)
- [mitmproxy](https://www.trmn.sh/tools/mitmproxy.md): Interactive SSL/TLS-capable HTTP proxy with console, command-line, and web interfaces for traffic inspection (Python, 46.4k stars)
- [sqlmap](https://www.trmn.sh/tools/sqlmap.md): Open source penetration testing tool that automates detection and exploitation of SQL injection flaws and database server takeover. (Python, 38.8k stars)
- [HTTPie](https://www.trmn.sh/tools/httpie.md): Command-line HTTP client with human-friendly syntax for API testing and web service interaction (Python, 38.7k stars)
- [nuclei](https://www.trmn.sh/tools/nuclei.md): YAML template-based vulnerability scanner for web apps, APIs, networks, DNS and cloud, with TCP, HTTP, DNS, SSL, WHOIS and JavaScript protocols. (Go, 32.4k stars)

---

Canonical: https://www.trmn.sh/tools/aria2
