文章首发于个人公号:「阿拉平平」
我之前和大家分享过一个工具:GoTTY,可以将终端放到浏览器上显示,方便开发人员进行调试。不过 GoTTY 是将终端『投屏』到浏览器上,终端上不再显示内容,而我今天分享的工具则是双向实时同步的,更适合远程协助。
项目介绍
TermPair[1] 是一款基于 Python 开发的端到端加密远程控制工具,启动服务后分享连接,其他人就可以通过浏览器安全实时地控制终端。
下载安装
目前 TermPair 最新版本为 0.3.1.4,如果想使用该版本,请务必安装 Python 3.7+。
安装好 Python 环境后,可以直接下载二进制文件或者使用 pip
安装。这里我就用 pip
来装了:
pip3 install termpair
安装完成后,可以通过以下命令查看版本:
termpair --version
0.3.1.4
如果能够显示版本号,说明安装完成。
使用说明
目前 TermPair 安装在一台虚拟机上,接下来,我将通过 TermPair 分享虚拟机的终端,并从本地的浏览器进行访问。
启动服务
出于安全的考虑,TermPair 要求连接必需是安全的。因此在启动服务前,我们还需要创建 SSL 证书。
创建自签命证书的方法有很多,这里不多做赘述,想了解的同学可以看看我之前推荐的工具:mkcert。
证书创建好后,执行以下命令启动服务:
termpair serve --host <your_host> -c <path_to_crt> -k <path_to_key> -p 443
注意根据实际情况替换命令中的参数。如果你觉得生成自签命证书麻烦,官方也提供了服务[2],按照页面上的提示操作即可。
分享链接
服务启动后,就可以执行以下命令创建链接:
termpair share --host <your_host> -p 443
注意这里的 host 需要加上协议,形如:
termpair share --host https://192.168.128.131 -p 443
执行命令后会生成链接信息,通过浏览器访问可以看到终端:
可以看到,TermPair 是双向实时同步的:
写在最后
对于开发人员而言,平时和终端打交道会比较多,遇到问题在所难免。通过 TermPair 生成一个链接,直接通过浏览器操作,还是比较方便的。
References
[1] TermPair: https://github.com/cs01/termpair
[2] 服务: https://chadsmith.dev/termpair/