自研能力 · 自动化与交付
WebTerm(WebiTerm)
通过浏览器访问受控主机的 Bash 终端,支持登录、HTTPS、终端尺寸调整与空闲超时;不替代堡垒机。
Overview
定位与当前状态
WebTerm 是位于 webiterm 源码目录的轻量浏览器终端,构建产物名为 lwebterm。它把部署主机的 Bash 与 PTY 通过 WebSocket 暴露为交互式终端,适合受控网络中的临时维护入口,而非远程 SSH 资产管理器。
本条目依据 2026-09-08 的 README、Go 入口和会话实现审阅补充;未运行产品、建立终端连接或执行目标主机命令。当前只收录资料,在线体验关闭,不能以站点介绍替代部署安全验收。
已核对的能力
- 浏览器终端:每个 WebSocket 连接启动新的 Bash/PTY,并处理终端输入、输出和尺寸调整。
- 登录与退出:支持用户名、密码和内存会话,使用随机会话标识及 HttpOnly Cookie。
- 空闲控制:默认空闲超时为 5 小时,可配置;超时后关闭连接并清除对应登录态。
- 连接维护:WebSocket ping/pong 与前端 keepalive 降低空闲代理断开。
- 部署选项:绑定地址与端口、直接 HTTPS、指定系统用户;静态 xterm 文件可随包离线交付。
使用前提
当前 go.mod 声明 Go 1.24.0、工具链 go1.24.8。运行主机需要 Bash 与可用 PTY;切换系统用户还需经批准的 sudo 权限。二进制应与 static/ 配套交付并从正确工作目录启动。先使用受限账号、网络隔离和独立恢复通道,再评审认证、TLS 和会话退出方式。
建议使用流程
确认目标主机和维护窗口,检查程序帮助及静态资源;由负责人配置登录与证书,验证未登录不能进入终端。进入后只做批准范围内的操作,核对终端尺寸、空闲超时和退出行为。任务结束后主动退出并回收临时入口,不能仅关闭浏览器标签页就视为权限已回收。
不能做什么与停止条件
它不提供多用户权限系统、跨主机 SSH 目录、会话恢复、命令录屏或堡垒机审计。每次连接新建 shell,断开会清理该连接的主进程;后台子进程是否残留必须额外核验。源码直接调用 Bash,不能因为构建脚本列出 Windows 就承诺 Windows 原生终端兼容。
未配置认证即可进入终端,WebSocket Origin 当前全部放行;没有完成访问隔离、来源限制与非特权运行前,不得开放公网。密码通过命令行参数设置存在历史和进程参数泄露风险,本工具没有可据源码确认的独立密钥注入接口。若现有平台无法接受该风险,应停止接入,而不是编造环境变量或配置文件参数。
配套文档与场景
这些资料用于访问流程设计;场景中的 JumpServer、OpenSSH 不是 WebTerm 已完成的集成。
源码依据与版本说明
能力依据为 main.go、session.go、index_html.go 与 build-all.sh。构建脚本中的日期变量不是可验证的正式 release;当前没有核验公开仓库、下载地址或发布版本,站点对应字段留空。后续需补充实际平台、构建标识、登录拒绝、会话超时和退出清理证据。