写了个自动更新内网打洞 IP 和端口服务,没有公网 IP 的宽带用户也可以全自动全速连回家

1 天前
 richchang
自从换了移动宽带,就告别了公网 IP 。试过很多连回家的方法,包括:IPV6 ,ZeroTier ,Wireguard……全都因为要么是 IPV6 ,要么是 UDP ,而导致高峰期 QoS 严重。遇到跨网(比如用联通手机访问)或者晚间,基本没法用。

最后终于找到了一个可以像公网 IP 时代一样速度连回家的方法:Lucky 提供的内网 STUN 打洞,配合基于 TCP 的 SS 服务。然而由于打洞得到的 IP 和端口都会经常变化,所以隔三差五就要手动修改。

写了个小服务,自动根据 Lucky 的 Webhook 上报的最新 IP 和端口,更新订阅 URL ,利用 SS 的订阅功能,自动更新手机代理 APP (比如小火箭)里的服务器地址和端口。

功能特点

✅ 适合没有公网 IP 的家庭宽带用户,远程访问家庭局域网
✅ 支持 Lucky Webhook 自动更新 SS 订阅
✅ 支持动态配置 SS method (加密方式)和 password (密码)
✅ 基于 Cloudflare Workers + KV ,无需自建服务器
✅ 支持 API Key 认证,确保数据安全
✅ 支持 Cloudflare 自有域名访问,绕过 workers.dev 的屏蔽

详细方法见这里: https://github.com/kanshurichard/GoHomeEasy/tree/main

欢迎 Star 和在 Github 上报 Issues
3057 次点击
所在节点    宽带症候群
33 条回复
wtks1
1 天前
这个打洞是不是要求 nat1 ?
richchang
1 天前
@wtks1 理论上只要不是 NAT4 (全对称),应该都可以。反正测试了好几条移动宽带都没有问题。
MeiJiayun
1 天前
这个是需要路由器或者设备安装 Lucky ,配合 Lucky 使用的吧
richchang
1 天前
@MeiJiayun 是的
muhahaha
1 天前
非常棒,之前一直想有没有类似的功能,一直没有找到,最后无奈用了 Frp 内网穿透
muhahaha
1 天前
请教个问题,如果是安卓的 Clash 客户端,应该如何配合使用呢?
richchang
1 天前
@muhahaha 我没有试过,但理论上只要能接受 Shadowsocket 订阅格式的 app 都可以。

另外,Clash 也有自己的 YAML 订阅格式,你可以简单改一下代码,让输出格式为 Clash 的 YAML 就行。
richchang
1 天前
@muhahaha 写了个对应 Clash YAML 格式订阅的代码,传到 Github 了
w7938940
1 天前
要求有点高,需要支持 stun tcp 打洞
muhahaha
1 天前
@w7938940 我这陕西联通,也是支持的,感觉好多地区的都支持 Fullcone Nat ,这样的话是没有问题的,可以用软路由拨号测试一下。
muhahaha
1 天前
@richchang 谢谢,回头有空测试
SenLief
1 天前
有 ipv6 还是 ipv6 好用,stun 的打洞要频繁的更新。
richchang
1 天前
@SenLief 我这个代码解决的就是 stun 打洞频繁更新的问题。

ipv6 并非理想的连回家的方式。即使不考虑很多地方没有 ipv6 的问题,经我的测试,ipv6 起码在移动宽带跨网访问的时候,QoS 非常严重,跟 v4 完全不一样。
SenLief
1 天前
@richchang 我这联通没有 TCP Qos , 一直 ipv6 挺稳定的。stun 有时候更新的很频繁,客户端就需要频繁的请求更新,另外更新了地址不出意外也需要重连。
huguadao
1 天前
可以在群晖上部署么?目前用的 frp 到一个 vps 上这么用的
richchang
1 天前
@huguadao Lucky 有群晖的套件,没问题
wanderNeng
1 天前
可以直接用 tailscale
qingshengwen
1 天前
@richchang #2 还真是可以的,我之前用其他工具测试过显示是 NAT3 ,移动的,但是 lucky 能内网穿透成功
guoguobaba
1 天前
lucky 持续报告“STUN 穿透获取的公网地址有效性检测失败",是不是说明我这个是 nat4 的

但是我用 python stu 检测说是 nat3 的。
richchang
1 天前
@guoguobaba 你是不是给装 lucky 的机器开个全局梯子?那样会导致获取的公网地址是梯子的地址。

另外需要打开路由器的 UPNP ,以及去掉其他可能影响连接的防火墙

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1118793

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX