-
-
Notifications
You must be signed in to change notification settings - Fork 13.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Feature request: 使用 xtcp 方式时尝试添加 UPnP #1823
Comments
@a180285 如果你有兴趣的话,可以先在这个 issue 下写一下简单的过程和逻辑。 或者可以考虑使用其他开源的库来实现。 |
我刚刚想用这个 go 包测试,发现没有成功。: https://github.com/huin/goupnp 所以我的想法是 frp 也用 UPnP 向路由器申请一些端口映射。 |
不是很确定现在家用宽带有多少还有公网 IP 的。 |
@fatedier 还有一个可以提高xtcp成功率的思路:就是 服务提供A 和 服务访问B 通过FRPS互换双方所有网卡所有IP(含IPV6),双方对对方所有IP均进行尝试连接(TCP优先,快速判断,UDP其次),现在家宽和手机热点中IPV6已有较高覆盖率,可以通过IPV6直连接或内网直连,提高xtcp成功率。 |
@hdliu61 好的,多谢建议,等有时间了在这方面再深入研究下。 |
UPNP基本没用了吧,现在家用宽带基本没有公网IP,且运营商为减少维护量都是在光猫中设定PPPOE账号密码,用户直接DHCP获取地址上网了 |
公网 IP 嘛,有些有,有些没有,也正常。 不过,重新打开这个 issue 话。我现在在想或许 webrtc 也是一种方式。只是不知道能不能实现 |
@a180285 这个 issue 一直是 open 状态,webrtc 的原理也都是类似的。以后也许会在这方面做更深入的优化。 |
不过如果路由器有了公网ip,那frp作用会大大减小吧,路由器自己做端口转发就行了 |
即使没有公网 IP,UPnP 一下就有可能获得 Full Cone NAT(NAT1)。 |
有些地方nat类型不一样,广移就是好 |
可以ipv6直连本身就没必要用frp了吧 |
有用的,它可以加密流量,身份认证,端口复用 |
现在运营商也有得卷吧。 |
上海移动,upnp 后是 Full Cone NAT(NAT1) |
后续在 #4112 中跟进。 |
我的理解,xtcp 在链接时,最重要的一步是 NAT 打洞。
而 UPnP 正好是为这个需求而生的,加之前几年迅雷比较火的,可能部分路由器已经默认打开了 UPnP 功能。就算没默认打开,我猜大部分路由器还是支持 UPnP 的吧。
所以我在想,在 xtcp 的实现中添加 UPnP 的实现,互联之前先通过 UPnP 尝试让路由器主动添加一个UDP 端口映射,应该可以增加 xtcp 的连接成功率。
The text was updated successfully, but these errors were encountered: