撸了个 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

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

9542 次点击
所在节点    分享创造
65 条回复
fdghjk
331 天前
@fdghjk 我想同时用你的和官方的 行不行
fdghjk
330 天前
怎么判断现在走的是打洞还是中转啊 我害怕浏览不够用的
fortitudeZDY
328 天前
@fdghjk 可能会有地址冲突,可以停用官方的后台服务就可以啦
fortitudeZDY
328 天前
@fdghjk 我们的客户端都加了状态显示,可以从那里看出来的哈
fortitudeZDY
250 天前
这里稍微做一下我们这个小服务的更新,感谢 V2EX 一直对我们产品进行试用的用户,部分用户已经付费支持,再次感谢!

1 、因为顺利拿到国内 VPN 组网牌照,因此 iOS 客户端已经上架国内 App Store ,UI 方面因为与 android 一样采用了 gioui 框架,可能还是有一些 ugly 和不稳定,但由于 iOS VPN 是独立进程,并不影响组网使用;等俺学习 SwiftUI 到一定水平后准备再优化一版。
2 、最近基于 tailscale 的 funnel 的技术原理,实现了内网穿透功能,此功能兼容原有开源 tailscale 客户端,目前已经上架专业套餐和免费的体验套餐,欢迎有需求的朋友来试用。

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

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

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

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

© 2021 V2EX