蜃境 X——Tailscale 第三方 iOS 客户端开启测试了!

2023-04-28 09:02:53 +08:00
 gps949

一个从没搞过 iOS 开发的纯小白,历经两周时间煎熬,终于能在五一来临之前,在这里很高兴地向大家宣布:
蜃境 X —— 一个 Tailscale 第三方 iOS 客户端
终于可以让大家进行测试使用了!

为什么要做这个客户端

我们在搞一个从服务端到各平台客户端以及 DERP 节点都可以自己控制的本土化 Tailscale 版本。
目前,我这边已经完成了控制器(基于 Headscale 打造含 WebUI 以及多租户支持的本土化版本)、Windows 客户端、DERP 自动部署及初级管理等能力。
以上这些还不完善时暂时还未打算对外开放,仍在蜃境网络私有 repo 中进行. 这些的很早期版本如果有兴趣的同学可以到我的个人 GitHub中查找。
那么,这个「蜃境 X 」也就是为了我们在做的这一套体系服务的,作为其中 iOS 系客户端存在。

和 Tailscale 的区别

1 、Tailscale 官方 iOS 客户端最新版本已经支持了设置使用自建控制器(即 Headscale 或我们的蜃境),很遗憾我们来晚了一点。但是「蜃境 X 」可以在应用界面即可设置控制器地址,而无需进入系统设置内设置;
2 、官方版本 iOS 客户端尚不支持其非移动端平台上可以进行的 Subnet 、DNS 设置是否使用的开关,「蜃境 X 」可以;
3 、默认使用的是「蜃境」的控制器地址(目前尚未稳定启用),如需使用 Tailscale 官方控制器,需要在服务器域名处填写login.tailscale.com

TestFlight 地址(目前限量 100 名)

蜃境 TestFlight 地址
代码:wg6rNFFv

截图

最后的话

因为本人是小白,所以有问题大家尽管反馈,但请轻拍
欢迎大家试用体验,多提宝贵意见!

5555 次点击
所在节点    分享创造
29 条回复
blankmiss
2023-04-28 09:07:54 +08:00
这个东西怎么保证安全性呢
gps949
2023-04-28 09:09:08 +08:00
@blankmiss
除了界面部分因为官方没开源是自己搞的,后端全部基于官方的开源代码,安全性基本完全依赖于 Tailscale 官方开源代码。
ww940521
2023-04-28 09:31:15 +08:00
兑换码有问题?数字没法输入。
dacapoday
2023-04-28 09:41:04 +08:00
“都可以自己控制的本土化 Tailscale 版本”
这个自己是指 蜃境 X 官方,还是最终用户?
本土化体现哪些方面,中文界面?还是。。。
和 Headscale 的区别是?
gps949
2023-04-28 09:51:18 +08:00
@ww940521 那试试直接用链接呢,我也还没用过码兑换。。
gps949
2023-04-28 09:56:07 +08:00
@dacapoday
“自己”指的是用户自己控制。最终目标是实现 SaaS 服务版和用户自建版均支持。
本土化目前可能主要是中文界面方面。后续有 SaaS 服务的话就是服务资源本土化。
这个帖子中发布的是 iOS 的客户端,没法和 Headscale 比较。在做的蜃境控制器端( Server 端)是基于 Headscale 修改的,一方面功能方面修正了一些 Headscale 的问题、裁剪了一些 Headscale 我个人认为没有用处的部分、增加了完全类似 Tailscale 的 WebUI 管理界面、增加了分租户模式、内嵌了主流三方认证的对接、增加了对 DERP 的自动部署和控制管理……以及更多。
ww940521
2023-04-28 10:06:26 +08:00
@gps949 打开链接后提示要输入兑换码。
gps949
2023-04-28 10:10:19 +08:00
@ww940521
啊?这什么情况?我对 TestFlight 也不熟悉,但我这里打开(使用隐私模式,所以应该没登录任何账号)显示就是下面的样子:
![]( https://pic.ipv4.uk/截屏 2023-04-28 上午 10.08.55.png)
gps949
2023-04-28 10:11:56 +08:00
@gps949

上面贴链接失败了,下面是我进入 TestFlight 的截图
https://pic.ipv4.uk/screenshot_testflight.png
ww940521
2023-04-28 10:15:29 +08:00
@gps949 好吧是我账号的问题,切个账号可以了。
roma
2023-04-28 10:16:24 +08:00
支持 ios 15 以下版本么
gps949
2023-04-28 10:18:15 +08:00
@roma
我 XCode 编译设置的是 iOS 15 为最低版本。。。而且我手头没 iOS15 以下的设备,也不知道如果设置成 iOS15 以下编译是否能正常用。等我搞到 iOS15 以下版本的设备了我尝试下
6IbA2bj5ip3tK49j
2023-04-28 10:53:10 +08:00
这名字第一眼看上去还不会读,想到海市蜃楼才意识到怎么读……
gps949
2023-04-28 11:01:43 +08:00
@xgfan
英文名 MirageX ——我比较不会读这个,读的时候总联想到 marriage
superhack
2023-04-28 14:58:48 +08:00
赞。能开源就好了
gps949
2023-04-28 15:06:17 +08:00
@superhack
后续包括这个 iOS 版客户端在内的客户端和控制器端都会开源的。由于目前精力实在有限,放出来也无力维护,所以暂时还没放出来。
housex
2023-04-30 21:36:50 +08:00
其他平台客户端在哪儿下载?
patrickyoung
2023-05-02 12:34:24 +08:00
是用了 Packet Filter 吗,这个 entitlement 似乎不太好拿?
我也有类似的需求,不过是 ZT 的。有没有学习 iOS 开发的推荐?
gps949
2023-05-04 10:58:18 +08:00
@housex
其他平台的 Tailscale 官方版本应该也都够用吧?
已经搞的 Windows 增强版暂时还没放出来。如果有需要哪个平台的版本您先说一下。因为服务器端现在还有很多 feature 在完善中,所以只能说有需要的尽快安排,但我个人精力有限肯定不会那么快。
gps949
2023-05-04 11:02:22 +08:00
@patrickyoung
整体的架构是 SwiftUI 的 App+NetworkExtension (具体来说是 PacketTunnelExtension ,接口向后对接 Tailscale 开源代码的 Daemon )。
ZT 啊,确实,ZT 的我之前想自建 ROOT (好像叫 earth ?),但官方 iOS 端不支持。加油💪🏻
iOS 开发我是真小白,所以还是由专家来建议学习路线吧。我这边就是需要实现啥就 google 一下😂

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

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

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

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

© 2021 V2EX