撸了个 Tailscale 的国内发行版,分享给大家

2022-12-05 13:49:13 +08:00
 fortitudeZDY

楼主是一名网络通信领域的老程序员,先前在大厂工作过一段时间,因为期望陪伴家人且亦到了卷出病也卷不动的年龄,机缘巧合下回到定居地工作。

因为工作强度降低以及需要调理身体的缘故,在工作之余,撸了个 Tailscale 的国内发行版,目前感觉基本能用,所以分享出来。

产品定位

Tailscale 的国内发行版,提供国内 SSO 认证(当前是微信)及 P2P 打洞失败时的国内中转能力;为用户提供易用的(扫码入)、安全的终端内网互联工具。

技术背景及现状

总体上是复用了 Tailscale + Headscale 的核心代码,做了些外围界面的微小工作(此处致敬一下长 者 ,可惜加不了 1s 了)。

管理平台方面,主要利用 vue 以及 go 来开发 web 前端及后台,文档部分用到了开源 cms ( strapi ) + nuxt 来实现静态化。

桌面 app 方面,主要是基于 Tailscale 内核,通过 go build 工具来生成静态库(从 Tailscale Android 代码学习得到),基于 tauri 以及 rust ffi 来实现跨平台桌面 App 构建(注:此桌面 App 计划整理注释以及代码后开源),目前支持 Linux/Windows/Mac(含 M1 及之后芯片)的桌面应用。

Android app 方案,则主要针对 Tailscale 开源代码进行汉化,集成微信认证能力。

Ios/IPad 暂时没有精力开发,因为目前及未来仍会兼容 Tailscale 官方客户端,因此可参考 Headscale 的方式接入。

免费用户及付费策略

因为这个产品算是楼主的全干(全水)工程师的一个尝试,个人的应用主要是连接自己的各个云服务器以及家用 NAS 同步(之前被百度网盘搞伤了),所以从自己的使用来看,流量需求并不高,并且 Tailscale 的 subnet router 等高级功能尚未集成出来,因此当前仅有免费套餐提供出来。

详细的免费用户规则,请参考官网链接: https://xedge.cc/doc/faq/2

关于付费,楼主觉得主要还是从功能(比如楼主考虑的提供短域名池,供用户自定义网络子域名以及终端别名)、流量规格层面进行约束,以便能够维持这个服务的长期运行,这部分功能会根据运行情况进一步优化及开发。

关于 Tailscale ,在 V2EX 上已经有较多讨论了,这里就不再介绍了;楼主做的国内发行版产品官网为: https://xedge.cc

上手文档为: https://xedge.cc/doc/quickstart/1

期待这个东西能够帮助到大家,如果有问题,请在本楼反馈,以及参考前面的免费用户规则反馈即可。

9738 次点击
所在节点    分享创造
65 条回复
shinko
2022-12-05 14:22:23 +08:00
个人的话,现有的 Tailscale + Headscale 已经很完善了,我用这个方案几个月,非常稳定。6 个地方的宽带都没出过问题
matzoh
2022-12-05 14:46:17 +08:00
我个人还是比较在意 ios 设备的支持度(缺一不可)

headscale 不支持 ios ( tailscale 没开源)
fortitudeZDY
2022-12-05 14:51:13 +08:00
@shinko 个人的话,我觉得有技术基础用 Headscale 是完全没问题的;但是如果想省事也不太会部署的话,用 xEdge 则会比较方便。
fortitudeZDY
2022-12-05 14:52:33 +08:00
@matzoh 谢谢反馈,iOS 这个我觉得应该是可以做的,后面会重点解决,不然对不住全终端支持这个口号:)
zuijiapangzi
2022-12-05 15:18:16 +08:00
@shinko 请问下,是否有详细教程推荐?
billzhuang
2022-12-05 15:24:09 +08:00
" P2P 打洞失败时的国内中转能力" 那么还能使用官方的节点么?
fortitudeZDY
2022-12-05 15:28:26 +08:00
@billzhuang 主要是考虑合规因素,因为不会考虑支持国外 ip 的终端接入,因此官方节点的意义就不大了:(
shinko
2022-12-05 15:38:33 +08:00
@zuijiapangzi https://icloudnative.io/ 这里几篇文章已经算是非常详细了。
@fortitudeZDY 确实,没有开箱即食对于一些人是难点。特别中继那部分要自己编译~~要不用 Tailscale 的服务器太慢了
wwqgtxx
2022-12-05 20:06:56 +08:00
能和官方版本共存么
fortitudeZDY
2022-12-06 11:47:22 +08:00
@wwqgtxx 可以和官方共存,但官方部分平台,比如 ios 是不支持修改 login url ,就无法对接了。
Aixtuz
2022-12-06 16:12:43 +08:00
主力设备 iOS ,所以只好用原版了,自建 derp 体验还行。
wolfmei
2022-12-06 21:50:48 +08:00
哦,前不久才自建 tailscale + headscale + derp
ixinshang
2022-12-07 10:21:26 +08:00
最近折腾 zero ,有些移动网络打不通。。。
OP 的提供一个 docker 客户端把。
blackmolycat
2022-12-20 10:13:12 +08:00
这几天因为 google 团队盘挂掉的事,想到还是自己搭建个人网盘好一点,终归逃不过。
刚开始尝试了下 zerotier ,但是 ios 客户端上次更新居然是 6 个月以前,不出意外连接后打洞失败走外网服务器中转,网速慢的无法使用,后切换到 tailscale 解决。然后 tailscale 的 ios 客户端目前隔一天就得重新验证登录,重新验证就会很容易失败(sso 我用的 google ,不太清楚这个过程是否会受到墙的问题)。
ios 刚需,但目前用起来都有毛病...
fortitudeZDY
2022-12-23 10:52:02 +08:00
@lgjx123 ios 客户端看来我这里要提上日程啦,已经找到之前做的 ios 代码原版,假期抽空再撸一个 ios 的:)
fortitudeZDY
2022-12-29 10:53:25 +08:00
新冠初愈,发一个年末的版本( v0.1.4 ),感谢前期朋友们的试用。

预祝大家都顺利抗过病毒以及新年快乐。

在即将到来的新年,xEdge 计划支持 subnet router 、自定义域名别名、ios 平台支持;欢迎各位继续关注试用。
Awes0me
2023-01-04 14:51:55 +08:00
使用了一段时间很好用, 谢谢开发
techstay
2023-01-11 01:36:31 +08:00
感谢,之前也是在 v 站看到另一个朋友分享的工具,不知道哪里没设置对,能 ping 通能访问 VNC ,但是别的就访问不了,简直有毒。这个工具一次就成功了,好东西
techstay
2023-01-14 03:43:50 +08:00
大佬能不能给客户端加个注销功能,我给我朋友分享,他没看我说啥就直接登录了自己的账号,结果我想让他退出登录我的账号时候才发现没有注销功能。然后找了半天配置文件,删除了在登录结果还是用上次的状态登录。折腾了一晚上也没解决……
fortitudeZDY
2023-01-22 11:09:22 +08:00
@techstay 嗯,这个功能我记录一下,后面的版本应该可以加上,之前也有计划增加重置状态能力的。

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

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

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

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

© 2021 V2EX