LUCKY STUN穿透在Windows上使用UPnP工具为BT客户端自动添加内外端口号不同的映射规则

news/2025/10/6 10:10:43/文章来源:https://www.cnblogs.com/ie123610/p/19127327

LUCKY STUN穿透在Windows上使用UPnP工具为BT客户端自动添加内外端口号不同的映射规则

2024.02.07

关于本教程

本教程基于:基于stun穿透工具LUCKY,使BT客户端绿灯、开放TCP端口的办法(进化版)
在该教程中实现了使用 路由器/光猫 的端口转发功能处理流量
其效率更高且可以使BT客户端正确的显示其他连入用户的IP地址

但是其使用的是静态的端口转发/映射规则在stun穿透端口发生变化后
需要手动修改转发规则 无法实现自动化

可以使用 UPnP 来替代 静态的端口转发规则
但是lucky内置的 UPnP 功能所添加的规则的内部端口和外部端口是相同的
而我们所需要的映射是内外端口不同的

尽管在 v2.5.3 版本中增加了 “自定义 UPnP/NAT-PMP内部端口” 的功能
但其内部端口号是静态的无法跟随外网端口变化

但好在 v2.5.1版本中 已经增加了 在STUN穿透变化时触发自定义脚本的功能
这为使用其他程序实现自动添加内外端口号不同的UPnP映射规则提供了极大的便利

lucky更新日志:链接
所以要实现 本教程中的效果 lucky版本要大于等于 2.5.1

在设置STUN穿透期间请不要开启任何形式的代理
其极有可能影响到STUN穿透


软件下载

Lucky
作者QQ群:602427029
GitHub 项目地址:链接
各发布地址:链接

还需要下载工具 UPnP Wizard
官网地址:链接
建议使用网盘下载 网盘:链接
官网下载版本需要安装网盘版解压即可使用

MiniUPnP Client
这是另一款UPnP工具 UPnP Wizard对一些设备的兼容性可能较差
如果其无法使用则需要改用此软件具体内容在后面的教程中会讲述
官方下载:链接 网盘下载:链接


网络环境检测和优化

尽管大部分stun穿透教程都会强调必须是全锥型NAT才能穿透
但这其实指的是最外面一层的运营商NAT 而大部分的运营商NAT都是全锥型的

不过现在的家庭网络环境中几乎都存在多层NAT 而NAT类型测试只能测出其“最差”的一层
其很可能显示为"端口受限(锥)型NAT" 这其实是由于 路由器/光猫上的NAT造成的

不过这并不会影响我们使用stun穿透 可以按照这篇教程进行网络优化
教程:网络环境检测和优化

优化到只剩一层运营商NAT和 和一层光猫/路由器 NAT
共两层NAT 且NAT类型检查结果不为对称型即可进行穿透


设置方法

BT客户端设置

关闭 BT软件中的UPnP映射功能 防止其影响自定义规则的添加
BC 在 选项>网络连接>端口映射 取消勾选 “添加UPNP端口映射”

qb在 选项>连接 取消勾选 “使用我的路由器的UPnP/NAT-PMP端口转发”

确保路由器/光猫上的UPnP功能已经打开

Lucky和 UPnP Wizard

建议把文件名改短一些 比如将 lucky_2.6.2_Windows_x86_64 改为 lucky_2.6.2
文件路径过长会对接下来的设置造成麻烦
同时下载解压 UPnP Wizard 建议与lucky放在一起

来到 UPnP_Wizard 目录 打开 UPNPWizard.exe 后面没有C
应该可以看到这样的窗口

可以看到本地IP地址 UPnP设备名和地址以及一些映射规则
这些说明光猫/路由器上的 UPnP功能已经打开
若弹出 下面这个窗口说明 路由器/光猫上的 UPnP功能没有开启

UPnP_Wizard对一些设备的兼容性较差 如果打开路由器/光猫上的 UPnP 功能后
依然会看到此错误提示请尝试换用 MiniUPnP Client 其配置方法在后面会讲


杀毒软件误报

lucky触发自定义脚本的行为可能会被一些杀毒软件误判(主要是Windows defender)
建议提前将lucky加为信任或者排除

