使用树莓派4搭建下载机

下载机是指可以远程操控下载文件到本地的机器,一般要 24 小时开启。树莓派因为其耗电量极低非常适合此应用场景。

树莓派安装

至少需要以下硬件:树莓派4主板 + TF 存储卡 + USB存储设备 + 电源(3V/5A) + 连网(有线)

操作工具:PC一台 + USB 接口的 TF 读卡器 + 连网(有线或无线均可)

流程如下:

  1. 下载官方镜像,插入读卡器,使用软件写入 TF 卡(PC上操作)
  2. 修改 TF 卡镜像文件中部分配置(PC上操作)
  3. 把 TF 卡从读卡器取出并插入树莓派主板(操作树莓派)
  4. 接网线、电源、USB存储设备,通电(操作树莓派)
  5. 进入路由器查看树莓派的 IP(PC上操作)
  6. SSH 连接(PC上操作)

细节补充

  1. 官方镜像请使用 lite 版本:Raspbian Buster Lite。Desktop 不在讨论之列。写入镜像使用 Win32 Disk Imager:https://sourceforge.net/projects/win32diskimager/
  2. 只需要在 TF 卡新的分区中新建一个空白的文件,名字为 ssh
  3. 树莓派主板上有个插口用来接 TF 卡的。如果直接把 USB 读卡器塞到 USB 接口里,系统不会启动。
  4. 电源最好 3V 以上,否则怕电压不稳。USB 存储设备最好能独立供电。
  5. 这一步需要有路由器权限,如果无法进路由器,下载一个内网 ARP 扫描器也可以。树莓派的 Hostname 就是英文的 raspberry pi。如果路由器里没有看到树莓派,那就是树莓派没有启动,需要检查 3、4 步骤是否正确。
  6. 用户名和密码分别是 piraspberry。进去后先 passwd 改密码。进入 SSH 后更新源等操作略过。

挂载 USB 存储

  1. 检查存储设备是否被识别
  2. 安装 ntfs-3g
  3. 挂载 ntfs 分区

先看看自己的设备是否有被识别到:sudo lsblk -f 或者 sudo fdisk -l

265319cccec5af92b1e87cdc4199d7ac.png

为了方便存储日后与 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 安装

  1. 安装并建立配置文件与下载目录
  2. 写入配置文件
  3. 启动守护进程,提供 rpc 服务

使用 apt install aria2 安装后需要为其建立一个配置文件存放地,我选择放在 pi 目录下。mkdir ~/.aria2。建立以下两个文件:touch ~/.aria2/aria2.conftouch ~/.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 安装和设置

  1. 下载文件
  2. 放到树莓派 Nginx 下
  3. 使用 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): 写进去上一步的密码即可。

连接成功后,左侧会出现配置文件等信息。

eae935e42aa40130ca927ac33fdf2f7f.png

目前为止仅仅支持内网访问。你可以绑定一个域名,用 ddns 去映射到公共网络,或者如果你在内网,使用 frp 穿透到公共网络。这些需要额外设置一下 nginx。由于本人太懒,就先写到这里了。😁