BlogX

记录生活 · 分享思考 · 探索世界

macOS 下 aria2 优化配置文档(MacPorts 版)

目标:使用 MacPorts 安装 aria2,通过 launchd 后台自动运行;仅用于 HTTP/HTTPS/FTP 等常规下载;关闭 BT 相关功能,禁止上传分享。


目录


1. 安装 aria2

通过 MacPorts 安装:

sudo port install aria2

验证安装:

aria2c --version

2. 创建配置目录

mkdir -p ~/.aria2
touch ~/.aria2/aria2.conf
touch ~/.aria2/aria2.session
touch ~/.aria2/aria2.log

下文所有 /Users/你的用户名/ 请替换为你的实际用户目录,例如 /Users/tom/。
可用 whoami 查看当前用户名。


3. 优化配置文件

编辑 ~/.aria2/aria2.conf,写入以下内容:

# ===== 基础下载优化 =====
continue=true
max-concurrent-downloads=16
split=16
min-split-size=1M

# 会话保存与恢复
input-file=/Users/你的用户名/.aria2/aria2.session
save-session=/Users/你的用户名/.aria2/aria2.session
save-session-interval=30

# 日志
log=/Users/你的用户名/.aria2/aria2.log

# ===== 可选:RPC 远程控制 =====
# 如需浏览器扩展或图形界面,取消注释并设置令牌
# enable-rpc=true
# rpc-listen-all=false
# rpc-allow-origin-all=true
# rpc-secret=你的令牌

# ===== 禁止 BT 核心功能 =====
enable-dht=false
enable-dht6=false
bt-enable-lpd=false
follow-torrent=false
bt-save-metadata=false
bt-load-saved-metadata=false

# ===== 禁止上传与做种 =====
seed-time=0
seed-ratio=0.0
max-overall-upload-limit=1K
max-upload-limit=1K

# ===== 禁用 BT 监听端口 =====
# 如确认当前 aria2 版本支持 0 值,可取消注释
# listen-port=0
# dht-listen-port=0

参数说明

  • continue=true:支持断点续传。
  • max-concurrent-downloads=16:最大并发下载任务数。
  • split=16:单文件多连接数,提高 HTTP/FTP 下载速度。
  • save-session + input-file:保存并恢复未完成任务。
  • enable-dht=false、bt-enable-lpd=false:关闭 BT 节点发现。
  • follow-torrent=false:下载 .torrent 文件时不自动开始 BT 下载。
  • seed-time=0、seed-ratio=0.0:下载完成后不做种、不分享。
  • max-overall-upload-limit=1K、max-upload-limit=1K:严格限制上传速度。

4. 配置 launchd 后台运行

创建 LaunchAgent 配置文件:

touch ~/Library/LaunchAgents/aria2.plist

编辑 ~/Library/LaunchAgents/aria2.plist,写入:

<?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>Label</key>
    <string>aria2</string>

    <key>ProgramArguments</key>
    <array>
        <string>/opt/local/bin/aria2c</string>
        <string>--conf-path=/Users/用户名/.aria2/aria2.conf</string>
    </array>

    <key>RunAtLoad</key>
    <true/>

    <key>KeepAlive</key>
    <true/>

    <key>WorkingDirectory</key>
    <string>/Users/用户名/Downloads</string>

    <!-- 强烈建议加上日志输出,便于排错 -->
    <key>StandardOutPath</key>
    <string>/Users/mofei/.aria2/launchd.out.log</string>
    <key>StandardErrorPath</key>
    <string>/Users/mofei/.aria2/launchd.err.log</string>
</dict>
</plist>

MacPorts 安装的 aria2c 路径通常为 /opt/local/bin/aria2c。
如果使用 Homebrew Apple Silicon,路径可能是 /opt/homebrew/bin/aria2c,请按实际安装调整。


5. 加载并启动服务

launchctl load ~/Library/LaunchAgents/aria2.plist
launchctl start aria2

如果修改了 plist,需要先卸载再重新加载:

launchctl unload ~/Library/LaunchAgents/aria2.plist
launchctl load ~/Library/LaunchAgents/aria2.plist

6. 验证运行状态

检查进程:

ps aux | grep aria2c

检查 launchd 服务:

launchctl list | grep aria2

查看日志:

tail -f ~/.aria2/aria2.log

7. 使用示例

普通 HTTP 下载:

aria2c --conf-path="$HOME/.aria2/aria2.conf" "https://example.com/file.zip"

批量下载:

aria2c --conf-path="$HOME/.aria2/aria2.conf" -i urls.txt

urls.txt 每行一个下载链接。


8. 禁止 BT 与上传分享说明

当前配置已经做到:

  • 关闭 DHT、DHT6、LPD。
  • 不自动跟随 .torrent 文件。
  • 不保存、不加载 BT 元数据。
  • 下载完成后立即停止做种。
  • 严格限制上传速度。

但需要注意:

  • aria2 本身仍支持 BT 协议,配置无法 100% 阻止你主动提交磁力链接。
  • 不要将 magnet: 磁力链接或 .torrent 文件交给 aria2。
  • 如果使用 AriaNg、Aria2 for Chrome 等前端,请在设置中排除 magnet: 链接。
  • 公共 BT 网络中只下载不上传可能被 Tracker 屏蔽,请遵守当地 ISP 政策。
  • 若严格要求完全禁用 BT,建议使用防火墙阻止 aria2 的 BT 端口,或改用仅支持 HTTP/HTTPS 的下载器。

9. 常见问题

9.1 端口被占用

不要同时使用 --daemon=true 或 -D,launchd 已经负责后台运行。

9.2 检查 plist 格式

plutil ~/Library/LaunchAgents/aria2.plist

9.3 权限问题

确保以下文件对当前用户可读写:

~/.aria2/aria2.conf
~/.aria2/aria2.session
~/.aria2/aria2.log

9.4 服务启动失败

查看日志:

tail -n 100 ~/.aria2/aria2.log

如果日志为空,检查 aria2.conf 中的 log= 路径是否正确。

9.5 修改配置后如何生效

launchctl unload ~/Library/LaunchAgents/aria2.plist
launchctl load ~/Library/LaunchAgents/aria2.plist

10. 卸载与清理

停止并卸载服务:

launchctl unload ~/Library/LaunchAgents/aria2.plist 2>/dev/null || true
rm -f ~/Library/LaunchAgents/aria2.plist

卸载 aria2:

sudo port uninstall aria2

删除配置与日志:

rm -rf ~/.aria2

附录:路径对照

项目MacPorts 默认路径
aria2c 可执行文件/opt/local/bin/aria2c
配置文件~/.aria2/aria2.conf
会话文件~/.aria2/aria2.session
日志文件~/.aria2/aria2.log
LaunchAgent~/Library/LaunchAgents/aria2.plist

以上配置完成后,aria2 会在你登录 macOS 时自动后台运行,仅用于常规下载,并关闭 BT 与上传分享功能。

评论(0)

    暂无评论。

    发表评论

    9 + 5 = ?