树莓派4实现远程下载:aria2+ariaNg+nginx
aria2是linux(支持平台众多)平台上功能齐全流行的下载工具,支持 HTTP(S)
、FTP
、 SFTP
、 BitTorrent
、 Metalink
协议。aria2支持JSON-RPC
接口调用,因此网上出现了众多Aria2的第三方扩展/客户端,提供了简单易于使用的界面,主要流行的webui有YAAW
、webui-aria2
、AriaNg
,个人更喜欢AriaNg的界面。需要gui的可以尝试Motrix
这个跨平台客户端。我使用的是树莓派4作为离线下载机,所以配置了AriNg+Nginx作为下载的WebUi。
安装aria2+nginx
aria2安装
- debain/raspbian/ubuntu下:
sudo apt-get install aria2
- archlinux下:
sudo pacman -S aria2
nginx安装
- debain/raspbian/ubuntu下:
sudo apt-get install nginx
- archlinux下:
sudo pacman -S nginx
配置aria2
创建配置文件
- 创建目录:
sudo mkdir /etc/aria2/
- 创建配置文件:
sudo touch /etc/aria2/aria2.conf
- 创建aria2用户,
sudo useradd -M -s /usr/sbin/nologin aria2
- 创建session文件,用于保存进度:
sudo touch /etc/aria2/aria2.session
- 修改文件拥有者为
aria2
用户sudo chown aria2 /etc/aria2 /etc/aria2/aria2.session
- 根据需要编辑文件:
sudo vim /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# 默认下载位置
dir=/mnt/hd-share/aria2
# 断点续传
continue=true
min-split-size=10M
input-file=/etc/aria2/aria2.session
save-session=/etc/aria2/aria2.session
enable-rpc=true
rpc-allow-origin-all=true
# 只让本机访问6800端口,因为下面让nginx代理
rpc-listen-all=false
# rpc秘钥
rpc-secret=myrpctoken
# rpc默认端口为6800
#rpc-listen-port=6800
listen-port=51413
enable-dht=false
enable-peer-exchange=false
peer-id-prefix=-TR2770-
user-agent=Transmission/2.77
seed-ratio=0
bt-seed-unverified=true
bt-save-metadata=true - 创建systemd文件:
sudo vim /lib/systemd/system/aria2.service
为如下:1
2
3
4
5
6
7
8
9
10
11[Unit]
Description=Aria2c download manager
After=network.target
[Service]
Type=simple
User=aria2
ExecStart=/usr/bin/aria2c --conf-path=/etc/aria2/aria2.conf
[Install]
WantedBy=multi-user.target - 启动:
sudo systemctl start aria2.service
- 可以设置开机启动:
sudo systemctl enable aria2.service
,如果要关闭开机启动:sudo systemctl disable aria2.service
配置nginx+ariaNg
下载ariaNg
可到ariaNg的github仓库release页面获取最新版本,目前为1.1.3
版本。
1 |
|
配置Nginx
为了方便使用,我把AriaNg和jsonrpc都配置在了80
端口,利用nginx的代理功能,把本机6800
端口隐藏,对外只暴露80
端口.
- 如果是官方raspbian系统,编辑
/etc/nginx/conf.d/default.conf
文件. - 如果是
archlinuxarm
,则编辑/etc/nginx/nginx.conf
文件 - 在
http
节点下,添加两个location
1 |
|
- 重启
nginx
:sudo systemctl restart nginx
最后,打开http://树莓派ip/aria2/
就可以看到如下界面了!,按实际情况设置好就可以连接了
外网访问
需要外网访问的话,可以用frp
穿透实现,大家可以上frp官网查看教程。
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!