udppunch icon indicating copy to clipboard operation
udppunch copied to clipboard

无自有服务器实现?

Open yinheli opened this issue 2 years ago • 2 comments

开了个新的轮子做尝试,利用 stun 获取公网 IP,然后用 IRC 聊天室共享这个信息给其他的节点。还在实验状态 https://github.com/yinheli/wgc

或者大家有什么更好的方案?一定要廉价最好免费,并且长期可用。

yinheli avatar Jan 10 '22 05:01 yinheli

我个人用主要是两三个点之间互相连接,不知这个punch能不能在某一个点的公网IP改变(重新拨号)以后,自动通知其他几个点修改对端IP?(等于mesh形式) 我现在用的是netmaker来实现这个功能。

aloasut avatar Jan 12 '22 12:01 aloasut

@aloasut 没用过 netmaker 我看它的 readme 里提到了 p2p,不能满足你的需求吗?

我搞了两个方案,他们都是能实现 mesh

  1. 自建的公网服务,提供注册服务
  2. 就是上面提到的 wgc 的项目,用 stun + irc 聊天 (就是为了省个公网服务器钱💰)

原理都是每隔一段时间获取到自己的出口 IP 并且通过 IRC 聊天/或者自建的服务布和其他的 peer 共享,从而实现自动更新。

另外,在 Android 手机端要实现这个的话(非 root 情况下),需要额外的针对 wireguard 的官方 app 进行魔改,我感觉工作量有点大了,而我不想 root 手机。

所以我现在自己换用了 nebula 了,它有 app,而且 go 程序部署方便,默认就实现了 p2p,没有特别的内核要求,当然性能会差一点,体验下来还行吧。当然需要自建一个公网的 lighthouse,1M 小水管那种足矣。

打洞还是很香的。PC 手机,家里、公司都在一个虚拟内网互通了,外出只要公共 wifi (或者手机热点)信号够好,体验真是棒。

yinheli avatar Jan 12 '22 13:01 yinheli