Aria2 的简单配置

Aria2 可谓 Linux 下的下载神器。最近因为一些原因不得不搞一搞它。

由于对配置文件什么的不熟悉,下面把东西都贴出来,做个记录。

以下记录基于 Fedora。Ubuntu 可能需要再改一点东西。

安装 aria2

sudo dnf install aria2

创建用户(可选)

我们可以给 Aria2 创建单独的用户。

# 创建用户和下载文件夹
useradd aria2 -s /sbin/nologin
mkdir /home/aria2/Downloads/
# 授权
chown aria2:aria2 /home/aria2/Downloads
chmod a+rx /home/aria2
chmod a+rx /home/aria2/Downloads

但是因为懒…… 下面的配置中我都没有创建单独用户。使用的用户是当前用户(haoyu:haoyu)。

创建配置文件

aria2 可以使用配置文件启动,这样启动参数可以不用写得很长,并且便于管理。

创建 /etc/aria2.conf 文件(此配置文件来自于 雪月秋水君)。

# 允许 rpc
enable-rpc=true
# 允许所有来源, web 界面跨域权限需要
rpc-allow-origin-all=true
# 允许非外部访问
rpc-listen-all=true
#RPC 端口, 仅当默认端口被占用时修改
#rpc-listen-port=6800
# token 验证
#rpc-secret=secure
# 用户名
#rpc-user=username
# 密码
#rpc-passwd=passwd
# 最大同时下载数 (任务数), 路由建议值: 3
max-concurrent-downloads=5
# 断点续传
continue=true
# 同服务器连接数
max-connection-per-server=5
# 最小文件分片大小, 下载线程数上限取决于能分出多少片, 对于小文件重要
min-split-size=10M
# 单文件最大线程数, 路由建议值: 5
split=10
# 下载速度限制
max-overall-download-limit=0
# 单文件速度限制
max-download-limit=0
# 上传速度限制
max-overall-upload-limit=0
# 单文件速度限制
max-upload-limit=0
# 断开速度过慢的连接
#lowest-speed-limit=0
# 验证用,需要 1.16.1 之后的 release 版本
#referer=*
# 进度保存相关
#input-file=/home/.config/aria2.session
#save-session=/home/.config/aria2.session
# 定时保存会话,需要 1.16.1 之后的 release 版
#save-session-interval=60
# 文件保存路径, 默认为当前启动位置
dir=/home
# 文件缓存, 使用内置的文件缓存, 如果你不相信 Linux 内核文件缓存和磁盘内置缓存时使用, 需要 1.16 及以上版本
#disk-cache=0
# 另一种 Linux 文件缓存方式, 使用前确保您使用的内核支持此选项, 需要 1.15 及以上版本 (?)
#enable-mmap=true
# 文件预分配, 能有效降低文件碎片, 提高磁盘性能. 缺点是预分配时间较长
# 所需时间 none < falloc ? trunc << prealloc, falloc 和 trunc 需要文件系统和内核支持
file-allocation=prealloc
# 启用本地节点查找
bt-enable-lpd=true
# 添加额外的 tracker
#bt-tracker=<URI>,…
# 单种子最大连接数
#bt-max-peers=55
# 强制加密, 防迅雷必备
#bt-require-crypto=true
# 当下载的文件是一个种子 (以. torrent 结尾) 时, 自动下载 BT
follow-torrent=true
#BT 监听端口, 当端口屏蔽时使用
#listen-port=6881-6999
# 不确定是否需要,为保险起见,need more test
enable-dht=false
bt-enable-lpd=false
enable-peer-exchange=false
# 修改特征
user-agent=uTorrent/2210(25130)
peer-id-prefix=-UT2210-
# 修改做种设置,分享率
seed-ratio=2
# 保存会话
force-save=false
bt-hash-check-seed=true
bt-seed-unverified=true
bt-save-metadata=true

创建服务

创建 /lib/systemd/system/aria2-rpc.service 文件。

[Unit]
Description=Aria2c-rpc mode
Require=network.target
After=syslog.target network.target remote-fs.target nss-lookup.target

[Service]
User=haoyu
Group=haoyu

GuessMainPID=yes
ExecStart=/usr/bin/aria2c --enable-rpc --rpc-listen-all -D --conf-path=/etc/aria2.conf
ExecReload=/bin/kill -s QUIT $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target

注意:启动参数 -D 表示 “daemon”。

启动服务

sudo service aria2-rpc start

服务开机自动启动

sudo systemctl enable aria2-rpc.service

其实……

最简单的方法是让 uGet 启动 Aria2,然后退出 uGet 的时候不退出 Aria2 即可。还有比这个更懒的么?反正下载工具总是要开启的嘛。

在路由器上使用

配置好 etc/aria2.conf 后,在 系统 - 启动项 里面写入

sleep 3
aria2c --conf-path=/home/.config/aria2.conf -D

Sleep 一下是给磁盘挂载留一点时间。

开始下载吧

参考资料

《Aria2 的简单配置》有1条留言

留下评论