aria2
> aria2 — 轻量级多协议下载利器,解决下载慢、断点续传、多来源合并问题
嘿,大家好。今天来聊聊一个我用了快十年的下载工具 —— aria2。说实话,每次有人问我“有没有好用的下载神器”,我脑子里第一个蹦出来的就是它。不是因为它多炫酷,而是因为它真的能帮你搞定很多下载场景,而且几乎不占资源。
## 它到底干什么的,解决什么问题
aria2 是一个轻量级、支持多协议的命令行下载工具。你可以把它理解成“下载界的瑞士军刀”。它支持 HTTP/HTTPS、FTP、SFTP、BitTorrent 甚至 Metalink。最核心的能力就是:**多来源下载**、**断点续传**、**并发连接**。
比如你下载一个几百兆的大文件,普通浏览器可能就一股脑只连一个服务器,aria2 可以同时开 N 个连接去拉,速度直接起飞。再比如你下到一半网断了,重启后它自动续传,不用重新来。BT 下载就更不用说了,它内置 DHT、PEX、磁力链接解析,完全可以当 BT 客户端用,且没有那些花里胡哨的广告。
## 下载方式
官网地址在这里:[aria2 官网](https://aria2.github.io/)
GitHub 项目仓库:[aria2 on GitHub](https://github.com/aria2/aria2)
文档也很全,建议没事翻翻:[aria2 手册](https://aria2.github.io/manual/en/html/)
## 安装方法
安装非常简单,几乎主流系统都有包。
**Windows**
直接去官网下载 exe 安装包,或者用 scoop:
```bash
scoop install aria2
```
也可以去 [aria2 Windows 版本](https://github.com/aria2/aria2/releases) 下载 zip 包,解压后把 aria2c.exe 放到 PATH 目录下。
**macOS**
用 Homebrew 一行搞定:
```bash
brew install aria2
```
**Linux**
Debian/Ubuntu 系:
```bash
sudo apt install aria2
```
CentOS/RHEL/Fedora:
```bash
sudo yum install aria2 # 老版本
sudo dnf install aria2 # 新版
```
Arch Linux:
```bash
sudo pacman -S aria2
```
**Docker**
如果想隔离环境,也可以拉镜像:
```bash
docker pull superng6/aria2
```
## 基础使用教程
安装完后,在终端输入 `aria2c --version` 看看有没有反应。有的话就可以开搞了。
### 1. 单文件下载
最基础用法,直接跟 URL:
```bash
aria2c https://example.com/bigfile.iso
```
默认会下载到当前目录,文件名保持原样。
### 2. 多连接加速
加个 `-x` 参数指定连接数:
```bash
aria2c -x 16 https://example.com/bigfile.iso
```
16 个连接同时拉,速度提升明显(但也要看服务器限制)。
### 3. 断点续传
如果下载中断,重新执行同样的命令,它会自动检测并续传:
```bash
aria2c -c https://example.com/bigfile.iso
```
`-c` 就是继续(continue)的意思。
### 4. BT 下载
直接扔磁力链接或种子文件:
```bash
aria2c "magnet:?xt=urn:btih:..."
aria2c example.torrent
```
默认会下载所有文件到当前目录。如果想指定目录,加 `-d`:
```bash
aria2c -d /downloads example.torrent
```
### 5. 多文件批量下载
把多个 URL 写进一个文本文件,一行一个,然后:
```bash
aria2c -i urls.txt
```
这个配合 `-x` 和 `-c` 特别适合批量下大文件。
### 6. 限制速度
如果你不想让下载占满带宽,可以用 `--max-download-limit`:
```bash
aria2c --max-download-limit=500K https://example.com/bigfile.iso
```
单位可以是 K、M、G。
### 7. 后台运行
aria2c 默认前台运行,想后台跑就加 `-D`:
```bash
aria2c -D https://example.com/bigfile.iso
```
或者用 `nohup` + `&` 也行。
## 进阶技巧
### 1. 配置持久化(aria2.conf)
每次敲一堆参数太麻烦。可以写个配置文件,比如 `~/.aria2/aria2.conf`:
```ini
# 基础设置
dir=/downloads
continue=true
max-concurrent-downloads=5
max-connection-per-server=16
split=16
# BT 设置
enable-dht=true
enable-peer-exchange=true
bt-enable-lpd=true
# RPC 设置(用于远程控制)
enable-rpc=true
rpc-listen-all=true
rpc-allow-origin-all=true
rpc-secret=你的密码
```
然后启动时指定配置:
```bash
aria2c --conf-path=/path/to/aria2.conf
```
### 2. 配合 WebUI 远程控制
aria2 自带 RPC 接口,可以搭配各种 Web 界面。推荐 [AriaNg](https://github.com/mayswind/AriaNg) 或 [webui-aria2](https://github.com/ziahamza/webui-aria2)。
启动 aria2 时开启 RPC(上面配置里已经写了),然后用浏览器打开 AriaNg 的页面,填入 RPC 地址和密码,就能在浏览器里管理下载任务了。甚至可以在手机上用,非常方便。
### 3. 队列与优先级
如果同时下很多任务,可以设置优先级:
```bash
aria2c --max-download-limit=1M --max-concurrent-downloads=3 -i urls.txt
```
或者用 `--on-download-complete` 钩子,下载完成后自动执行脚本(比如解压、通知)。
### 4. 配合百度网盘
很多人用 aria2 来下百度网盘文件。配合油猴脚本(比如“百度网盘直链下载助手”),可以解析出直链,然后扔给 aria2。不过注意百度限速,多连接有时会被封 IP,建议控制连接数。
### 5. 代理与隧道
如果你有代理,可以设置:
```bash
aria2c --all-proxy="http://127.0.0.1:1080" https://example.com/file
```
或者单独设置 HTTP/HTTPS 代理。
### 6. 日志与调试
遇到问题可以开日志:
```bash
aria2c --log=/tmp/aria2.log --log-level=debug https://example.com/file
```
这样能看清每一步发生了什么。
## 最后说几句
aria2 最大的魅力在于它“小而强”。没有 GUI,没有广告,没有花哨的界面,但能搞定几乎所有下载场景。我平时下载大文件、BT 种子、甚至爬虫下载资源都会优先用它。如果你习惯命令行,它会成为你工具箱里顺手的那把刀。
当然,它也有缺点 —— 对新手不太友好,尤其是配置 RPC 和 WebUI 那一步。但一旦配好,后面就一劳永逸。如果你实在不想折腾,也可以试试其他图形化下载工具(比如 Motrix 就是基于 aria2 的),但核心能力其实还是 aria2 在支撑。
总之,值得一试。希望这篇分享能帮你少走点弯路。