在 Merlin 上配置 rTorrrent 需要注意的
笔记备用
之前买的 RT-AC56U 一直没放什么东西,空转到现在
今天终于有了需求,拿它来挂 BT
这篇文章作为笔记,记一下遇到的坑,以后备用
安装
Merlin 支持 Entware,按照 Wiki 装好
然后 opkg install rtorrent-easy-install
会自动安装 rtorrent-rpc
、rutorrent
以及 lighthttpd
安装过程中会询问几个常用配置
需要注意的是如果启用了密码登录网页面板,需要手动安装 lighttpd-mod-authn_file
,不然 lighthttpd
起不来会提示缺少模块
还要手动修改 /opt/etc/lighttpd/conf.d/99-rtorrent-fastcgi-scgi-auth.conf,把里面重复加载的模块注释掉,或者把重复模块的 .conf
删掉也行
配置
我的 Entware 是装在 U盘 里的,下载文件夹设置在了移动硬盘,为了 U盘 寿命考虑,需要编辑 /opt/etc/rtorrent/rtorrent.conf 将 session 和 watchdir 文件夹也改在移动硬盘,这两个在安装时修改下载文件夹是不会一块跟着变的
session = /mnt/sdb5/download/session
schedule = watch_directory,5,5,load_start=/mnt/sdb5/download/watchdir/*.torrent
session 文件夹是用来放各种临时信息,比如 DHT 的节点之类
watchdir 里的 torrent 文件会自动添加到新任务,当然本质是一个定时器定时检测指定路径而已
修改之前记得先 /opt/etc/init.d/S85rtorrent stop
端口
在安装完成的时候会提示开启端口,虽然不开也能运行,但是将很难找到 peer
iptables -I INPUT -p tcp --destination-port 51411 -j ACCEPT
iptables -I INPUT -p udp --destination-port 51412 -j ACCEPT
51411 是 port_range 的默认值,这是一个端口范围,全闭区间,用于与其他 peer 的连接
51412 是 dht_port 的默认值,字面意思
为了下次启动不需要手动再开端口,在 /jffs/scripts/firewall-start 里加入上面两条
如果不存在就手动创建,记得 chmod +x
和加 shebang #!/bin/sh
(啊当然别忘了在设置里启用自定义 jffs 脚本)
DHT
默认 dht = auto
,是指只有当种子的 tracker 里有设置 dht 的时候才会启用
不过众所周知的原因在国内 tracker 服务器并不是那么好访问,这里直接设置为 on
强制启用就行
DHT 在启动的时候需要先连接几个 bootstrap 节点才能初始化,配置里加入如下几行
schedule2 = dht_node0,30,0,dht.add_node=dht.transmissionbt.com
schedule2 = dht_node1,30,0,dht.add_node=router.bittorrent.com
schedule2 = dht_node2,30,0,dht.add_node=router.utorrent.com
用 schedule 是因为需要延时一下,等待 DHT 启动完成,详见 rtorrent#383
开机启动
启动的时候第一次肯定会失败,因为分区还没挂载
在 /jffs/scripts/post-mount 里加入
if [ "$1" = "/tmp/mnt/sdb5" ] ; then
/opt/etc/init.d/S85rtorrent start
fi
/tmp/mnt/sdb5 替换为你的下载文件夹的挂载点
就能在分区挂载后再次尝试启动了
坑
下载完成校验 hash 时,提示 Hash check on download completion found bad chunks, consider using "safe_sync"
不过就算开了 safe_sync 也是没用的,因为这玩意是 降低 USB 3.0 干扰 这功能导致的玄学问题
解决方案当然就是进 高级设置 -> 无线网络 -> 专业设置 -> 2.4 Ghz 里把它关掉
虽然说是会干扰到 2.4 Ghz 的 wifi,不过实际体验好像没差,真要在意的话可以给数据线和设备包点锡箔纸
温度
之前就说过,这个路由器的温度一直在 70 度左右,还是 0 负载
但这次 100% 的 CPU 使用率,仍然是 70 度左右……嗯……