最近新上架了一个不需要 VPN 的 iOS Tailscale SSH Terminal 免费客户端

2025 年 8 月 18 日
 netox

作为基于 Tailscale 开发的 xEdge 的开发者,我一直非常喜欢 Tailscale ,然而自从我基于 fd.io VPP 开发了一个新的 iOS VPN 客户端(之前在站内分享过这个 VPN 客户端即 MintFlow NetStack 的 promo code )后,日常主要开着这个客户端,然而我总需要经常远程登陆到我的很多 SSH 服务器进行维护或客户支持,这个时候 iOS 不支持 VPN 多开就比较烦人了。

我原计划想把 Tailscale 的客户端集成到我的 VPN 客户端中,但主要考虑到我的客户端网络协议栈主要基于 C 语言和 RUST 开发,实在不太想引入 Go 这个运行时;因此,趁近期有一些时间,加上我想再深入研究一下 Tailscale 作为 SDK 的可用性,以及 Terminal Emulator 的原理,于是果断开搞,而往往我比较头痛的 UI 部分,如今已经有 Claude Code 这个工具提供大力支持,因此一个月的时间便搞定了,而 Apple Store 的审核则比较有意思,首次提交后,只是问题了一些 App 的工作原因,以及和 Tailscale 账号之间的关系,便顺利通过了,可见如果不是太多同类的软件,稍微有那么一些独创性,通过的可能性还是挺高的。

App 的名称是 NovaAccess ,目前主要是基于大神 Miguel de Icaza ( Gnome 项目的发起人,Mono/Xamian 等项目的发起人,大神最近从微软离职,却专注地搞 Apple 生态 App ,亲自写代码,值得学习)的 SwiftTerm (坛子里前几天发的 Nex Terminal 应该也是基于此项目)来实现 Terminal Emulator Engine ,网络部分则是 Tailscale 和 libssh2 来实现 SSH Terminal 。

App 已经上架 AppStore ,目前免费下载,链接见下:

https://apps.apple.com/us/app/novaaccess/id6749938291

当然 App 也同样在 ProductHunt 发布,链接见下,如果您感觉 App 对您有帮助,希望也能举手之劳,帮忙 upvote 一下,在此感谢您。

https://www.producthunt.com/products/novaaccess?launch=novaaccess

其他说明:

  1. 目前不支持 custom login server ,之所以这样,是因为目前 App 和 Tailscale 客户端一样尚不支持中文,另外就是个人有点小私心,期望后面的 Pro 版本提供 custom login server 支持;还有就是 AppStore 往往提交第二个版本可能会有一些更严格的审核,因此想暂时让功能简单以减少风险;后续如果支持 Pro 版本,一定会在坛内给朋友送 Pro 版本使用。
5658 次点击
所在节点    分享创造
30 条回复
yanyuechuixue
2025 年 8 月 18 日
很不错!支持一下!
billzhuang
2025 年 8 月 18 日
Login tailnet 可以透过 OIDC 的方式么?
billzhuang
2025 年 8 月 18 日
这个是运行在 userspace 里?所以本地生成了一个代理?
followad
2025 年 8 月 18 日
蛮不错的 pro 确实要更完善的功能,先收藏了
v2ro88
2025 年 8 月 18 日
还支持 15.0 ,赞一个,红心献上
netox
2025 年 8 月 18 日
@billzhuang 支持 web 方式认证,因此理论上如果你在 tailscale 官网设置了第三方 idP ,应该是可以的
netox
2025 年 8 月 18 日
@v2ro88 俺有一台 iphone 6splus ,用来真机测试低版本,最高版本就是 15.0 ,因而尽可能都想支持较低的 iOS 版本;为了这个还需要对 tailscale 的 sdk 作点小修改。。。
netox
2025 年 8 月 18 日
@billzhuang 不是本地生成代理,而是直接将 ssh terminal 的底层传输层网络连接导入到 tailscale userspace 协议栈里,这样可以直接 ssh 到私有网络的 ssh 服务器上;当然后面打算还会加上通过一个 app 内置浏览器访问 tailnet 上的 web 资源,但目前看可能需要 iOS 18 ,暂时还没有加上。
netox
2025 年 8 月 18 日
@yanyuechuixue 感谢支持
netox
2025 年 8 月 18 日
@followad 感谢支持,后面会继续抽空迭代完善功能。
billzhuang
2025 年 8 月 18 日
@fortitudeZDY 不太明白,你细说说。
netox
2025 年 8 月 18 日
@billzhuang 不太清楚你指的是自建 control server ,比如配合 headscale 实现 oidc 支持,如果是这个的话,因为这个 app 暂不支持 custom login server ,所以没法支持。如果是指 tailscale 的 custom oidc provider ,应该可以看他们的文档:

https://tailscale.com/kb/1240/sso-custom-oidc

当然我没有验证过,我理解是如果你设置了 custom oidc provider ,你以 web 方式认证时,它们会让你选择你所配置的 oidc 进行跳转认证。
lightionight
2025 年 8 月 18 日
😄terminal 不感兴趣,倒是对 op 的 mintflow 感觉有点意思
followad
2025 年 8 月 18 日
@fortitudeZDY 发码会在这帖子下面么 e
huyasi
2025 年 8 月 18 日
下载了
kapr1k0rn
2025 年 8 月 18 日
建议 OP 可以到 reddit 的/r/tailscale 推广一下,基于 tailscale 的应用方案在那边很受欢迎
netox
2025 年 8 月 18 日
@lightionight 哈哈,解决一个自己的小问题,mintflow 还在打磨中,跟其他的不能比,还有一个原因是因为 vpp 比较重也有一些技术包袱,还得再折腾。等后面再完善点了再送点码出来:)


@kapr1k0rn 谢谢提醒,之前已经发了,我也经常关注/r/tailscale
otherbanana
2025 年 8 月 18 日
支持,马上下载试用
billzhuang
2025 年 8 月 18 日
@fortitudeZDY 我是想请假下#8 的实现,不是很明白你的实现
phoenix
2025 年 8 月 18 日
未来是否可以通过本地代理的方式将 Tailnet 上其他服务端口暴露出来,以访问 SSH 以外的服务?

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

https://v2ex.ih06.com/t/1153035

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

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

© 2021 V2EX