ttyd 1.3.0 发布了。这个版本添加了一些新的功能还有一些 bug 修复,升级了网页终端模拟器,前端终端模拟器性能有了很大的提升。
该版本主要更新内容如下:
--index
选项: 自定义 index.html
文件路径--browser
选项: 启动 ttyd 后在系统默认浏览器里打开终端--signal-list
选项: 列出支持的停止进程信号2.3.1
,大幅提升性能小提示:如果你没有使用 oh-my-zsh 作为 shell ,还可以在启动 ttyd 的时候添加
-t useFlowControl=true
参数开启 xterm.js 的 流量控制功能,这样可以减轻程序有大量输出时前端的卡顿,此功能和 oh-my-zsh 的快捷键冲突,所以默认没有开启。
在这中间还有个 1.2.1 版本更新没有在这里发布,这个版本添加了 SSL 客户端认证支持(应 /t/320488 用户要求)。
ttyd 是一个 C 语言编写的命令行程序,可以把任意命令行程序分享到网页上操作,可以看做是个网页版的远程终端,支持 Linux 、 macOS 系统,还可以运行在 OpenWrt 之类的嵌入式系统上。
项目主页:https://tsl0922.github.io/ttyd
更新历史:
1
abmin521 2017-02-20 22:40:24 +08:00
非常好用 感谢
|
2
ik 2017-02-20 23:34:35 +08:00 via iPhone
收藏
|
3
imxieke 2017-02-21 00:42:19 +08:00 via Android
😎 居然不使用 Coding Pages 不清真啊
|
4
zhs227 2017-02-21 01:03:49 +08:00
一直在用着,共享只读控制台给别人看。非常方便。
提两个建议供参考: 1. 登进去以后字母顶着浏览器最左边,看上去太挤,最好能留几个像素的空白出来。 2. 能否支持 HTOP ,类型 google Authenticator 那种二次鉴权。有时候需要在网上共享帐号觉得不是很安全,又懒得上 SSL 。 |
5
wwqgtxx 2017-02-21 08:01:25 +08:00
试了一下,发现 ttyd 对 htop 这种应用兼容性很不友好呀,严重的内容错位变形呀
|
6
tsl0922 OP @wwqgtxx 前端的终端模拟器对部分特殊 unicode 字符的支持还不是很完美,这个暂时只能等上游 xterm.js 修复了。
|
8
tsl0922 OP @wwqgtxx 应该是空格导致的,我所说的 unicode 字符问题是指类似这个 issue 里的: https://github.com/sourcelair/xterm.js/issues/467 ,你这里也不排除可能和字体有关系,如果有空的话可以去 https://github.com/tsl0922/ttyd/issues 发 issue 附上截图、系统环境和浏览器环境我看看。
|
9
tsl0922 OP 应该是空格导致的 > 应该不是空格导致的
|
10
tsl0922 OP |
11
imxieke 2017-02-21 10:25:30 +08:00
@tsl0922 #10 我这边出了点小问题
使用 ttyd -p 5000 bash -x login 但会提示:`/bin/login: /bin/login: cannot execute binary file` 但是不使用验证或者 `--credential username:passwd` 是没问题的 我在本地通过 login 切换没毛病: ``` login imxieke (刚刚创建的用户) Password: Welcome to Ubuntu 14.04.5 LTS (GNU/Linux 4.4.0-57-generic x86_64) * Documentation: https://help.ubuntu.com/ 26 packages can be updated. 18 updates are security updates. Your Hardware Enablement Stack (HWE) is supported until April 2019. *** System restart required *** The programs included with the Ubuntu system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright. Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. The programs included with the Ubuntu system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright. Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. No directory, logging in with HOME=/ ``` 环境为 Daocloud 提供的 Ubuntu 14.04.5 LTS |
12
sorcerer 2017-02-21 10:29:54 +08:00 via iPhone
这个不错啊,可以不用开终端了
|
13
83f420984 2017-02-21 10:31:34 +08:00 via Android
能不能直接编译好几个平台的文件?比如 ar71x 、 x86 的,之前想在 ar71x 上编译 15.05 的包,始终报错
|
14
tsl0922 OP @83f420984 把报错信息贴到 github issues 里我看看? ttyd 已经在官方 openwrt 源里了,直接使用最新的 packages feed 就可以编译。
|
15
tsl0922 OP @imxieke 我在 mac 下直接执行 bash -x login 也报和你一样的错误。为什么不直接 执行 login 呢?这样: ttyd -p 5000 login
|
16
imxieke 2017-02-21 11:29:48 +08:00
我开始不是太明白咋用的 把 bash 和 login 一起使用了 以为不使用 bash 便不会进入 命令界面
刚刚突然想到 login 之后会自动进入 命令界面 |
17
tsl0922 OP @zhs227 不知道你想要的效果是什么样的? Google Authenticator 那种是 TOTP 算法,这里做两步认证好像没什么太大的意义,但可以考虑做基于 TOTP 的动态密码,每个密码有一定时间的有效期( ttyd 没有 session )。
|
18
zhs227 2017-02-22 02:05:04 +08:00
@tsl0922 我说错了,应该是 TOTP 。用一个指定的 secretKey 生成一个 otpauth://totp/Example:[email protected]?secret=JBSWY3DPEHPK3PXP&issuer=Example 的二维码,导入 Google Authenticator 或者是 Authy ,在登录页面认证动态密码。有动态密码可以考虑不用基本认证密码,增强 root 的安全性。要不有很多服务器要记好多密码
只是个建议,也许不是很有用,个人遇到的情况是服务器较多的时候 TOTP 动态密码比每个服务器使用相同密码要安全 |
19
fhefh 2017-02-22 19:26:30 +08:00
nice mark
|
20
tsl0922 OP @zhs227 动态密码在个场景下感觉没那么大的需求,目前不打算做。另外,已经给页面添加 padding ,看起来应该会好些了。
|