使用树莓派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. 用户名和密码分别是 pi 和 raspberry。进去后先 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.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 安装和设置

  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。由于本人太懒,就先写到这里了。😁