macOS系统配置aria2
前言
Aria2是什么
Aria2是一款自由、跨平台命令行界面的下载管理器,支持的下载协议有:HTTP、HTTPS、FTP、Bittorrent以及Metalink。
Aria2的另一个特性便是可以使用JSON-RPC和XML-RPC进行HTTP远程下载控制,JSON-RPC接口可通过WebSocket获得。
本人主要拿来下载种子Bittorrent文件以及多线程下载。
配置前的准备工作
安装 Homebrew 。
会使用 vim 或者其他编辑器。
常用命令:
在打开的vim 界面中按 i 键进入编辑模式;按 Esc 键退出编辑模式,进入命令行模式;使用 :wq 命令保存并退出。
安装并配置Aria2
1 | # 使用 Homebrew 安装 aria2 |
编辑配置文件 aria2.conf :
1 | ## 文件保存相关 ## |
本配置文件注意事项如下:
- 默认开启 RPC 模式。
- 已设置RPC授权令牌,请自行修改为自己的。
- 已经添加 BT tracker 。
设置为开机自启动
创建用户启动文件
1 | touch ~/Library/LaunchAgents/aria2.plist |
写入如下:
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
<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按理说已经得到官方修复。
以下为原文件内容(默认使用该文件即可,出现问题无法解决再尝试上述修改文件):
1 |
|
注意事项:
一定要记得替换
WorkingDirectory
参数下的用户名,以及检查ProgramArguments
参数下的目录是否正确。
1 | # 检查plist语法是否正确 |
添加并启用自启动项
1 | # 添加自启动项: aria2 |
注意事项:
如果以前添加过aria2启动项,再次操作时记得先删除启动项再重新添加!
添加自动更新 BT tracker 功能
创建 trackers-list-aria2.sh 脚本
1 | touch ~/.aria2/trackers-list-aria2.sh |
脚本内容如下:
1 |
|
设置运行权限:
1 | chmod +x ~/.aria2/trackers-list-aria2.sh |
设置任务计划程序 实现自动更新
编译当前用户任务计划:
1 | crontab -e |
可用 crontab -l 查看当前用户任务计划。文件内容如下:
1 | MAILTO = "" |
2022/05/27 更新:
添加 MAILTO = “” 配置避免终端出现 You have new mail 提示。
如果已经出现此类通知,输入
或者直接输入:
1 | (crontab -l 2&> /dev/null; echo "0 18 * * * ~/.aria2/trackers-list-aria2.sh") | crontab |
以上表示:
每天下午 6 点自动更新 BT tracker 并重启 aria2 服务。
取消计划任务:
1 crontab -e然后手动删除内容,或者直接运行:
1 crontab -l 2&> /dev/null| sed "/trackers-list-aria2.sh/d" | crontab
添加下载通知
最终效果:当下载完成会在屏幕右上角弹出一个提示框显示具体下载完成的文件名,同时语音播报:“有个文件下载完成,请查收!”
创建 download-complete-hook.sh 脚本
1 | touch ~/.aria2/download-complete-hook.sh |
脚本内容如下:
1 |
|
设置运行权限:
1 | chmod +x ~/.aria2/download-complete-hook.sh |
添加 Hook 设置
上面的 aria2.conf 配置文件已经包含了如下内容,使用上面文件的可以直接跳过此部分。
在 aria2 设置文件 aria2.conf 加入如下内容:
1 | # BT下载完成(如有做种将包含做种,如需调用请务必确定设定完成做种条件) |
Aria2 web UI
无需安装,直接使用浏览器打开: AriaNg版 UI 。
PRC 设置
根据 aria2.conf 配置文件中的 PRC 相关设置项进行设置。
安装浏览器下载插件
- 内置一个离线 AriaNg版 UI
- 整合右键下载菜单
内置的离线AriaNg版也需要 设置PRC ,否则无法成功连接。
仅供参考
网盘文件下载
网盘直链下载助手:需要通过安装拓展插件 Violentmonkey 或者 Tampermonkey 等脚本管理器来启用。
使用方法
配合Aria2 for Chrome插件使用。
- 选择要下载的文件,点击下载助手页面里的“Aria下载”或者“RPC下载”推送到Aria2 UI界面。
- 使用鼠标点击相应选项后,选择“发送链接”,然后确定下载。
感谢
作者:Yuesir
本文链接:https://vccv.cc/article/aria2-mac.html
版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC-ND 4.0 许可协议,转载请注明出处!