一个命令行工具,可通过浏览器将任意终端程序分享到网页上。
butlerx/wetty
一个通过网页浏览器访问的终端工具,基于 xterm.js 和 WebSocket 实现。
- Star
- 5,479
- Fork
- 771
- 未关闭 Issue
- 15
- 最近提交
- 昨天
这是什么?
WeTTY 让你在浏览器里直接使用终端。它以 Node.js 启动服务,提供基于 xterm.js 的终端页面,并通过 WebSocket 把输入输出转发到本地 shell 或 SSH 服务器。相比 Ajaxterm、Anyterm 等早期网页终端,它使用 WebSocket 而非 Ajax 轮询,击键响应更快。
以 root 身份运行时,WeTTY 会启动 /bin/login,用户可自行输入用户名;否则默认通过 ssh 连接 localhost。通过参数可指定远程主机、端口和用户,支持密码或公钥认证。服务端要求显式配置允许访问的浏览器来源。它可以通过 npm 安装、使用 Docker 镜像运行,也可放在 nginx 或 traefik 等反向代理之后启用 HTTPS。
核心功能
- 01借助 xterm.js 在浏览器中提供完整的终端模拟。
- 02基于 WebSocket(Socket.IO)传输输入输出,延迟较低。
- 03可连接本地登录 shell,也可连接远程 SSH 服务器。
- 04支持 SSH 密码和公钥认证。
- 05需要配置允许的来源列表,并支持自定义基础路径。
- 06提供 npm 包和 Docker 镜像。
适用场景
- 让团队成员无需本地 SSH 客户端,直接通过浏览器访问服务器。
- 在内网机器上通过反向代理提供网页终端。
- 在没有终端应用的设备上访问家用服务器或实验室机器。
快速上手
- 1
使用 npm 全局安装 WeTTY
npm -g i wetty - 2
指定允许的浏览器来源并启动 WeTTY
wetty --allowed-origin http://yourserver:3000 - 3
在浏览器中打开服务器地址并登录
使用前须知
- 需要 Node.js 20 或更高版本,以及 make、python、build-essential 等构建工具。
- 必须显式设置 --allowed-origin 才会接受连接。
- 提供完整的终端访问权限,因此必须通过 HTTPS 和反向代理进行安全防护。
收录于专题
标签
常见问题
- wetty 是什么?
- 一个通过网页浏览器访问的终端工具,基于 xterm.js 和 WebSocket 实现。 WeTTY 让你在浏览器里直接使用终端。它以 Node.js 启动服务,提供基于 xterm.js 的终端页面,并通过 WebSocket 把输入输出转发到本地 shell 或 SSH 服务器。相比 Ajaxterm、Anyterm 等早期网页终端,它使用 WebSocket 而非 Ajax 轮询,击键响应更快。
- wetty 可以免费使用吗?用的什么许可证?
- wetty 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
- wetty 还在维护吗?
- 活跃维护中。wetty 最近一次提交是在 2026年11月6日。
- wetty 适合用来做什么?
- 让团队成员无需本地 SSH 客户端,直接通过浏览器访问服务器。 在内网机器上通过反向代理提供网页终端。 在没有终端应用的设备上访问家用服务器或实验室机器。
- wetty 怎么安装和运行?
- 使用 npm 全局安装 WeTTY: npm -g i wetty 指定允许的浏览器来源并启动 WeTTY: wetty --allowed-origin http://yourserver:3000 在浏览器中打开服务器地址并登录
- 在哪里获取 wetty?
- 源代码和安装说明在 GitHub 上:https://github.com/butlerx/wetty
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
1.3万+23 本周1224CMIT更新于 3个月前
为 pi 终端编程代理提供远程控制:在浏览器或手机上实时查看会话,并通过自托管中继发送消息和命令。
307+52 本周10TypeScriptMIT更新于 前天
把浏览器变成终端,可在任意设备上查看和操控命令行会话与 AI 编程代理。
4705336TypeScriptMIT更新于 3个月前
一个云原生网页终端与 ACP 智能体工作台,支持持久会话、文件编辑与多主机管理,桌面、平板和手机均可使用。
39233JavaScriptMIT更新于 14天前
可自托管的浏览器 SSH 终端与 SFTP 文件工作台,支持多用户、Passkey、OIDC 和加密密钥存储。
308+61 本周41PythonMIT维护活跃更新于 前天