前言
Aria2是什么
Aria2是一款自由、跨平台命令行界面的下载管理器,支持的下载协议有:HTTP、HTTPS、FTP、Bittorrent以及Metalink。
Aria2的另一个特性便是可以使用JSON-RPC和XML-RPC进行HTTP远程下载控制,JSON-RPC接口可通过WebSocket获得。
本人主要拿来下载种子Bittorrent文件以及多线程下载。
配置前的准备工作
安装 Homebrew 。
会使用 vim 或者其他编辑器。
常用命令:
在打开的vim 界面中按 i 键进入编辑模式;按 Esc 键退出编辑模式,进入命令行模式;使用 :wq 命令保存并退出。
Docker安装方式(可选)
2024/03/14 更新:
如果会使用docker,可以通过安装docker镜像而不影响本地环境。点击查看docker的轻量化安装教程,镜像的话可以选择Aria2-Pro。具体安装教程请参照仓库README文件(包含中文教程),本文不做展开。
本次更新只是多提供了一个选择,无需docker安装的忽略本小节即可。
安装并配置Aria2
|
|
编辑配置文件 aria2.conf :
|
|
本配置文件注意事项如下:
- 默认开启 RPC 模式。
- 已设置RPC授权令牌,请自行修改为自己的。
- 已经添加 BT tracker 。
- 如果使用后文提到的Aria2 Explorer插件,请注释或者删除配置文件末尾的部分事件hook内容。
设置为开机自启动
创建用户启动文件
|
|
写入如下:
2023/11/16 更新:
经评论区老哥提醒,由于brew安装位置的不同(M系列芯片默认安装位置可能在
/opt/homebrew/bin/
目录下),下面文件中的ProgramArguments
参数需要自行修改为本机aria2c的位置,可以使用which
命令查看具体位置:示例文件中的相关参数目录还是以上图我的aria2c目录
/usr/local/bin/aria2c
为例,你可能需要修改为/opt/homebrew/bin/aria2c
或者其他自定义目录。
2023.10.13 更新:
感谢评论区小伙伴的提醒,aria2在macOS Sonoma版本使用下述plist“不能”自启动。
根据官方issue#2083讨论,该bug是由于aria2的依赖 gettext 导致的,截止文章更新时该bug应该已经修复,使用
brew upgrade
更新全部依赖即可。如果仍然无法使用,可以使用以下plist文件内容:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>EnvironmentVariables</key> <dict> <key>LC_MESSAGES</key> <string>C</string> </dict> <key>KeepAlive</key> <true/> <key>Label</key> <string>aria2</string> <key>ProgramArguments</key> <array> <string>/usr/local/bin/aria2c</string> </array> <key>RunAtLoad</key> <true/> <key>WorkingDirectory</key> <string>/Users/用户名/Downloads</string> </dict> </plist>
主要是添加了一个
LC_MESSAGES='C'
键值对。请注意,万不得已才使用上述修改内容,因为该bug按理说已经得到官方修复。
以下为原文件内容(默认使用该文件即可,出现问题无法解决再尝试上述修改文件):
|
|
注意事项:
一定要记得替换
WorkingDirectory
参数下的用户名,以及检查ProgramArguments
参数下的目录是否正确。
|
|
添加并启用自启动项
|
|
注意事项:
如果以前添加过aria2启动项,再次操作时记得先删除启动项再重新添加!
2024/03/14 更新:
如果提示诸如
Load failed: 5: Input/output error Try running launchctl bootstrap as root for richer errors.
此类的错误,请先按照上述指引检查aria2c路径或者尝试更新全部brew依赖。若没有解决请尝试先删除启动项再进行load。如果还是不行,可以加上-w参数强制添加。实在不行请评论区反馈或者查看以往评论进行尝试。
添加自动更新 BT tracker 功能
创建 trackers-list-aria2.sh 脚本
|
|
脚本内容如下:
|
|
设置运行权限:
|
|
设置任务计划程序 实现自动更新
编译当前用户任务计划:
|
|
可用 crontab -l 查看当前用户任务计划。文件内容如下:
|
|
2022/05/27 更新:
添加 MAILTO = “” 配置避免终端出现 You have new mail 提示。
如果已经出现此类通知,输入
或者直接输入:
|
|
以上表示:
每天下午 6 点自动更新 BT tracker 并重启 aria2 服务。
取消计划任务:
1
crontab -e
然后手动删除内容,或者直接运行:
1
crontab -l 2&> /dev/null| sed "/trackers-list-aria2.sh/d" | crontab
添加下载通知
2024.08.19 更新:
如果使用后文提到的Aria2 Explorer插件,请忽略本小节内容。
最终效果:当下载完成会在屏幕右上角弹出一个提示框显示具体下载完成的文件名,同时语音播报:“有个文件下载完成,请查收!”
创建 download-complete-hook.sh 脚本
2024.08.19 更新:
如果使用后文提到的Aria2 Explorer插件,请忽略本小节内容。
|
|
脚本内容如下:
|
|
设置运行权限:
|
|
添加 Hook 设置
上面的 aria2.conf 配置文件已经包含了如下内容,使用上面文件的可以直接跳过此部分。
除此之外,如果使用后文提到的Aria2 Explorer插件,也可以删除配置文件中关于这部分的内容。
在 aria2 设置文件 aria2.conf 加入如下内容:
|
|
Aria2 web UI
无需安装,直接使用浏览器打开: AriaNg版 UI 。
PRC 设置
根据 aria2.conf 配置文件中的 PRC 相关设置项进行设置。
安装浏览器下载插件
Aria2 Explorer
2024.08.19 更新:
首先感谢评论区老哥Chlorine的提醒,让我能够有机会继续完善本章节。
推荐配合Aria2 Explorer浏览器插件使用,Aria2-Explorer 能够自动拦截浏览器下载任务并通过JSON-RPC接口导出到Aria2进行高速下载并内置AriaNG作为管理前端。点击Chrome插件地址进行安装以及查看具体使用教程,其实主要是修改Server地址和RPC密钥。
除此之外,如果使用了这个插件,可以配合插件本身具备的通知功能,适当删减aria2.conf
配置文件以及跳过添加下载通知等相关章节内容,所有关于通知功能的内容都可以直接删除和跳过,进一步缩减配置文件和过程的复杂性。
Aria2 for Chrome
2024.08.19 更新:
更加推荐前面提到的Aria2 Explorer插件。
- 内置一个离线 AriaNg版 UI
- 整合右键下载菜单
内置的离线AriaNg版也需要 设置PRC ,否则无法成功连接。
仅供参考
网盘文件下载
网盘直链下载助手:需要通过安装拓展插件 Violentmonkey 或者 Tampermonkey 等脚本管理器来启用。
使用方法
配合Aria2 for Chrome插件使用。
- 选择要下载的文件,点击下载助手页面里的“Aria下载”或者“RPC下载”推送到Aria2 UI界面。
- 使用鼠标点击相应选项后,选择“发送链接”,然后确定下载。