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 在支撑。 总之,值得一试。希望这篇分享能帮你少走点弯路。