有没有类似 headscale 但无需专用服务器的东西?

65 天前
 s82kd92l
现有的各种方案,比如 zerotier moon, headscale 都需要自建一个中心化的服务来实现客户端的信息交换和转发。但其实客户端可以不通过中心服务器的.

信息交换可以利用 irc/xmpp/mqtt 机器人, 这样利用公共资源就能做到信息交换

包转发也可以先利用公共的 stun 来打洞,实在打不通才走 turn

所以中心化的服务不可缺少的就是一个 turn 服务而已,其他都功能都可以被公共资源 offload ,如果客户端不是对称 nat 的话根本就不需要中心服务器的存在。

现在有这种方案吗?
1601 次点击
所在节点    宽带症候群
16 条回复
s82kd92l
65 天前
实在打不通也可以不走 turn, 把数据直接作为 irc/xmpp/mqtt 的 payload 走公共服务,效率虽不高,但也是能通的
ETiV
65 天前
Surge Ponte: https://kb.nssurge.com/surge-knowledge-base/v/zh/guidelines/ponte

因为它在 Apple 生态里,用的其实是 iCloud (来登记 Devices 清单) + 公共的 STUN 服务(实现打洞)。
totoro625
65 天前
你需要内网穿透但是不需要自建服务器,也不想用官方中心化服务器吗?
试试: https://github.com/MikeWang000000/Natter/tree/master/natter-docker/v2fly-nginx-cloudflare
s82kd92l
65 天前
@totoro625 差不多,但希望封装更多一点,使用方式能更接近 vpn 一点的。这个也是很好的!
s82kd92l
65 天前
@totoro625 这个我用不了,我的 nat 不是 full-cone ,所以必须依赖 ICE 打洞。
zagfai
65 天前
我有一个变态的设想,找一些服务做中转,比如飞书的文档,wps 之类,作为桥梁往里面写内容,另一边读取内容,实际上就变成了一个通道,多个并发起来带宽应该是没问题的,就不知道延迟怎样
Kinnice
64 天前
@zagfai 那不如使用 dns 的 txt 字段,免费域名还是很多的.
Kinnice
64 天前
@zagfai 这种方案基本都是延迟飞起
s82kd92l
64 天前
发现了一个利用 dht 做信息交换的方案 https://github.com/mudler/edgevpn ,缺点就是比 wireguard 慢很多,而且 libp2p 会参与公共 dht 存储,会比较耗电耗流量
ivan_wl
64 天前
可以利用这个思路啊 https://github.com/aleixrodriala/wa-tunnel
basncy
64 天前
你要的可能是 tinc. https://tinc-vpn.org/
turn 的 relay 信息交换可走 ddns, 写个脚本动态监控并刷新 tinc 配置.
s82kd92l
64 天前
@basncy tinc 很多年前用过,打洞不是用 stun/ice, 效果不如 zerotier. 而且 ddns 只是知道对外 ip, 怎么知道 tinc 的对外端口呢?
basncy
64 天前
#11 既然都自建 turn 服务了,也没必要用 turn 了. AB 双方都加 C 为好友, 流量就(默认)自动通过 C 中转了.

多加几个"好友", 互相组成 mesh 网络. 结点会自动寻找最优路径.
s82kd92l
64 天前
@basncy 有很多免费 turn 资源啊,比如 freeturn.net, openrelay, 不用自建.
basncy
64 天前
@s82kd92l #12 你有谷歌账号吗?去白嫖一台 https://v2ex.com/t/1032983 tinc 自动交换信息打洞失败还可以手搓.
zagfai
64 天前
@Kinnice dns txt 的流量太小了吧

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

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

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

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

© 2021 V2EX