WebTTY:用 WebRTC 直接共享终端,不用搭服务器

📅 2026/7/5 2:59:11 👁️ 阅读次数 📝 编程学习
WebTTY:用 WebRTC 直接共享终端,不用搭服务器

文章目录

  • WebTTY:用 WebRTC 直接共享终端,不用搭服务器
    • 它解决什么问题
    • 安装
    • 使用方法
    • 单向连接模式
    • 终端尺寸
    • 适合谁用

WebTTY:用 WebRTC 直接共享终端,不用搭服务器

WebTTY 是一个终端会话共享工具,基于 WebRTC 协议工作。不需要搭建代理服务器,不依赖第三方平台,两个人之间直接建立连接。你的朋友可以实时看到你的终端操作,甚至接管控制权。调试服务器、排查问题、远程协助,都变得简单直接。

截至目前,这个项目在 GitHub 上有 2810 个 Star。

它解决什么问题

远程协作的时候,经常需要让别人看到你的终端。传统做法要么搭 SSH 服务器,要么用 screen/tmux 加端口转发,要么依赖第三方平台。每种方案都有门槛:SSH 要配密钥和防火墙,端口转发遇到 NAT 就歇菜,第三方平台要注册账号还得信任它们的数据安全。

WebTTY 用 WebRTC 搞定了这些。WebRTC 本来是浏览器做音视频通话的协议,天然支持 NAT 穿透,传输过程端到端加密。WebTTY 把这个能力搬到了终端共享上。两个人各跑一条命令,连接就通了。

安装

两种方式。

直接从 releases 页面下载预编译的二进制文件,解压就能用。

或者用 Go 安装,需要 Go 1.9 以上版本:

go install github.com/maxmcd/webtty@latest

使用方法

主机执行webtty,终端会输出一串连接数据。把这串数据发给对方,对方在自己的终端里运行:

webtty <连接数据>

连接就建立起来了。对方能看到你的终端,可以输入命令。整个过程不需要配置任何东西。

如果对方没有装命令行工具,也可以用浏览器打开项目提供的静态页面,粘贴连接数据直接连。浏览器里也能正常操作。

单向连接模式

默认的 WebTTY 连接需要双方交换连接数据。加-o标志可以改成单向模式:

webtty -o

这个模式下,主机会把连接数据上传到一个公共服务,生成一个链接。接收方访问这个链接就能完成连接。适合用在构建服务器上,出错的时候自动输出一个 WebTTY 链接,任何人都能接进去调试。

连接数据在上传前会加密,加密密钥跟连接数据一起传输。即使公共服务被攻破,数据也是安全的。

终端尺寸

默认情况下 WebTTY 会让客户端的终端尺寸跟主机一致。如果显示有问题,可以配合 tmux 使用:

tmux new-session -s shared webtty -ni -cmd tmux attach-session -t shared

tmux 会自动把会话调整到最小终端视口的尺寸,两边都不会出现显示错位。

适合谁用

需要远程调试服务器的运维人员,经常跟同事 pair programming 的开发者,给客户做远程技术支持的技术人员,都能用上。不需要注册账号,不需要安装客户端,不需要配置服务器,两条命令搞定。

amming 的开发者,给客户做远程技术支持的技术人员,都能用上。不需要注册账号,不需要安装客户端,不需要配置服务器,两条命令搞定。