V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
s82kd92l
V2EX  ›  宽带症候群

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

  •  
  •   s82kd92l · 248 天前 · 1986 次点击
    这是一个创建于 248 天前的主题,其中的信息可能已经有所发展或是发生改变。
    现有的各种方案,比如 zerotier moon, headscale 都需要自建一个中心化的服务来实现客户端的信息交换和转发。但其实客户端可以不通过中心服务器的.

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

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

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

    现在有这种方案吗?
    16 条回复    2024-04-22 14:15:42 +08:00
    s82kd92l
        1
    s82kd92l  
    OP
       248 天前
    实在打不通也可以不走 turn, 把数据直接作为 irc/xmpp/mqtt 的 payload 走公共服务,效率虽不高,但也是能通的
    ETiV
        2
    ETiV  
       248 天前   ❤️ 1
    Surge Ponte: https://kb.nssurge.com/surge-knowledge-base/v/zh/guidelines/ponte

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

    多加几个"好友", 互相组成 mesh 网络. 结点会自动寻找最优路径.
    s82kd92l
        14
    s82kd92l  
    OP
       247 天前
    @basncy 有很多免费 turn 资源啊,比如 freeturn.net, openrelay, 不用自建.
    basncy
        15
    basncy  
       247 天前   ❤️ 1
    @s82kd92l #12 你有谷歌账号吗?去白嫖一台 https://v2ex.com/t/1032983 tinc 自动交换信息打洞失败还可以手搓.
    zagfai
        16
    zagfai  
       247 天前
    @Kinnice dns txt 的流量太小了吧
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1901 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 20ms · UTC 16:23 · PVG 00:23 · LAX 08:23 · JFK 11:23
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.