1351 字
7 分钟
[工具] aria2 + AriaNg 配置
核心概念

aria2 是后端下载引擎,负责实际的下载任务;
AriaNg 是 Web 前端控制面板,通过 RPC 接口与 aria2 通信,两者配合使用,为您提供类似常规下载软件的图形化操作体验


一、 aria2 (后端下载引擎)#

1. 多平台安装#

根据您的操作系统执行对应的安装命令:

平台安装命令
Arch Linuxsudo pacman -S aria2
Debian / Ubuntusudo apt install aria2
Fedorasudo dnf install aria2
macOSbrew install aria2

2. 基础命令行使用#

在配置复杂的 RPC 服务之前,您可以直接使用 aria2c 命令进行简单下载:

  • 普通下载aria2c "https://example.com/file.zip"
  • 下载到指定目录aria2c -d /path/to/dir "URL"
  • 指定文件名aria2c -o "new_name.zip" "URL"
  • 分段并发下载(加速):aria2c -s 16 -x 16 "URL"
  • 从文件列表批量下载aria2c -i list.txt
命令行与后台服务的冲突

当您按照下文配置了 systemd/Launch Agents 自启动服务后:

  • 不建议再运行 aria2c --conf-path=... "URL":因为后台服务已占用了 RPC 端口(6800)和会话文件,再次运行会因“端口已被占用”而报错
  • 如果您只想临时下载:请直接运行 aria2c "URL"(不带配置文件),这会启动一个独立的临时进程,不会干扰后台服务
  • 如果您想通过命令行向后台服务添加任务:建议使用 aria2p 等工具,或直接在 AriaNg 界面操作
进阶:使用 aria2p 进行命令行管理

如果您希望在终端中像使用 top 一样管理后台的 aria2 任务,推荐安装 aria2p,它可以让你直接在命令行中添加、暂停、删除任务,而无需打开浏览器

3. 环境与基础配置#

3.1 创建必要文件#

所有平台的配置路径建议统一为 ~/.config/aria2

Terminal window
mkdir -p ~/.config/aria2
touch ~/.config/aria2/aria2.session
文件作用说明
  • aria2.conf:主配置文件,定义下载目录、RPC 端口、安全令牌等运行参数
  • aria2.session:会话保存文件,记录未完成任务的状态,确保重启后进度不丢失

3.2 编写配置文件#

配置必读

rpc-secret 用于保护 RPC 接口,即便在本地使用,也建议设置令牌以防止恶意网页跨站访问您的 aria2 接口

Fish Shell 用户

由于 Fish 不支持 <<EOF (Heredoc) 语法,请先输入 bash 切换环境再执行以下命令,或者使用 bash -c '...' 运行

Terminal window
cat <<EOF > ~/.config/aria2/aria2.conf
# 下载设置
dir=$HOME/Downloads
file-allocation=falloc
continue=true
# RPC 设置 (用于 AriaNg 连接)
enable-rpc=true
rpc-allow-origin-all=true
rpc-listen-all=true
# 令牌设置(不需要则注释掉下面这行)
rpc-secret=YOUR_SECRET_TOKEN
# 进度保存
input-file=$HOME/.config/aria2/aria2.session
save-session=$HOME/.config/aria2/aria2.session
save-session-interval=60
# 性能优化
max-concurrent-downloads=5
max-connection-per-server=16
min-split-size=10M
split=10
# 代理(示例)
#all-proxy=http://127.0.0.1:7897
#no-proxy=localhost,127.0.0.1,::1
EOF

4. 设置自动启动#

🐧 Linux (使用 systemd)#

适用于 Arch, Debian, Ubuntu, Fedora 等发行版:

Terminal window
mkdir -p ~/.config/systemd/user/
cat <<EOF > ~/.config/systemd/user/aria2.service
[Unit]
Description=Aria2 RPC Service
After=network.target
[Service]
ExecStart=/usr/bin/aria2c --conf-path=%h/.config/aria2/aria2.conf
[Install]
WantedBy=default.target
EOF
# 启动并激活服务
systemctl --user daemon-reload
systemctl --user enable aria2
systemctl --user start aria2
Linux (systemctl) 维护
  • 查看运行状态systemctl --user status aria2
  • 实时追踪日志journalctl --user -u aria2 -f
  • 重启服务systemctl --user restart aria2

