其他分享
首页 > 其他分享> > ttyd 终端分享工具- 简书

ttyd 终端分享工具- 简书

作者:互联网

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

功能特色
C 语言编写,在速度和内存占用上相比其它实现有一些优势
网页和服务器端使用 Websocket 通信(基于 libwebsockets)
前端使用 Chromium hterm 实现终端模拟,功能完备(已换为对中文输入更友好的 Xterm.js)
客户端和服务器端支持 SSL 加密通信(基于 OpenSSL)
支持配置用户名密码认证(Basic Auth)
支持使用lrzsz 传输文件(ZMODEM 协议)
可以执行任意命令行程序,不只是 bash 之类的 shell
跨平台支持,可以在 Linux、macOS、OpenWrt 、Windows下运行
image.png
安装说明
Liunx/Centos/Debian/Ubuntu
https://github.com/tsl0922/ttyd/releases中根据系统配置下载对应已编译文件

#根据系统配置下载
wget -O ttyd https://github.com/tsl0922/ttyd/releases/download/1.6.3/ttyd.x86_64

#将文件名重命名ttyd(可不改)
mv ./ttyd.x86_64 ttyd

#添加执行权限
chmod +x ttyd
#或者
#chmod u+x ttyd

#移动目录(该移动后可全局使用)
mv ttyd /usr/sbin

#查看版本号确认安装成功
ttyd -v
Windows
该ConPTY在主加入现在的支持,你可以下载一个预编译的二进制从最近的行动构建win10(1809或更高版本)。对于win10 1809下的windows版本,您仍然可以使用下面的说明使用MSYS2构建ttyd

MSYS2构建
ttyd 可以在 Windows 上使用MSYS2构建。构建指令从 master 分支中删除,请参考旧版本:https : //github.com/tsl0922/ttyd/tree/1.5.2/msys2。

注意:由于pty 不兼容问题,本机 Windows 控制台程序可能无法正常工作。作为一种变通方法,您可以使用winpty作为一个包装调用Windows程序,如:ttyd winpty cmd。

OpenWrt
opkg install ttyd
MacOS
先安装 homebrew,使用homebrew安装

brew install ttyd
使用说明
ttyd命令大全
ttyd is a tool for sharing terminal over the web

USAGE:
    ttyd [options] <command> [<arguments...>]

VERSION:
    1.6.3

OPTIONS:
    -p, --port              端口监听 (默认: 7681, 使用 `0` 即随机生成端口)
    -i, --interface         网络接口绑定(例如:eth0),或 UNIX 指定socket路径(例如:/var/run/ttyd.sock)
    -c, --credential        基本身份验证凭证 (格式: 用户名:密码)
    -u, --uid               用User id运行
    -g, --gid               用Group id运行
    -s, --signal            退出时发送给命令的信号 (默认: 1, SIGHUP)
    -a, --url-arg           Allow client to send command line arguments in URL (eg: http://localhost:7681?arg=foo&arg=bar)
    -R, --readonly          Do not allow clients to write to the TTY
    -t, --client-option     Send option to client (format: key=value), repeat to add more options
    -T, --terminal-type     Terminal type to report, default: xterm-256color
    -O, --check-origin      Do not allow websocket connection from different origin
    -m, --max-clients       Maximum clients to support (default: 0, no limit)
    -o, --once              Accept only one client and exit on disconnection
    -B, --browser           Open terminal with the default system browser
    -I, --index             Custom index.html path
    -b, --base-path         Expected base path for requests coming from a reverse proxy (eg: /mounted/here, max length: 128)
    -P, --ping-interval     Websocket ping 间隔(秒) (默认: 300)
    -6, --ipv6              IPv6支持开关
    -S, --ssl               SSL支持开关
    -C, --ssl-cert          SSL 证书文件地址
    -K, --ssl-key           SSL key 文件地址
    -A, --ssl-ca            客户端证书验证SSL CA文件地址
    -d, --debug             设置日志级别 (默认级别: 7)
    -v, --version           查看版本编号
    -h, --help              帮助
ttyd启动
#在ttyd文件目录下执行
nohup ./ttyd -p 888 bash > ./ttyd.log &

#mv ttyd /usr/sbin有配置环境
ttyd -p 888 bash
ttyd关闭
ps -ef| grep ttyd
kill对应的进程即可

作者:Mr_ILIKELIKE苏Su
链接:https://www.jianshu.com/p/e495345ba40d
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

 

标签:ttyd,简书,ssl,--,SSL,Windows,终端,使用
来源: https://www.cnblogs.com/phoenix-light/p/16361645.html