
tsl0922/ttydttyd 是一款简单的命令行工具,用于通过Web浏览器共享终端会话。它允许用户在Web界面中访问和操作远程终端,支持标准终端功能及扩展特性,适用于远程协助、终端共享、Web化终端访问等场景。
bash# 运行ttyd并共享bash终端,映射端口7681 docker run -d -p 7681:7681 --name ttyd ttyd ttyd bash
访问 http://<主机IP>:7681 即可打开Web终端。
bash# 设置用户名密码认证(格式:username:password) docker run -d -p 7681:7681 --name ttyd ttyd ttyd -c admin:password123 bash
bash# 挂载本地SSL证书,启用HTTPS docker run -d -p 7681:7681 \ -v /path/to/ssl:/ssl \ --name ttyd ttyd ttyd \ -S -C /ssl/cert.pem -K /ssl/key.pem \ bash
bash# 仅允许查看终端,禁止写入操作 docker run -d -p 7681:7681 --name ttyd ttyd ttyd -R bash
yamlversion: '3' services: ttyd: image: ttyd container_name: ttyd ports: - "7681:7681" # 映射Web访问端口 command: ttyd -c admin:SecurePass123 -m 5 bash # 启用认证,限制最大5个客户端 restart: always # 可选:挂载SSL证书(启用HTTPS时) # volumes: # - ./ssl:/ssl # command: ttyd -S -C /ssl/cert.pem -K /ssl/key.pem -c admin:SecurePass123 bash
| 参数 | 缩写 | 描述 | 默认值 |
|---|---|---|---|
--port | -p | 监听端口(使用0表示随机端口) | 7681 |
--interface | -i | 绑定网络接口(如eth0)或UNIX域套接字路径(如/var/run/ttyd.sock) | 所有网络接口 |
--credential | -c | 基本认证凭据(格式:username:password) | 无(不启用认证) |
--uid | -u | 运行命令的用户ID | 当前用户ID |
--gid | -g | 运行命令的组ID | 当前用户组ID |
--signal | -s | 退出时发送给命令的信号(如9表示SIGKILL) | 1(SIGHUP) |
--url-arg | -a | 允许客户端通过URL传递命令行参数(如?arg=foo) | 禁用 |
--readonly | -R | 禁止客户端写入终端(只读模式) | 禁用 |
--client-option | -t | 向客户端发送自定义选项(格式:key=value,可重复指定) | 无 |
--terminal-type | -T | 终端类型标识 | xterm-256color |
--check-origin | -O | 禁止跨域WebSocket连接 | 允许跨域 |
--max-clients | -m | 最大客户端连接数(0表示无限制) | 0 |
--once | -o | 仅接受一个客户端,断开连接后退出 | 禁用 |
--browser | -B | 启动后自动打开系统默认浏览器 | 禁用 |
--index | -I | 自定义HTML主页路径 | 内置默认页面 |
--base-path | -b | 反向代理基础路径(如/ttyd) | / |
--ping-interval | -P | WebSocket心跳检测间隔(秒) | 300 |
--ipv6 | -6 | 启用IPv6支持 | 禁用 |
--ssl | -S | 启用SSL加密 | 禁用 |
--ssl-cert | -C | SSL证书文件路径(启用SSL时必填) | 无 |
--ssl-key | -K | SSL私钥文件路径(启用SSL时必填) | 无 |
--ssl-ca | -A | 客户端证书验证CA文件路径 | 无 |
--debug | -d | 设置日志级别(数值越高日志越详细) | 7 |
--version | -v | 显示版本信息并退出 | - |
--help | -h | 显示帮助信息并退出 | - |
支持现代浏览器,具体兼容性取决于Xterm.js引擎,包括:
特别感谢JetBrains为该项目提供开源许可支持。
更多信息请访问 ttyd官方仓库。
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务