为 iTerm2 Buddy 自托管中继服务器,加速手机连接 Mac 终端速度

原始链接在: 为 iTerm2 Buddy 自托管中继服务器,加速手机连接 Mac 终端速度 - 小众软件

iTerm2 Buddy 是著名的开源 macOS 终端工具 iTerm2 发布的 iPhone 应用,它能在异地通过 iOS 连接回 macOS 上已经打开的 iTerm2 标签页,实时同步两端操作,效果大概是这个样子:

公共中继服务器

默认情况下,iTerm2 Buddy 使用 iTerm2 的公共中继服务器,来帮助用户在手机上连接回电脑:

  • relay1.iterm2.com
  • relay2.iterm2.com

所以,速度很慢。

青小蛙的感受是,在外面通过 5G 连回家里的 iTerm2,从打开手机上的 iTerm2 Buddy 算起,需要经过连接、加密两个步骤,最少都需要5秒钟,才能打开终端。

真的很慢,慢到不行。

自托管中继服务器

于是,我想,能不能自托管中继服务器,这样就可以不用在地球上绕一圈,才连回家。甚至在局域网中,iTerm2 Buddy 也需要连中继服务器…

还好,中继服务器也是开源的:iterm2-companion-relay,原理是 Mac 和手机分别主动建立一条 WebSocket 连接,中继把两条连接接起来,转发加密数据,中继服务器看不到内容。

连接时,用 Ed25519 签名验证配对身份,用 Apple App Attest 验证手机上的应用。配对记录保存在 SQLite 数据库中,重启中继后仍然有效。

说干就干:

我把想法交给了 AI,是的,现在怎么能自己动手呢。

必备条件

不过你需要给 AI 提供:

  • 公网IP
  • 一台 Linux 服务器(可以是群晖等NAS)权限
  • 一个域名(用了创建 TLS 证书 )

然后就不管了,我也不知道(没看)AI 怎么操作的,反正就建好了。

最后,它会让你回到 iTerm2 所在的 macOS 上,运行两条命令:

再使用 iTerm2 Buddy 扫码配对,就好了。

再次连回去,这次从家中连回家中,对比测试:

这还测个啥,完全没有可比性啊 😂

(结束)

原文中包括 AI 整理的文档,需要的可以自取


原文:https://www.appinn.com/iterm2-buddy-self-hosted-relay-server/