树莓派bt下载器/局域网NAS/远程控制

2022-09-08575

准备

  看别人玩 nas,心痒痒,正好家里的树莓派吃灰已久,遂打算做一个下载器,兼局域网 nas,我租的房子没有公网 IP,所以远程控制的话,需要一台 vps 打洞。成品如下: 点击重试主动散热 - 威力增强版   准备工作:

  • 树莓派一只
  • 硬盘盒 + 硬盘
  • 路由器 + 网线,用于局域网 nas 访问
  • 一个有公网 IP 的 vps,一个域名,用于远程控制(非必须)
  • 交流转 24V 可调直流,12V 静音风扇,用于主动散热(非必须)

开工

硬盘检查

  第一步。硬盘放入硬盘盒,先连接电脑,初始化,扫描一下坏道,确认硬盘 / 硬盘盒没问题。然后使用分区助手把硬盘格式化为 ext4 格式 (Linux 专属文件系统,读写速度比 ntfs 快两倍多)。   第二步。树莓派上电,通过 USB3.0 连接硬盘盒。通过网线连接路由器,不用 wifi 的原因是树莓派的 wifi 只有 100Mbps 速率不到。在电脑上通过 ssh 连接树莓派,使用 df 命令即可看到硬盘,一般名为 /dev/sda1,然后 sudo umount /dev/sda1 先把硬盘卸载,再 sudo mount /dev/sda1 /home/pi/Nas 把硬盘挂载在 /home/pi/Nas 目录下 (或者其他目录)。

bt 下载器

  第三步。安装 qbittorrent-nox,参考 raspberry-pi-qbittorrent

  1. sudo apt install qbittorrent-nox 安装。
  2. sudo vim /etc/systemd/system/qbittorrent.service 创建一个后台服务,填入以下内容:
[Unit]
Description=qBittorrent
After=network.target

[Service]
Type=forking
User=pi
UMask=002
ExecStart=/usr/bin/qbittorrent-nox -d --webui-port=9090
Restart=on-failure

[Install]
WantedBy=multi-user.target
  1. sudo systemctl start qbittorrent 启动服务,此时在电脑上用 http://[树莓派ip]:9090 就能访问 qbittorrent 的网页控制台了。
  2. 在网页控制台把下载位置修改为 /media/pi/Nas,把缓存位置修改为 /media/pi/Nas/temp
  3. 在网页控制台添加 trackers,把 https://github.com/ngosang/trackerslist/blob/master/trackers_best.txt 的内容复制到自动添加以下 trackers 到新的 torrents 设置项。
  4. 到此,bt 下载器已经完成,可以添加一个磁力链接试一试。 网络控制台

局域网 NAS

  第四步。安装 samba,参考 raspberry-pi-samba

  1. sudo apt-get install samba samba-common-bin 安装 samba。
  2. sudo vim /etc/samba/smb.conf 修改配置文件。填入以下内容:
[nas]
path = /home/pi/Nas
writeable=Yes
create mask=0777
directory mask=0777
public=no
  1. sudo smbpasswd -a pi 创建一个 nas 用户,输入密码。然后 sudo systemctl restart smbd 重启 samba。
  2. 通过 //raspberrypi/nas 或者网络扫描,即可访问树莓派 nas,各系统 / 软件访问方式不同,这里不再赘述。

远程控制(非必须)

  第五步。使用 frp 打洞,实现远程访问控制台和 nas。

  1. 在 vps 上配置 frp server。我的 vps 是 centos,在 releases 页面下载压缩包,发送到 vps,解压到 /opt/ 文件夹下。
    1. sudo vim /etc/frps.ini 编辑 vps 的 frp 配置,填写如下:
    [common]
    bind_port = 7000
    vhost_http_port = 9090
    1. sudo vim /etc/systemd/system/frps.service 创建 frps 服务,填写如下:
    [Unit]
    Description=frp reverse proxy server
    After=network.target
    
    [Service]
    User=root
    WorkingDirectory=/opt/frp
    ExecStart=/opt/frp/frps -c /etc/frps.ini
    
    [Install]
    WantedBy=multi-user.target
    1. sudo systemctl start frps 启动 frp server。
    2. qbt.yourdomain.com 申请一个 TLS 证书,这里推荐 acme.sh。在 nginx 配置里转发到 9090 端口:
    server {
        listen 443 ssl;
        ssl_certificate     /root/.acme.sh/yourdomain.com/fullchain.cer;
        ssl_certificate_key /root/.acme.sh/yourdomain.com/yourdomain.com.key;
        server_name qbt.yourdomain.com;
        location / {
                proxy_pass http://127.0.0.1:9090;
                proxy_redirect off;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header Host $http_host;
                proxy_set_header X-NginX-Proxy true;
        }
    }
  2. 在树莓派上配置 frp client。同样在在 releases 页面下载压缩包,解压到树莓派的 /opt/ 文件夹。
    1. vim /opt/frp/frpc.ini 编辑树莓派的 frp 配置,填写如下:
    [common]
    server_addr = 你的vps的ip地址
    server_port = 7000
    
    [ssh]
    type = tcp
    local_ip = 127.0.0.1
    local_port = 22
    remote_port = 7022
    
    [web]
    type = http
    local_port = 9090
    remote_port = 9090
    custom_domains = qbt.yourdomain.com
    1. sudo vim /etc/systemd/system/frpc.service 创建 frpc 服务,填写如下:
    [Unit]
    Description=frp reverse proxy client
    After=network.target
    
    [Service]
    User=pi
    Group=pi
    Restart=on-failure
    RestartSec=15s
    WorkingDirectory=/opt/frp
    ExecStart=/opt/frp/frpc -c /opt/frp/frpc.ini
    
    [Install]
    WantedBy=multi-user.target
    1. sudo systemctl start frpc 启动 frp client。

  这时,外网可以在 qbt.yourdomain.com 直接访问 qbittorrent 的网络控制台。也可以用过 sftp 访问 nas,访问速度和 vps 上行带宽一致。 filezilla 访问 nas

完工

  配置完还是挺过瘾的,麻麻再也不用担心下片时无法关电脑了。局域网内可以多端访问 nas,电脑 /pad/ 手机,想在哪看就在哪看。   加风扇前,双硬盘温度会飙到 50 度,有点害怕,10 元买了两个 12V 静音风扇(并不怎么静音),使用可调电源,调到 6V 左右就比较安静了,温度能控制在 37 度内。最大的还是 HC550 炒豆子声。

更新

现在家里有 IPv6 了,手机流量 / 支持 IPv6 的网络均可以直接访问,速度和家里宽带上行速度一致,爽爆了!

评论