终端分享工具ttyd

终端分享工具ttyd

  • 开源协议:MIT
  • 操作系统: Windows Linux OS X
  • 开发语言:C/C++
  • 项目所有者:tsl0922
  • 收录时间:2016-09-18
  • 分享:
编辑评级
3

项目详细介绍

ttyd 是一个 C 语言编写的命令行程序,可以把任意命令行程序分享到网页上操作,可以看做是个网页版的远程终端,支持 Linux、macOS、FreeBSD系统,还可以运行在 OpenWrt/LEDE 之类的嵌入式系统上。

功能特色:

  • C 语言编写,在速度和内存占用上相比其它实现有一些优势
  • 网页和服务器端使用 Websocket 通信(基于 libwebsockets)
  • 前端使用 chromium hterm 实现终端模拟,功能完备(已换为对中文输入更友好的 Xterm.js)
  • 客户端和服务器端支持 SSL 加密通信(基于 OpenSSL)
  • 支持配置用户名密码认证(Basic Auth)
  • 可以执行任意命令行程序,不只是 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

标签:ttyd