> pipx run termpair share
工作原理
TermPair 由三部分组成,即服务器、终端客户端和运行在浏览器客户端的 JavaScript Web 应用程序。
服务器
首先,termpair 服务器启动(termpairserve)。 服务器充当路由器,在 TermPair 最终客户和连接的浏览器之间转发加密数据。 服务器侦听来自 Unix 终端客户端的 termpair websocket 连接,并维护到连接到该客户端的任何浏览器的映射。
终端客户
当用户想要共享终端时typescript 数据加密,运行 termpairshare 来启动客户端。 TermPair 客户端向服务器注册此会话,然后分叉并启动 pty 进程。 TermPair 在 pty 的文件描述符可用时读取数据,然后将其写入真实终端的 stdout,并在其中正常复制。 并且,它会加密该输出并通过 websocket 将其发送到服务器。
Web应用程序
TermPair 客户端在共享会话期间为用户提供唯一的 URL。 此 URL 指向 TermPair Web 应用程序 (TypeScript/React)typescript 数据加密,该应用程序设置 Websocket 连接以接收和发送加密的终端数据。 一旦接收到数据,就会对其进行解密并写入基于浏览器的终端。
当用户在浏览器终端输入时,在浏览器中用秘钥加密,发送到服务器,从服务器转发到终端,然后在终端由TermPair解密。 最后,TermPair 客户端将其写入 pty 的文件描述符。
加密
TermPair 客户端在启动时创建三个 128 位 AES 加密密钥:
-EOF-
更多优秀开源项目(点击下图跳转)
开源前哨站
每日分享热门、有趣、实用的开源项目。参与维护10万+明星开源技术资源库,包括:Python、Java、C/C++、Go、JS、CSS、Node.js、PHP、.NET , ETC。