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

19 天前
 fortitudeZDY

作为基于 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 版本使用。
2352 次点击
所在节点    分享创造
28 条回复
yanyuechuixue
19 天前
很不错!支持一下!
billzhuang
19 天前
Login tailnet 可以透过 OIDC 的方式么?
billzhuang
19 天前
这个是运行在 userspace 里?所以本地生成了一个代理?
followad
19 天前
蛮不错的 pro 确实要更完善的功能,先收藏了
v2ro88
19 天前
还支持 15.0 ,赞一个,红心献上
fortitudeZDY
19 天前
@billzhuang 支持 web 方式认证,因此理论上如果你在 tailscale 官网设置了第三方 idP ,应该是可以的
fortitudeZDY
19 天前
@v2ro88 俺有一台 iphone 6splus ,用来真机测试低版本,最高版本就是 15.0 ,因而尽可能都想支持较低的 iOS 版本;为了这个还需要对 tailscale 的 sdk 作点小修改。。。
fortitudeZDY
19 天前
@billzhuang 不是本地生成代理,而是直接将 ssh terminal 的底层传输层网络连接导入到 tailscale userspace 协议栈里,这样可以直接 ssh 到私有网络的 ssh 服务器上;当然后面打算还会加上通过一个 app 内置浏览器访问 tailnet 上的 web 资源,但目前看可能需要 iOS 18 ,暂时还没有加上。
fortitudeZDY
19 天前
@yanyuechuixue 感谢支持
fortitudeZDY
19 天前
@followad 感谢支持,后面会继续抽空迭代完善功能。
billzhuang
19 天前
@fortitudeZDY 不太明白,你细说说。
fortitudeZDY
19 天前
@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
19 天前
😄terminal 不感兴趣,倒是对 op 的 mintflow 感觉有点意思
followad
19 天前
@fortitudeZDY 发码会在这帖子下面么 e
huyasi
18 天前
下载了
kapr1k0rn
18 天前
建议 OP 可以到 reddit 的/r/tailscale 推广一下,基于 tailscale 的应用方案在那边很受欢迎
fortitudeZDY
18 天前
@lightionight 哈哈,解决一个自己的小问题,mintflow 还在打磨中,跟其他的不能比,还有一个原因是因为 vpp 比较重也有一些技术包袱,还得再折腾。等后面再完善点了再送点码出来:)


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

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

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

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

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

© 2021 V2EX