ttyd终端分享工具
ttyd 是一个 C 语言编写的命令行程序,可以把任意命令行程序分享到网页上操作,可以看做是个网页版的远程终端,支持 Linux、macOS、FreeBSD系统,还可以运行在 OpenWrt/LEDE 之类的嵌入式系统上。
功能特色:
- C 语言编写,在速度和内存占用上相比其它实现有一些优势
- 网页和服务器端使用 Websocket 通信(基于 libwebsockets)
- 前端使用 chromium hterm 实现终端模拟,功能完备(已换为对中文输入更友好的 Xterm.js)
- 客户端和服务器端支持 SSL 加密通信(基于 OpenSSL)
- 支持配置用户名密码认证(Basic Auth)
- 支持使用 lrzsz 传输文件(ZMODEM 协议)
- 可以执行任意命令行程序,不只是 bash 之类的 shell
- 跨平台支持,可以在 Linux、macOS、OpenWrt 下运行
截图里执行的命令是 bash,如果想要登陆后才能使用可以执行 login,这样网页上就和 ssh 登陆一样了。
ttyd 还可以有很多有趣的玩法,例如:
-
如果你想给网页上的每个人开个 docker 容器玩,可以用下面的命令启动 ttyd,这样每次打开网页都会进入 docker 容器内的 shell:
ttyd docker run -it --rm ubuntu bash
-
如果你想一打开网页就能直接 ssh 到另一个机器上(省去进入 bash 再执行 ssh),可以这样启动 ttyd:
ttyd ssh root@192.168.1.1
-
你甚至还可以直接执行一个 vim,这样打开进入网页后就只有一个 vim 程序可以操作:
ttyd vim
评论