LUCKY上的设置

双击运行 lucky.exe任务栏会出现一个图标

右键这个图标 弹出菜单 选择打开 lucky 后台
这里也可以设置 开机启动

弹出浏览器 显示lucky 登录界面
使用默认的账户和密码登录 均为 666

点开左侧的STUN内网穿透

点击 添加穿透规则 并参照图中的方式填写

自定义脚本内容如下 部分参数按照实际情况修改

实际目录\UPnPWizardC.exe -remove -extport 穿透通道监听端口 -protocol 穿透类型 -legacy
实际目录\sleep1s.vbs
实际目录\UPnPWizardC.exe -add "rule name" -ip default -intport ${port} -extport 穿透通道监听端口 -protocol 穿透类型 -lease 0

使用的是UPnPWizardC.exe 后面有个C
实际目录为UPnPWizardC.exe和sleep1s.vbs的实际存放的目录
rule name 换成你喜欢的名字 但不要使用中文 "" 要保留(英文状态下的双引号)

创建 sleep1s.vbs 脚本 新建文本文档并写入下列内容 其表示等待1000毫秒即一秒
写好后命名为sleep1s 扩展名改为.vbs
原先使用的是timeout命令但是效果不佳故改用vbs脚本

WScript.sleep 1000

如果目录中有空格的话要用 英文引号 "" 引起来 不然无法运行
目录中不能有中文不然会报错
C:\abc\d e f\ (错误) C:\abc\"d e f"\ (正确)

  • 第一条命令用于移除之前的映射规则
  • 第二条命令表示延迟1秒
  • 第三条命令用于添加映射规则(各参数详见UPnPWizard的帮助文件)

在大部分情况下其实可以直接添加新规则无需移除旧的映射规则
新的映射规则会直接覆盖旧的映射规则

但是一些路由器/光猫上的UPnP功能可能不能正确处理覆盖操作
所以先移除旧规则再添加新规则会更加保险

示例

为比特彗星设置 stun 端口映射

  • 穿透类型:IPv4-TCP
  • 穿透通道监听端口:6000
  • UPnP规则名称:BC-TCP
  • UPnP_Wizard 程序路径:C:\UPnP_Wizard\
C:\UPnP_Wizard\UPnPWizardC.exe -remove -extport 6000 -protocol TCP -legacy
C:\sleep1s.vbs
C:\UPnP_Wizard\UPnPWizardC.exe -add "BC-TCP" -ip default -intport ${port} -extport 6000 -protocol TCP -lease 0

(这里的图是旧的 还在使用timeout命令)

使用 MiniUPnP Client 的配置方法

检查 UPnP是否启

解压文件 运行其中的 UPnP查询.bat 查看输出内容
或者使用 upnpc-static.exe -i -l 也是一样的

应该可以显示出"List of UPNP devices found on the network "
或者UPNP映射规则列表即可 规则数量可能会有所不同 说明UPNP已经启用
使用 MiniUPnP 应该不太会遇到兼容问题

如果仍然显示 “No IGD UPnP Device found on the network !”
请再次检查 光猫/路由器上的UPnP功能是否开启

编辑命令

实际目录\MiniUPnP_Client\upnpc-static.exe -i -d 穿透通道监听端口 穿透类型
实际目录\sleep1s.vbs
实际目录\MiniUPnP_Client\upnpc-static.exe -i -e "rule name" -a @ ${port} 穿透通道监听端口 穿透类型

注意事项和其他信息和之前配置UPnPWizardC.exe时一样

示例

C:\MiniUPnP_Client\upnpc-static.exe -i -d 6000 TCP
C:\sleep1s.vbs
C:\MiniUPnP_Client\upnpc-static.exe -i -e "BC-TCP" -a @ ${port} 6000 TCP

检查配置效果

填写完成后保存一下 打开穿透开关
查看是否能成功获取到外网地址和端口
同时 打开 UPNPWizard.exe 或 upnpc-static.exe
刷新一下 看看映射规则是否已经添加 刷新按钮在左上角

