如何用树莓派搭建可视化的aria2挂机下载器
安装环境
nodejs
前文已经提到,不再赘述
nginx
只需安装宝塔即可,前文已经提到,不再赘述
aria2
1 | sudo apt install aria2 |
配置aria2
但是光aria2还不够,需要有aria2的配置文件并让aria2开机自启。按如下配置。
配置文件
创建配置文件及文件夹,进入nano编辑器1
2
3mkdir /etc/aria2
touch /etc/aria2/aria2.session
nano /etc/aria2/aria2.conf
编辑配置文件1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74# 文件保存相关 ##
文件保存目录 此处文件保存目录自行设定
dir=/srv/dev-disk-by-label-Kingston/Kingston/
启用磁盘缓存, 0为禁用缓存, 需1.16以上版本, 默认:16M
disk-cache=32M
断点续传
continue=true
文件预分配方式, 能有效降低磁盘碎片, 默认:prealloc
预分配所需时间: none < falloc ? trunc < prealloc
falloc和trunc则需要文件系统和内核支持
NTFS建议使用falloc, EXT3/4建议trunc, MAC 下需要注释此项
file-allocation=falloc
# 下载连接相关 ##
最大同时下载任务数, 运行时可修改, 默认:5
max-concurrent-downloads=5
同一服务器连接数, 添加时可指定, 默认:1
max-connection-per-server=15
整体下载速度限制, 运行时可修改, 默认: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
最小文件分片大小, 添加时可指定, 取值范围1M -1024M, 默认:20M
假定size=10M, 文件为20MiB 则使用两个来源下载; 文件为15MiB 则使用一个来源下载
min-split-size=10M
单个任务最大线程数, 添加时可指定, 默认:5
split=10
# 进度保存相关 ##
从会话文件中读取下载任务
input-file=/etc/aria2/aria2.session
在Aria2退出时保存错误的、未完成的下载任务到会话文件
save-session=/etc/aria2/aria2.session
定时保存会话, 0为退出时才保存, 需1.16.1以上版本, 默认:0
save-session-interval=60
# RPC相关设置 ##
启用RPC, 默认:false
enable-rpc=true
允许所有来源, 默认:false
rpc-allow-origin-all=true
允许外部访问, 默认:false
rpc-listen-all=true
RPC端口, 仅当默认端口被占用时修改
rpc-listen-port=6800
设置的RPC授权令牌, v1.18.4新增功能, 取代 --rpc-user 和 --rpc-passwd 选项
rpc-secret=<TOKEN>
# BT/PT下载相关 ##
当下载的是一个种子(以.torrent结尾)时, 自动开始BT任务, 默认:true
follow-torrent=true
客户端伪装, PT需要
peer-id-prefix=-TR2770-
user-agent=Transmission/2.77
强制保存会话, 即使任务已经完成, 默认:false
较新的版本开启后会在任务完成后依然保留.aria2文件
force-save=false
继续之前的BT任务时, 无需再次校验, 默认:false
bt-seed-unverified=true
保存磁力链接元数据为种子文件(.torrent文件), 默认:false
bt-save-metadata=true
Ctrl+O保存然后Ctrl+X退出,刷新配置文件1
aria2c --conf-path=/etc/aria2/aria2.conf -D
开机自启
创建service服务1
nano /etc/init.d/aria2c
编辑service服务1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27!/bin/sh
## BEGIN INIT INFO
Provides: aria2
Required-Start: remotefsnetwork
Required-Stop: remotefsnetwork
Default-Start: 2 3 4 5
Default-Stop: 0 1 6
Short-Description: Aria2 Downloader
## END INIT INFO
case "$1" in
start)
echo -n "Starting aria2c"
sudo aria2c --conf-path=/etc/aria2/aria2.conf -D
;;
stop)
echo -n "Shutting down aria2c "
killall aria2c
;;
restart)
# killall aria2c
sudo aria2c --conf-path=/etc/aria2/aria2.conf -D
;;
esac
exit
让服务变为可执行文件1
chmod +x /etc/init.d/aria2c
完成!
搭建可视化界面webui-aria2
首先,git clone下来webui-aria2并进入文件夹1
2git clone https://github.com/ziahamza/webui-aria2.git
cd webui-aria2-master
然后,编辑配置文件,设置端口。1
nano node-server.js
下图所圈画的即为本地端口号,可自行修改。
修改完后,Ctrl+O保存然后Ctrl+X退出,运行node-server。1
node node-server.js
接下来,进入浏览器,输入<服务器的IP地址>:<你设置的端口号>,可看到如下所示的界面,恭喜,安装成功!