请点击页面右侧的 回到旧版 按钮以获得最佳的阅读体验
或前往博客阅读:https://ie12blog.36102025.xyz/articles/lucky-STUN/stun-qb-port-automation/
在之前的教程中我们已经成功使用UPnP工具添加了内外端口不同的映射 实现了映射规则的自动化
但是我们还需要手动修改BT下载软件的监听端口 这一步还没有实现自动化
不过这对 qbittorrent 来说并不困难
得益于 qbittorrent 功能丰富的 webUI 接口 其允许我们修改许多qb的设置
当然也包括监听端口 这样我们就可以非常轻松的使用lucky stun穿透中的webhook功能 在穿透端口发生变化时自动修改 qbittorrent监听端口
由于使用的是webhook所以没有平台限制只要网络可达之处都可以使用
无论qbittorrent 和lucky 运行在Windows上 docker容器中 还是 Linux里
不过在本教程中使用的Windows平台
qbittorrent WebUI 接口定义:
https://github.com/qbittorrent/qBittorrent/wiki/WebUI-API-(qBittorrent-4.1)#set-application-preferences
配置方法
打开穿透规则中的 webhook 开关 填写以下内容:
接口地址:
http://[IP和webUI端口]/api/v2/app/setPreferences
请求方法:POST
请求头:
Content-type:application/x-www-form-urlencoded 请求主体:
json={"listen_port":#{port}} 打开 禁用Webhook接口调用成功字符串检测
示例

接口地址中的 IP和端口 按照实际情况修改 如果lucky和 qb运行在同一设备上IP使用127.0.0.1即可
勾选上qb webUI设置中的 “对本地主机上的客户端跳过身份验证”

如果lucky和qb不运行在同一设备上运行则
这里的IP端口填写qb所运行在的设备上的IP和以及对应的端口
并勾选 “对IP子网白名单中的客户端跳过身份验证” 将运行lucky的设备IP的IP段添加到这个白名单上

以防止由于身份验证的问题导致调用失败 填写完成后可以点击旁边的手动触发以测试各项参数设置是否正确

这里所说的内置数据不是真实数据应该指的是 穿透地址端口等这些信息 并不影响我们检查各项设置是否正确
之所以要打开禁用Webhook接口调用成功字符串检测 是因为调用成功后并不会返回任何字符串 看起来像这样

调用成功所显示内容
如果设置有问题比如 没有免除身份验证就会报403

403错误
地址或端口填写错误则可能报“No connection could be made because the target machine actively refused it.” 或者直接弹出一个调用失败错误提示

端口填写错误

IP地址填写错误
若是 请求主体写错就可能会报 HTTP 400

提交内容错误
至此我们就完成了使用webhook自动修改 qbittorrent 的监听端口的设置