原始链接在: 为 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/



