@hyzyn/dsh-tty 0.10.2 → 0.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +19 -1
- package/client.js +40 -40
- package/lib/index.d.ts +11 -0
- package/lib/index.js +111 -1
- package/lib/index.js.map +1 -1
- package/lib/probe.d.ts +42 -0
- package/lib/probe.js +274 -0
- package/lib/probe.js.map +1 -0
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -21,7 +21,10 @@ xterm.js 全交互终端(node-pty 真实 PTY,WebGL 渲染器加速),支
|
|
|
21
21
|
面板头部压缩为「标签行 + SSH 连接栏」两行;0.10.0 起支持**会话持久化
|
|
22
22
|
(tmux)**——「持久终端」标签由 tmux server(专用 socket)托管,断线保活
|
|
23
23
|
超时、甚至宿主重启后重开标签即按名接回原现场(正在跑的程序原样存活),
|
|
24
|
-
SSH 侧同理(远程 tmux
|
|
24
|
+
SSH 侧同理(远程 tmux);0.11.0 起支持 **SSH 连接测试**——设置卡片连接簿
|
|
25
|
+
条目行内「测试」与 SSH 连接对话框「试连」,按 TCP → 主机密钥(TOFU)→
|
|
26
|
+
认证 逐段诊断连接(见下文 SSH 连接);SFTP 传输增加**可视化进度条**
|
|
27
|
+
(上传/下载百分比,服务端直传为不定进度脉冲,见下文 SFTP)。
|
|
25
28
|
|
|
26
29
|

|
|
27
30
|
|
|
@@ -148,6 +151,11 @@ subsystem,宿主半体 `src/sftp.ts`):
|
|
|
148
151
|
用 mkdir parents 逐级补齐)、**下载**(POST → 浏览器 Blob
|
|
149
152
|
→ `<a download>`)、**新建目录**、**重命名**(行内编辑器)、**删除**
|
|
150
153
|
(🗑 二次点击确认,目录带 `recursive` 整目录删除);
|
|
154
|
+
- **传输进度条(0.11.0)**:底部状态行右侧新增细进度条 + 百分比——上传按
|
|
155
|
+
XHR 流式进度(多文件带 `i/n · 文件名` 标签);下载改为流式读
|
|
156
|
+
`response.body`,按响应 `content-length` 实时算百分比(无长度时降级为已传
|
|
157
|
+
字节文本);双栏 `⇨/⇦` 服务端直传(字节不经过浏览器、无长度可分)显示
|
|
158
|
+
不定进度脉冲 + 完成/失败着色;
|
|
151
159
|
- **连接管理**:懒连接池——首次操作才建 SSH 连接,空闲 120 秒自动回收,
|
|
152
160
|
断开后下次操作自动重连;连接簿条目在每次(重)连接时实时解析(改密码
|
|
153
161
|
后自动用新凭证);TOFU 与终端会话/隧道共用同一份 `hostKeys` 钉扎,指纹
|
|
@@ -262,6 +270,15 @@ tmux server(专用 socket `dsh-tty`,与用户自己的 tmux 完全隔离)
|
|
|
262
270
|
导入」(0.4.1)**:一键解析 `~/.ssh/known_hosts` 把已有主机指纹批量
|
|
263
271
|
预填充(连接簿里的主机名还会用于还原 `|1|` hashed 条目,非默认端口按
|
|
264
272
|
`[host]:port` 解析);
|
|
273
|
+
- **连接测试(0.11.0)**:设置卡片连接簿条目行内「测试」按钮,SSH 连接
|
|
274
|
+
对话框另有「试连」按钮——两者都只做**链路诊断**(不建会话、不占
|
|
275
|
+
`maxSessions` 名额、不开 shell):先 TCP 预检(DNS + 建连,失败分类为
|
|
276
|
+
拒绝/超时/DNS/不可达),再 ssh2 握手做主机密钥 TOFU 比对,最后完成
|
|
277
|
+
认证。结果逐段展示:成功显示耗时与「主机密钥匹配 / 已记录」;失败给出
|
|
278
|
+
具体阶段原因(如「认证被拒绝:所有认证方式均失败」「主机密钥不匹配」
|
|
279
|
+
附已记录与本次指纹 + 重置指引)。**连接簿条目「测试」** 完整 TOFU:首测
|
|
280
|
+
即把新指纹记录进 `hostKeys`(与真实连接同语义);**对话框「试连」** 只
|
|
281
|
+
比对不落盘(草稿未入库不建立钉扎)。
|
|
265
282
|
- **计入 `maxSessions` 并发上限**;关断与本地会话一致:标签 ✕ / `kill`
|
|
266
283
|
帧关闭 ssh2 channel,`exit` 帧照常带回退出码 / 信号。
|
|
267
284
|
|
|
@@ -284,6 +301,7 @@ tmux server(专用 socket `dsh-tty`,与用户自己的 tmux 完全隔离)
|
|
|
284
301
|
| `sftpStyle` | `dialog` | SFTP 文件浏览界面风格:`dialog` 单窗体(远程目录 + 上传/下载/拖拽)/ `dual` 双栏(左本机 / 右远程,行内 `⇨/⇦` 宿主服务端直传);重新打开 SFTP 生效 |
|
|
285
302
|
| `persistence` | `off` | 会话持久化:`off` 会话随宿主生死(默认);`tmux` 开启后**所有新开的标签默认由 tmux server 托管**、可跨宿主重启恢复(需本机/远程安装 tmux);SSH 对话框可对单次连接取消 |
|
|
286
303
|
| `endOnPageClose` | `false` | 页面(最后一个连接)断开且保活期结束时,是否连 tmux 持久会话一起结束。默认 `false` = 留存可恢复;`true` = 页面关了就不保活(保活期内刷新仍可无缝接回) |
|
|
304
|
+
| `sftpLimits` | `{maxDownloadMb: 1024, maxUploadMb: 2048, maxUploadFiles: 1000}` | SFTP 传输限制(浏览器侧保护,均为 **0 = 不限**):`maxDownloadMb` 单文件下载上限(超限中止并提示用双栏 `⇦`/终端 scp)、`maxUploadMb` 单文件上传上限、`maxUploadFiles` 一次批量/拖拽上传的文件数上限;大文件请走双栏 `⇨/⇦` 服务端直传(字节不经过浏览器,不占内存) |
|
|
287
305
|
|
|
288
306
|
## 帧协议(/api/dsh-tty/ws,JSON 文本帧;v3 = 单连接多会话 + 断线重连)
|
|
289
307
|
|