如果无法获取到外网端口
请按照 上文链接中的教程继续优化网络环境
如果端口获取成功但 UPnP添加失败 请查看穿透规则日志(在开关后面)


脚本运行错误原因排查

使用UPnPWizardC.exe

首次添加时用于删除旧端口的命令会报错 这是正常的
主要看 下一行显示是否添加成功

添加成功过一次后 下一次移除端口的命令就可以正常工作了

使用MiniUPnP

MiniUPnP输出日志和UPnP_Wizard不太一样
删除端口时会返回 UPNP_DeletePortMapping() returned : 0 规则创建成功后会返回规则的详细信息

如果有 返回类似 Call Script error: exit status 1 这样的错误
建议检查一下填写UPnPWizardC.exe或MiniUPnP的路径是否正确
复制命令手动在命令提示符窗口中执行看看能不能成功


修改BT软件监听端口

在成功获取外网端口和地址获取以及正确添加UPnP规则后
就可以设置BT软件中的监听端口为获取到的外网端口

检查最终效果

BC在设置新端口后会自动从新检测端口 如果设置都 重新检测完成后就能获得绿灯

qb没有主动端口检测功能
只有在被动接受外部发起的连接后 状态栏才会显示 联机
我们可以使用在线的端口扫描工具 链接:链接

输入 穿透获取到的IP和端口 点击检查
显示 成功 连接到XXX表明穿透成功 同时qb的状态栏中会显示 联机

高版本显示为地球

低版本则是插头

至此我们就成功的实现了 自动添加内外端口号不同的映射规则
之后每当stun穿透发生变化后 都会自动更新UPnP映射规则
不过我们还需要手动修改BT软件的监听端口

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/929197.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

深圳门户网站制作wordpress 鼠标特效

摘要: 4月30日,阿里云发现,俄罗斯黑客利用Hadoop Yarn资源管理系统REST API未授权访问漏洞进行攻击。 Hadoop是一款由Apache基金会推出的分布式系统框架,它通过著名的 MapReduce 算法进行分布式处理,Yarn是Hadoop集群的…

2026 NOI 做题记录(五)

