Will's Blog
1464 字
7 分钟
在 Linux 上使用 aria2

环境:Arch Linux

准备工作#

安装#

sudo pacman -S aria2

建立配置文件位置#

建立配置文件位置~/.config/aria2并在此路径下建立配置文件aria2.conf,会话文件aria2.session.︀dht 文件dht.dat

注:本配置是个人电脑而非下载机使用,不打算记录日志.︀故日志文件aria2.log文件实际上不需要建立.︀

aria2.conf配置#

所用基本配置如下:

注意:保持默认的配置已注释,ipv6 已禁用

## 文件保存相关 ##

# 文件的保存路径 (可使用绝对路径或相对路径), 默认:当前启动位置
dir=/home/will/Downloads
# 启用磁盘缓存,0 为禁用缓存,需 1.16 以上版本,默认:16M
disk-cache=32M
# 文件预分配方式,能有效降低磁盘碎片,默认:prealloc
# 预分配所需时间:none < falloc ? trunc < prealloc
# falloc 和 trunc 则需要文件系统和内核支持
# NTFS 建议使用 falloc, EXT3/4建议trunc, MAC 下需要注释此项
file-allocation=falloc
# 断点续传
continue=true

## 进度保存相关 ##

# 从会话文件中读取下载任务
input-file=/home/will/.config/aria2/aria2.session
# 在 Aria2 退出时保存`错误/未完成`的下载任务到会话文件
save-session=/home/will/.config/aria2/aria2.session

# 任务状态改变后保存会话的间隔时间(秒), 0 为仅在进程正常退出时保存,默认:0
# 为了及时保存任务状态、防止任务丢失,此项值只建议设置为 1
save-session-interval=1

# 自动保存任务进度到控制文件 (*.aria2) 的间隔时间(秒),0 为仅在进程正常退出时保存,默认:60
#auto-save-interval=60

# 强制保存,即使任务已完成也保存信息到会话文件,默认:false
#force-save=false

## 日志相关设置 ##

# 日志文件保存路径,忽略或设置为空为不保存,默认不保存。
#log=/home/will/.config/aria2/aria2.log

# 日志级别,可选 debug, info, notice, warn, error。默认 debug
#log-level=warn

## 下载连接相关 ##

# 最大同时下载任务数,运行时可修改,默认:5
#max-concurrent-downloads=5
# 同一服务器连接数,添加时可指定,默认:1
max-connection-per-server=16
# 最小文件分片大小,添加时可指定,取值范围 1M -1024M, 默认:20M
# 假定 size=10M, 文件为 20MiB 则使用两个来源下载; 文件为 15MiB 则使用一个来源下载
min-split-size=10M
# 单个任务最大线程数,添加时可指定,默认:5
split=32
# 整体下载速度限制,运行时可修改,默认:0
#max-overall-download-limit=0
# 单个任务下载速度限制,默认:0
#max-download-limit=0
# 整体上传速度限制,运行时可修改,默认:0
#max-overall-upload-limit=0
# 单个任务上传速度限制,默认:0
#max-upload-limit=0
# 禁用 IPv6, 默认:false
disable-ipv6=true

## RPC 相关设置 ##

# 启用 RPC, 默认:false
enable-rpc=true
# 允许所有来源,默认:false
rpc-allow-origin-all=true
# 允许非外部访问,默认:false
rpc-listen-all=true
# 事件轮询方式,取值:[epoll, kqueue, port, poll, select], 不同系统默认值不同
event-poll=select
# RPC 监听端口,端口被占用时可以修改,默认:6800
#rpc-listen-port=6800

## BT/PT下载相关 ##

# 当下载的是一个种子 (以.torrent 结尾) 时,自动开始 BT 任务,默认:true
#follow-torrent=true
# BT 监听端口,当端口被屏蔽时使用,默认:6881-6999
listen-port=51413
# 单个种子最大连接数,默认:55
#bt-max-peers=55
# 打开 DHT 功能,PT 需要禁用,默认:true
#enable-dht=true
# 打开 IPv6 DHT 功能,PT 需要禁用
enable-dht6=false
# DHT 网络监听端口,默认:6881-6999
#dht-listen-port=6881-6999
# DHT 文件路径 
dht-file-path=/home/will/.config/aria2/dht.dat
#dht-file-path6=/home/will/.config/aria2/dht6.dat
# 本地节点查找,PT 需要禁用,默认:false
bt-enable-lpd=true
# 种子交换,PT 需要禁用,默认:true
#enable-peer-exchange=true
# 每个种子限速,对少种的 PT 很有用,默认:50K
#bt-request-peer-speed-limit=50K
# 客户端伪装,PT 需要
peer-id-prefix=-TR2770-
user-agent=Transmission/2.77
# 当种子的分享率达到这个数时,自动停止做种,0 为一直做种,默认:1.0
#seed-ratio=1.0
# 最小做种时间(分钟)。设置为 0 时将在 BT 任务下载完成后停止做种。
seed-time=0
# 强制保存会话,即使任务已经完成,默认:false
# 较新的版本开启后会在任务完成后依然保留.aria2 文件
#force-save=false
# BT 校验相关,默认:true
#bt-hash-check-seed=true
# 继续之前的 BT 任务时,无需再次校验,默认:false
bt-seed-unverified=true
# 保存磁力链接元数据为种子文件 (.torrent 文件), 默认:false
#bt-save-metadata=false

# bt-tracker 更新,解决 Aria2 BT 下载速度慢没速度的问题
bt-tracker=

启动与常驻后台#

启动#

sudo aria2c --conf-path=/home/will/.config/aria2/aria2.conf

若不报错则安装成功

自启动#

根据 archwiki,要使用 aria2 作为守护进程,可以写一个 systemd 用户单元:

vim ~/.config/systemd/user/aria2c.service

[Unit]
Description=aria2 Daemon

[Service]
Type=simple
ExecStart=/usr/bin/aria2c --conf-path=/home/will/.config/aria2/aria2.conf

[Install]
WantedBy=default.target

则可以使用以下命令控制:

# 设置开机启动
systemctl --user enable aria2c

# 启动服务
systemctl --user start aria2c
 
# 停止服务
systemctl --user stop aria2c
 
# 重启服务
systemctl --user restart aria2c
 
# 查看状态
systemctl --user status aria2c

BT/PT 下载相关#

首次下载往往会没有速度或者无法下载,可以通过以下方法解决.︀

添加 tracker#

请访问以下网址获取最新的 tracker 并添加到配置最后一行.︀(用逗号隔开)

trackerslist(一般选择 trackers_best (20 trackers) 即可)
Aria2-BT 服务器地址

配置 DHT 文件#

Aria2 有 DHT 的功能,且默认 Aria2 是打开 DHT 功能的,第一次使用 Aria2 下载需要选择热门的种子,后续 Aria2 会对 DHT 的数据进行缓存,记录在一个 dht.dat 的文件中,后续下载较为冷门的种子,由于有 DHT 的缓存数据,速度也会有所提升.︀这里可以下载 Ubuntu 操作系统的种子,然后分享一段时间.︀Aria2 自己会将连接到的地址存储到 DHT 文件.︀

Ubuntu 镜像

也可以直接将通过以下链接下载的文件放置到对应目录.︀

DHT 文件下载

配置前端#

建议使用以下浏览器插件:

Aria2 Explorer

在 Linux 上使用 aria2
https://will-c137.vercel.app/posts/在linux上使用aria2/
作者
Will
发布于
2024-05-22
许可协议
CC BY-NC-SA 4.0