前言
前面我们已经使用lucky stun穿透成功的让TCP端口暴露到了公网,qb也处于联机状态了,但是遗憾的是我的是动态IP,当IP改变的时候又需要手动修改端口,非常不方便,所以我们可以使用lucky stun穿透规则的自定义脚本实现自动化。
软件下载
需要用到的软件有lucky Windows版、UPnP Wizard,UPnP Wizard绿色版
详细教程
环境准备
关闭BT软件中的UPnP映射功,防止其影响自定义规则的添加
在qbtorrent的设置➡️连接➡️监听端口
,取消勾选“使用我的路由器的UPnP/NAT-PMP端口”
转发
![图片[1]-在Windows上使用UPnP工具为BT客户端自动添加内外端口号不同的映射规则并自动更新BT端口-四次元拾光](https://img.520717.xyz/file/1743765689655_qbittorrent_IuFZ5SBXkL.png)
打开路由器的UPnP功能
![图片[2]-在Windows上使用UPnP工具为BT客户端自动添加内外端口号不同的映射规则并自动更新BT端口-四次元拾光](https://img.520717.xyz/file/1743765655755_msedge_iWTo4Syr3J.png)
软件设置
下载解压lucky,确保路径没有中文名,UPnP Wizard建议使用绿色版,解压后与lucky放在一个目录。
双击运行UPNPWizard.exe
,可以看到本地IP地址 UPnP设备名和地址以及一些映射规则,这些说明光猫/路由器上的UPnP功能已经打开。否则请检查UPnP是否打开,若UPnP已经打开还是无法显示请尝试使用MiniUPnP Client
![图片[3]-在Windows上使用UPnP工具为BT客户端自动添加内外端口号不同的映射规则并自动更新BT端口-四次元拾光](https://img.520717.xyz/file/1743766452142_UPNPWizard_HyvcWNn1oo.png)
lucky设置
双击运行lucky.exe
,任务栏会出现一个图标,右键设置一下开机自启,然后打开后台地址http://127.0.0.1:16601
点击左侧STUN内网穿透
![图片[4]-在Windows上使用UPnP工具为BT客户端自动添加内外端口号不同的映射规则并自动更新BT端口-四次元拾光](https://img.520717.xyz/file/1743766987761_msedge_f9LEkPmqCe.png)
点击添加穿透规则
,名称随意,端口使用本地未占用端口,只勾选不使用Lucky内置端口转发
,打开自定义脚本触发
![图片[5]-在Windows上使用UPnP工具为BT客户端自动添加内外端口号不同的映射规则并自动更新BT端口-四次元拾光](https://img.520717.xyz/file/1743767207279_msedge_bVYmKk5IOj.png)
自定义脚本如下:
C:UsersanyaerprogramsluckyUPnPWizardC.exe -remove -extport 2389 -protocol TCP -legacy
C:Usersanyaerprogramsluckysleep1s.vbs
C:UsersanyaerprogramsluckyUPnPWizardC.exe -add "IPV4-TCP" -ip default -intport ${port} -extport 2389 -protocol TCP -lease 0
脚本说明:
- 第一条命令用于移除之前的映射规则
C:UsersanyaerprogramsluckyUPnPWizardC.exe
为UPnP软件的位置,2389
是穿透通道监听端口,就是刚刚设置的本地端口,TCP
为穿透类型
- 第二条命令表示延迟1秒
在lucky目录创建脚本
WScript.sleep 1000
- 第三条命令用于添加映射规则(各参数详见UPnPWizard的帮助文件)
“IPV4-TCP”是添加规则的名称,2389
是穿透通道监听端口,TCP
为穿透类型
如果目录中有空格的话要用 英文引号 “” 引起来 不然无法运行
目录中不能有中文不然会报错
检查设置
填写完成后保存一下并打开开关,查看是否能够获取到外网地址和端口
![图片[6]-在Windows上使用UPnP工具为BT客户端自动添加内外端口号不同的映射规则并自动更新BT端口-四次元拾光](https://img.520717.xyz/file/1743768775985_msedge_Z1fCbZybw8.png)
自动更新端口
编辑刚刚添加的穿透规则,拉到最后打开webhook
功能,填写以下内容:
接口地址:
http://[IP和webUI端口]/api/v2/app/setPreferences
请求方法:POST
请求头:
Content-type:application/x-www-form-urlencoded
请求体:
json={"listen_port":#{port}}
打开 禁用Webhook接口调用成功字符串检测
如图所示:
![图片[7]-在Windows上使用UPnP工具为BT客户端自动添加内外端口号不同的映射规则并自动更新BT端口-四次元拾光](https://img.520717.xyz/file/1743769076601_msedge_6XK2TfUbgq.png)
接口地址中的 IP和端口 按照实际情况修改
如果lucky和 qb运行在同一设备上IP使用127.0.0.1即可
勾选上qb webUI设置中的 “对本地主机上的客户端跳过身份验证”
![图片[8]-在Windows上使用UPnP工具为BT客户端自动添加内外端口号不同的映射规则并自动更新BT端口-四次元拾光](https://img.520717.xyz/file/1743769483672_qbittorrent_WueBFoaQK8.png)
如果lucky和qb不运行在同一设备上运行则
这里的IP端口填写qb所运行在的设备上的IP和以及对应的端口
并勾选 “对IP子网白名单中的客户端跳过身份验证”
,将运行lucky的设备IP的IP段添加到这个白名单上
填写完成后点击webhook手动触发测试
来验证各项参数填写是否正确,或者直接点击保存,参数正确显示成功
![图片[9]-在Windows上使用UPnP工具为BT客户端自动添加内外端口号不同的映射规则并自动更新BT端口-四次元拾光](https://img.520717.xyz/file/1743769997153_msedge_njQ0LJVpiL.png)
至此我们就完成了使用webhook自动修改 qbittorrent 的监听端口的设置
暂无评论内容