0x00
之前采用的是迅雷+树莓派的方案搭建远程下载机,但是现在迅雷远程下载总是出现问题加上迅雷已经停止维护第三方下载机的程序(╯°Д°)╯︵┻━┻,不过劳动人民的智慧是无穷的(๑>︶<)و,在这里采用树莓派+aria2来搭建下载机使用云服务器使用frp内网穿透转发来实现远程控制。
环境:树莓派3B、Raspbian
软件:aria2(下载器)、frp(内网穿透)
0x01 搭建下载环境
1.aria2安装
Aria2是一款免费开源跨平台且不限速的多线程下载软件,Aria2的优点是速度快、体积小、资源占用少。
在树莓派官方系统Raspbian及大多数系统中是支持直接安装的,在其他系统中就有可能需要编译安装。
这里主要使用直接安装,在终端输入
$ sudo apt update && sudo apt upgrade -y
$ sudo apt install aria2 -y
2.aria2配置
先创建配置文件夹和创建相关文件
$ mkdir ~/.config/aria2
$ touch ~/.config/aria2/aria2.conf
$ touch ~/.config/aria2/aria2.session
编写简单配置文件
$ nano ~/.config/aria2/aria2.conf
aria2.conf 内容:
#启用RPC远程连接, 默认:false
enable-rpc=true
#允许所有来源, 默认:false
rpc-allow-origin-all=true
#允许非外部访问, 默认:false
rpc-listen-all=true
#RPC监听端口, 端口被占用时可以修改, 默认:6800
rpc-listen-port=6800
#设置的RPC授权令牌, v1.18.4新增功能, 取代 --rpc-user 和 --rpc-passwd 选项。建议在远程连接下载启用保障安全
rpc-secret=123456
#从会话文件中读取下载任务
input-file=/etc/aria2/aria2.session
#在Aria2退出时保存`错误/未完成`的下载任务到会话文件
save-session=/etc/aria2/aria2.session
#定时保存会话, 0为退出时才保存, 需1.16.1以上版本, 默认:0
save-session-interval=60
#下载文件保存地址
dir=~/downloads
#断点续传
continue=true
#文件预分配,减少碎片文件,默认:prealloc
#预分配所需时间: none < falloc ? trunc < prealloc
#树莓派Raspbian是Linux系统采用EXT3/4文件系统,所以使用trunc
file-allocation=trunc
可以在配置文件中选择添加bt下载服务器,服务器列表:
bt-tracker=(服务器地址以","分隔)
如果需要添加其他参数请阅读Aria2官方文档及善于搜索(求人不如求己(~ ̄▽ ̄)~ )
0x02 配置远程下载及界面
1.配置远程下载
这里使用frp转发来实现内网穿透(需要有云服务器做中转),如果有公网ip就不需要,公网ip一般只有企业宽带才可能有,或者也可以打电话到宽带运营商开通(可以上网学习一下网友打电话开通的各种骚操作ヽ( ̄▽ ̄)ノ)
使用frp主要转发aria2的rpc端口。
2.配置界面
由于aria2是没有图像界面的所以这里使用的是web网页界面webui-aria2,可以使用在线的网页需要填入树莓派地址、端口、令牌(可选),也可以将此网页界面下载到本地使用。
在本地电脑或树莓派或云服务器上下载webui-aria2
$ git clone https://github.com/ziahamza/webui-aria2.git
进入其中的docs目录修改文件
$ cd webui-aria2/docs
$ nano ./app.js
点击键盘ctrl+w搜索"location.hostname:",修改
" location.hostname:树莓派所在的ip或网址 "
" port: aria2的rpc端口 "
搜索找到" (c = p && p.auth && p.auth.token ? p.auth.token : null),",并将这行修改为" (c="你配置rpc-secret的值") "