蜃境 XTailscale 第三方 iOS 客户端开启测试了! - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
gps949
V2EX    分享创造

蜃境 XTailscale 第三方 iOS 客户端开启测试了!

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

    一个从没搞过 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     Solana     2505 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 31ms UTC 15:33 PVG 23:33 LAX 08:33 JFK 11:33
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86