V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
gps949
V2EX  ›  分享创造

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

  •  
  •   gps949 ·
    gps949 · 2023-04-28 09:02:53 +08:00 · 5902 次点击
    这是一个创建于 604 天前的主题,其中的信息可能已经有所发展或是发生改变。

    一个从没搞过 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

    截图

    最后的话

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

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

    上面贴链接失败了,下面是我进入 TestFlight 的截图
    https://pic.ipv4.uk/screenshot_testflight.png
    ww940521
        10
    ww940521  
       2023-04-28 10:15:29 +08:00
    @gps949 好吧是我账号的问题,切个账号可以了。
    roma
        11
    roma  
       2023-04-28 10:16:24 +08:00
    支持 ios 15 以下版本么
    gps949
        12
    gps949  
    OP
       2023-04-28 10:18:15 +08:00
    @roma
    我 XCode 编译设置的是 iOS 15 为最低版本。。。而且我手头没 iOS15 以下的设备,也不知道如果设置成 iOS15 以下编译是否能正常用。等我搞到 iOS15 以下版本的设备了我尝试下
    6IbA2bj5ip3tK49j
        13
    6IbA2bj5ip3tK49j  
       2023-04-28 10:53:10 +08:00
    这名字第一眼看上去还不会读,想到海市蜃楼才意识到怎么读……
    gps949
        14
    gps949  
    OP
       2023-04-28 11:01:43 +08:00
    @xgfan
    英文名 MirageX ——我比较不会读这个,读的时候总联想到 marriage
    superhack
        15
    superhack  
       2023-04-28 14:58:48 +08:00
    赞。能开源就好了
    gps949
        16
    gps949  
    OP
       2023-04-28 15:06:17 +08:00
    @superhack
    后续包括这个 iOS 版客户端在内的客户端和控制器端都会开源的。由于目前精力实在有限,放出来也无力维护,所以暂时还没放出来。
    housex
        17
    housex  
       2023-04-30 21:36:50 +08:00 via Android
    其他平台客户端在哪儿下载?
    patrickyoung
        18
    patrickyoung  
       2023-05-02 12:34:24 +08:00
    是用了 Packet Filter 吗,这个 entitlement 似乎不太好拿?
    我也有类似的需求,不过是 ZT 的。有没有学习 iOS 开发的推荐?
    gps949
        19
    gps949  
    OP
       2023-05-04 10:58:18 +08:00
    @housex
    其他平台的 Tailscale 官方版本应该也都够用吧?
    已经搞的 Windows 增强版暂时还没放出来。如果有需要哪个平台的版本您先说一下。因为服务器端现在还有很多 feature 在完善中,所以只能说有需要的尽快安排,但我个人精力有限肯定不会那么快。
    gps949
        20
    gps949  
    OP
       2023-05-04 11:02:22 +08:00   ❤️ 1
    @patrickyoung
    整体的架构是 SwiftUI 的 App+NetworkExtension (具体来说是 PacketTunnelExtension ,接口向后对接 Tailscale 开源代码的 Daemon )。
    ZT 啊,确实,ZT 的我之前想自建 ROOT (好像叫 earth ?),但官方 iOS 端不支持。加油💪🏻
    iOS 开发我是真小白,所以还是由专家来建议学习路线吧。我这边就是需要实现啥就 google 一下😂
    xyzxiaoking
        21
    xyzxiaoking  
       2023-05-04 16:44:02 +08:00
    github 首页的贪吃蛇有点好玩,偷了🤣
    ronnie9211
        22
    ronnie9211  
       2023-05-10 11:37:54 +08:00
    希望可以支持 ios15 以下的设备,真的太需要了
    bjm1996
        23
    bjm1996  
       2023-05-10 17:31:20 +08:00
    ios 用 google 账号登录的,开软件要新建 vpn 就无法科学了,那我怎么 google 登录哈哈
    gps949
        24
    gps949  
    OP
       2023-05-10 17:53:41 +08:00
    @ronnie9211
    这个我试验了一下,首先 swiftui 中一些代码使用了 iOS15 才有的特性,所以要支持 iOS15 以下的话,先不说网络部分,UI 部分就得先修了。。。这周主要在处理各客户端版本号统一、Linux 发包、群晖版本编译和修改的事情,改 iOS UI 有点没精力了,可能会稍微往后放放。但我会尽量尝试的,到时如果能 build 过了可能就得看看谁有设备能帮着测了。


    @bjm1996
    你是说你的 Tailscale 是使用 Google 账号登录的吗?这个确实在苹果这样的单 VPN 设备上是问题。所以还是建议不用 Google 以及 Github 开 Tailscale 账号。 目前我这边搞的自部署服务器端已经可以支持配置 Google 、Microsoft 、Github 、Apple 账号登录,之前搞过短信和微信小程序扫码登录但暂时砍了(因为不是标准 OIDC ),后续如果有资源的话会考虑增加其他常用三方登录方式。
    npc1437
        25
    npc1437  
       2023-05-17 10:04:05 +08:00
    @gps949 方便留个联系方式吗?寻求合作
    ak646951596
        26
    ak646951596  
       2023-07-11 09:32:09 +08:00
    @bjm1996 对啊 同问
    bjm1996
        27
    bjm1996  
       2023-07-11 09:36:16 +08:00
    @ak646951596 我重新换了微软登录没问题了,不然就路由挂科学
    guo111
        28
    guo111  
       2023-07-19 12:14:02 +08:00
    @gps949 寻求合作,方便留个联系方式吗
    guo111
        29
    guo111  
       2023-07-19 12:14:21 +08:00
    @gps949 寻求合作,方便留个联系方式吗
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2672 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 15:13 · PVG 23:13 · LAX 07:13 · JFK 10:13
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.