树莓派 4B 命令行部署 BT/PT 下载机
树莓派 4B 相比于 3B/3B+ 等 3 系有很多改进,但主要的是内存从 1G 加到了顶配版 8G,网卡也从百兆升级到了千兆,使得树莓派 4B 有了作为下载机的实用性。
系统直接使用官方的 Raspberry Pi。BT 软件一开始尝试使用 qBittorrent 的命令行版本 qBittorrent-nox,开启服务用 web UI 进行远程控制。但实际使用后发现在高压力下,qBittorrent-nox 因为内存占用巨大而频繁被杀进程,然后由系统服务重启,再被杀,再重启,最差时每两三分钟就被杀一次。报错日志看得我心惊肉跳。频繁异常重启也导致了文件丢失、下载进度丢失以及网站封禁等情况,其配置中关于内存限制的参数完全无用,搜索后发现官方开发组把很多反馈,包括内存控制、磁盘碎片、重启丢文件等都甩锅给 libtorrent。遂放弃。
对 qBittorrent 的评价又下降了。之前在 windows 下也是因为 qBittorrent 的缺陷(数量巨大的硬盘碎片)而放弃的。
一番周折后,最终改用了 Transmission 作为 BT/PT 服务器端(transmission-daemon),开启 RPC 以允许 Web UI 和第三方客户端连接,Samba 作为局域网文件共享服务器的方案。并自行编写了 RSS 下载脚本以实现 RSS 订阅自动下载。
Transmission
安装与文件目录连接
1 | # 安装 |
修改系统服务设置
1 | # 修改启动脚本 |
修改配置文件
Trasmission 会在停止服务时自动保存配置文件,运行服务时修改会被覆盖,必须停机修改。
1 | # 停止服务 |
1 | // 部分参数后续可以在 web UI 中再次修改,但当前另一些参数只能在配置文件中修改。 |
(可选)替换默认的 webui 为 Flood-for-transmission
1 | # 下载 |
还有 Transmission-web-control、Transmissionioc 等多个选择。当然默认的也很好。
另外还有独立的客户端比如 Transmission Remote GUI,如果有多个下载服务器的话用客户端更好。
重启 transmission-daemon 服务
1 | # 启动服务 |
远程访问
1 | # 查看树莓派的 IP 地址 |
在浏览器中输入 http://<树莓派的ip>:9091
即可访问 webUI,如果设置了 "rpc-authentication-required": true
则会跳出认证输入框。使用 RPC 远程客户端也是类似设置。
RSS 订阅
Transmission 并不支持 RSS 订阅,所以我自己写了个脚本,定期检查指定的 RSS,并通过 RPC 接口发送 torrent-add 消息给 Transmisson。https://github.com/kaikaiiiiiii/rss-feed-down 。特色在于支持 PAC 代理读取 RSS。
1 | git clone https://github.com/kaikaiiiiiii/rss-feed-down |
通过 crontab 定时执行脚本,实现 RSS 订阅更新并自动下载 torrent 文件。
Samba
安装与配置
1 | sudo apt update |
smb.conf
文件有一堆内容,拉到最下面,修改或添加以下内容:
1 | [Pi] # 虚拟共享文件夹的名字,后续访问时的路径为 \\<树莓派的ip>\Pi |
添加 samba 的授权用户
1 | # kaikaiHome 为独立的用于 samba 登录的用户名,和本文其它用户名无关 |
随后系统会提示输入密码,输入两次并确认
重启 samba 服务
1 | sudo systemctl restart smbd |
在 Windows 的 <映射网络驱动器> 或其它可以用 smb/cifs 的程序 app 输入 \\<树莓派的ip>\Pi 并输入 kaikaiHome 的用户名和密码即可访问。