🍎 macOS (使用 Launch Agents)#

由于 macOS 下的 brew services 对自定义配置文件的支持有限,建议使用 Launch Agents 实现完美自启:

  1. 创建自启动配置文件
Terminal window
mkdir -p ~/Library/LaunchAgents
cat <<EOF > ~/Library/LaunchAgents/homebrew.mxcl.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>homebrew.mxcl.aria2</string>
<key>ProgramArguments</key>
<array>
<string>$(which aria2c)</string>
<string>--conf-path=$HOME/.config/aria2/aria2.conf</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>KeepAlive</key>
<true/>
<key>StandardOutPath</key>
<string>$HOME/.config/aria2/aria2.log</string>
<key>StandardErrorPath</key>
<string>$HOME/.config/aria2/aria2.log</string>
</dict>
</plist>
EOF
  1. 加载并启动服务
Terminal window
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.aria2.plist
路径说明

如果您是 Apple Silicon (M1/M2/M3) 用户,aria2c 的路径通常为 /opt/homebrew/bin/aria2c,请根据 which aria2c 的实际输出修改 plist 文件中的路径

macOS (launchctl) 维护
  • 启动服务launchctl load ~/Library/LaunchAgents/homebrew.mxcl.aria2.plist
  • 停止/卸载服务launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.aria2.plist
  • 查看运行日志tail -f ~/.config/aria2/aria2.log
  • 查看服务状态launchctl list | grep aria2

二、 AriaNg (前端控制面板)#

1. 获取方式#

  • Arch Linux: yay -S ariang-git (静态文件位于 /usr/share/webapps/ariang)
  • 通用方法: 从 GitHub Releases 下载并解压 AriaNg-x.x.x.zip

2. 访问方式#

Linux (systemd) 自动化部署

对于 Linux 用户(尤其是安装了 ariang 包的 Arch 用户),建议使用 systemd 托管 AriaNg,使其在后台运行并随开机自启:

Terminal window
mkdir -p ~/.config/systemd/user/
cat <<EOF > ~/.config/systemd/user/ariang.service
[Unit]
Description=AriaNg Web Interface
After=network.target
[Service]
ExecStart=/usr/bin/python3 -m http.server -d /usr/share/webapps/ariang 8000
Restart=always
[Install]
WantedBy=default.target
EOF
# 启动并启用服务
systemctl --user daemon-reload
systemctl --user enable --now ariang.service

访问地址:http://localhost:8000

其他访问方式
  1. 直接访问:浏览器打开解压目录下的 index.html
  2. 临时启动:在 AriaNg 目录运行 python3 -m http.server 8000
  3. 专业 Web 服务器:使用 Nginx/Apache 部署静态目录

3. 连接到后端#

  1. 打开 AriaNg,进入 AriaNg 设置 -> RPC
  2. 填入 Aria2 地址 (localhost)端口 (6800)RPC 秘钥 (YOUR_SECRET_TOKEN)
  3. 点击“重新加载”,状态显示“已连接”即告成功
关于配置存储

AriaNg 的设置保存在浏览器的 Local Storage 中,清除浏览器缓存或更换浏览器后,需要重新填写连接信息

进阶:快捷连接 URL

您可以直接通过带参数的 URL 访问来自动填好配置: http://localhost:8000/#!/settings/rpc/set/ws/localhost/6800/jsonrpc/BASE64_ENCODED_SECRET


三、 常见问题排查 (Troubleshooting)#

连接失败排查清单
  1. 进程检查systemctl --user status aria2 (Linux) 或 launchctl list (macOS)
  2. 端口检查ss -tulpn | grep 6800 (Linux) 或 netstat -an | grep 6800 (macOS) 确认端口已监听
  3. 密钥匹配aria2.conf 中的 rpc-secret 必须与 AriaNg 填写的完全一致
  4. 混合内容拦截:若通过 HTTPS 访问 AriaNg 但 RPC 是 WS,请在浏览器地址栏允许“不安全内容”加载
[工具] aria2 + AriaNg 配置
https://www.eustia-astraea.top/posts/tools/aria2-ariang-setup/
作者
mcsl
发布于
2026-01-16
许可协议
CC BY-NC-SA 4.0