推荐阅读:A、B、E、F、N、O、R、T、U、WContest Link \(\text{By DaiRuiChen007}\)*A. [CF2097F] Lost Luggage (7.5) Problem Link 先建立网络流,每层的点 \(i\) 向下一层 \(i-1,i,i+1\) 分别连权值 \(a_i,b_i,c_i\…

ARC 207 (Div.1)

A - Affinity for Artifacts 我不会。我会了。 B - Balanced Neighbors 2然后 \(n\leq 5\) 无解。 C - Combine to Make Non-decreasing 容易发现原题目等价于将原序列分成若干段,要求段之间的 \(\text{OR}\) 值 non-…

四大门户网站的区别深圳营销型网站定制

教师资格认定前需要做的准备材料 准备身份证户口本 居住证 学生证 教师考试合格证明 普通话证书 学历证书 体检合格证书 近期一寸白底证件照 网上报名 河南24下教资认定 网上报名时间:10月21日-11月1日 现场确认 网上审核未通过的宝子,需要…

“齐俊杰投资智能体”更新完了9月份的资料

“齐俊杰投资智能体”更新完了9月份的资料,本次更新包括了9月份的课程和粉丝群问答,读书更新了这几本:明斯基时刻。每日问答的语音转文字已经使用了AI进行格式优化,更加容易阅读。将新资料更新到了智能体,大家可以…

联想电脑护眼卫士与系统颜色配置(X-Rite)冲突 | 显示设置频繁变换色阶 - 解决方案 - 指南

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

(转载)无人机飞行模式全面解析

(转载)无人机飞行模式全面解析原文地址: https://baijiahao.baidu.com/s?id=1822706539478215889飞行模式详解 自稳模式: 在自稳模式下,飞手通过操作roll与pitch摇杆来控制飞行器的倾斜角度。一旦飞手松开这些摇…

html官方网站建站系统cms是什么

tcp长连接和保活时间TCP协议中有长连接和短连接之分。短连接在数据包发送完成后就会自己断开,长连接在发包完毕后,会在一定的时间内保持连接,即我们通常所说的Keepalive(存活定时器)功能。 www.2cto.com 默认的Keepa…

河北雄安建设投资集团网站微网站免费搭建平台

来源:专知 摘要对话系统是一个流行的自然语言处理(NLP)任务,因为它在现实生活中应用前景广阔。这也是一个复杂的任务,因为涉及到许多需要研究的自然语言处理任务。因此,关于深度学习的对话系统研究的大量工作开展了。在这个综述中…

网站建设怎么上传数据微信小程序设计软件

写在前面 内部审计是一种独立的、客观的确认和咨询活动,包括鉴证、识别和分析问题以及提供管理建议和解决方案。狭义的数字化转型是指将企业经营管理和业务操作的各种行为、状态和结果用数字的形式来记录和存储,据此再对数据进行挖掘、分析和应用。广义…

InstructGPT 论文略读:三步走,让大模型真正听懂人话

InstructGPT 论文略读:三步走,让大模型真正听懂人话InstructGPT 论文略读:三步走,让大模型真正听懂人话 摘要 (Introduction) 大语言模型(LLM),如 GPT-3,无疑开启了自然语言处理的新纪元。它们强大的零样本和少…

LVS+Keepalived高可用群集 - 指南

LVS+Keepalived高可用群集 - 指南pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco&q…

luogu P1020 [NOIP 1999 提高组] 导弹拦截

题目大意 共有两问求最长不升子序列 求最少能分为几个不升子序列Sol 原数据是 \(1e4\) 的,所以先考虑 \(O(n^2)\) 做法。第一问 容易发现,这跟我们求最长不降子序列是一样的 所以我们直接设状态为 \(dp_i\) 表示前 \…

网站建设方案后期服务制作网站的商家

作者:Greg Cipolaro,NYDIG 全球研究主管 编译:WEEX Exchange 几只重要的 ETF 申请将于 10 月中旬迎来审核窗口,本文通过观察近期期权市场的动态,以研究交易者对这些关键 ETF 日期的仓位态度;门头沟&#xf…

深圳住房建设局官方网站广州建网站要多少钱

sed https://mp.weixin.qq.com/s/PxaesXU7nkmYNCxIQ1ZHfw sed是一个强大的流式文本编辑器,它可以在读取文本时进行修改并输出,支持各种复杂的字符串替换、内容删除、行插入等操作。 sed s/old_string/new_string/g test.txt > new_test.txts是sed命令…

网站后台 设计生活服务网站开发

work下面新建文件夹 commit上传 上传 组员update 出现文件夹 新建文件夹 右键上传 点击小乌龟show-log 记录问题 版本操作 再次输入 bbb 先更新 更新之后再次上传 添加了bbb 单击右键 回滚

零基础学网站开发电子商务网站建设规划的论文

1:生成svg图标 登录阿里云官网 1.1 创建项目组 1.2 从阿里云网站上面获取喜欢的图标加入到已有的项目组 1.3 如果团队有自己的设计师,也可以让设计师上传自己的svg图标到阿里云指定的项目组; 使用的时候,把 资源包下载到本地项…

品牌网站建设推荐大蝌蚪外贸搜索引擎

有效单词缩写 字符串可以用 缩写 进行表示,缩写 的方法是将任意数量的 不相邻 的子字符串替换为相应子串的长度。例如,字符串 “substitution” 可以缩写为(不止这几种方法): “s10n” (“s ubstitutio n”) “sub4…

RabbitMQ 离线安装

Erlang安装 解压 tar -zxvf otp_src_22.1.tar.gz 安装配件 yum install gcc glibc-devel make ncurses-devel openssl-devel autoconf yum install unixODBC unixODBC-devel 编译 cd /usr/local/erlang/erlanr22.1 ./c…

Nginx 离线安装

要在CentOS系统上安装Nginx的.tar.gz源码包,请按照以下步骤操作: 准备工作 确保您的系统更新至最新,并安装必要的依赖工具。 sudo yum update -y sudo yum install -y gcc pcre-devel zlib-devel openssl-devel 下载…