使用树莓派4搭建下载机
下载机是指可以远程操控下载文件到本地的机器,一般要 24 小时开启。树莓派因为其耗电量极低非常适合此应用场景。
树莓派安装
至少需要以下硬件:树莓派4主板 + TF 存储卡 + USB存储设备 + 电源(3V/5A) + 连网(有线)
操作工具:PC一台 + USB 接口的 TF 读卡器 + 连网(有线或无线均可)
流程如下:
- 下载官方镜像,插入读卡器,使用软件写入 TF 卡(PC上操作)
- 修改 TF 卡镜像文件中部分配置(PC上操作)
- 把 TF 卡从读卡器取出并插入树莓派主板(操作树莓派)
- 接网线、电源、USB存储设备,通电(操作树莓派)
- 进入路由器查看树莓派的 IP(PC上操作)
- SSH 连接(PC上操作)
细节补充
- 官方镜像请使用 lite 版本:Raspbian Buster Lite。Desktop 不在讨论之列。写入镜像使用 Win32 Disk Imager:https://sourceforge.net/projects/win32diskimager/
- 只需要在 TF 卡新的分区中新建一个空白的文件,名字为 ssh
- 树莓派主板上有个插口用来接 TF 卡的。如果直接把 USB 读卡器塞到 USB 接口里,系统不会启动。
- 电源最好 3V 以上,否则怕电压不稳。USB 存储设备最好能独立供电。
- 这一步需要有路由器权限,如果无法进路由器,下载一个内网 ARP 扫描器也可以。树莓派的 Hostname 就是英文的 raspberry pi。如果路由器里没有看到树莓派,那就是树莓派没有启动,需要检查 3、4 步骤是否正确。
- 用户名和密码分别是
pi
和raspberry
。进去后先passwd
改密码。进入 SSH 后更新源等操作略过。
挂载 USB 存储
- 检查存储设备是否被识别
- 安装 ntfs-3g
- 挂载 ntfs 分区
先看看自己的设备是否有被识别到:sudo lsblk -f
或者 sudo fdisk -l
为了方便存储日后与 Windows 共享,我的存储设备使用的 NTFS 格式的文件系统。所以在分区系统里会有 sda1 和 sda2,sda1 是 NTFS 自用预留的分区,sd2 是数据存放区,也是需要挂载的分区。在 NTFS 系统上读写需要在 Linux 上安装 ntfs-3g:apt install ntfs-3g
最后将存储设备挂载到 /mnt/hd1 目录下:
mkdir /mnt/hd1 && sudo mount -t ntfs-3g /dev/sda2 /mnt/hd1
挂载完成后使用 df -h
即可看到可用空间已经增加。
Aria2 安装
- 安装并建立配置文件与下载目录
- 写入配置文件
- 启动守护进程,提供 rpc 服务
使用 apt install aria2
安装后需要为其建立一个配置文件存放地,我选择放在 pi 目录下。mkdir ~/.aria2
。建立以下两个文件:touch ~/.aria2/aria2.conf
和 touch ~/.aria2/aria2.session
后面配置会用到。建立一个下载文件的目录,我选择在 USB 存储设备上建立 mkdir /mnt/hd1/downloads
写入以下内容到 aria2.conf 中:
dir=/mnt/hd1/downloads
continue=true
disable-ipv6=true
input-file=/home/pi/.aria2/aria2.session
save-session=/home/pi/.aria2/aria2.session
enable-rpc=true
rpc-listen-port=6800
rpc-secure=false
rpc-listen-all=true
rpc-allow-origin-all=true
rpc-secret=密码
启动守护进程:aria2c --conf-path ~/.aria2/aria2.conf -D
。这样 aria2 会在后端监听 6800 端口。每次修改完配置文件后,需要杀掉进程重启 killall aria2c
。你当然可以把 aria2c 做成服务,但我太懒了。
Aria2 WebUI 安装和设置
- 下载文件
- 放到树莓派 Nginx 下
- 使用 token 配置并访问
Aria2 WebUI 本质上就是一个静态 HTML 文件,通过 Javascript 远程向 rpc 服务发送 http 请求。在这里直接下载 zip 文件:https://github.com/ziahamza/webui-aria2/archive/master.zip
下载后的文件夹一大堆文件,请仅保留 docs 目录,其他的都删除即可。
安装 nginx apt install nginx
把 docs 目录放到 /var/www/html
之下。
在 PC 端浏览器输入 http://树莓派IP/docs 即可进入 webui 界面。进去后点击 Connection Settings
在这一栏 Enter the port: 写 6800 在这一栏 Enter the secret token (optional): 写进去上一步的密码即可。
连接成功后,左侧会出现配置文件等信息。
目前为止仅仅支持内网访问。你可以绑定一个域名,用 ddns 去映射到公共网络,或者如果你在内网,使用 frp 穿透到公共网络。这些需要额外设置一下 nginx。由于本人太懒,就先写到这里了。😁