@hyzyn/dsh-tty 0.24.0 → 0.26.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/lib/ssh.d.ts CHANGED
@@ -87,6 +87,19 @@ export interface SshSpec {
87
87
  password?: string;
88
88
  /** OpenSSH agent forwarding:远程可用本地 ssh-agent 的钥匙(git clone 等)。 */
89
89
  agentForward?: boolean;
90
+ /**
91
+ * TOFU 定位别名(OpenSSH `HostKeyAlias` 语义)。
92
+ *
93
+ * 为什么需要它:known_hosts 的条目按**连接地址**定位,而同一个真实主机常常经不同地址
94
+ * 触达——跳板机后面直接写内网 IP、或经端口转发落在 `127.0.0.1:2222`。那时「同一把钥匙、
95
+ * 不同记录」会让每次切换地址都判成**指纹变更**(假 MITM 告警并拒绝连接),而用户的
96
+ * known_hosts 里本来就只有一条(`HostKeyAlias` 正是 OpenSSH 为这种场景提供的开关)。
97
+ *
98
+ * 语义与 OpenSSH 对齐:**只影响主机密钥的存储/比对键**,不改连接地址、不改展示串;
99
+ * 缺省(空串)= 仍按 `host` 定位,行为与从前完全一致。端口仍参与键
100
+ * (`别名:port`),因为同一别名下不同端口可能真是不同服务端。
101
+ */
102
+ hostKeyAlias?: string;
90
103
  /** 经跳板机连接(ProxyJump 语义,**单跳**);缺省 = 直连。 */
91
104
  jump?: SshJumpSpec;
92
105
  /**
@@ -146,7 +159,7 @@ export interface SshSpawnOptions {
146
159
  hostKeyStore?: HostKeyStore;
147
160
  /**
148
161
  * tmux 会话持久化(0.10.0):远程以 `exec tmux new-session -A -s <name>` 开
149
- * pty channel(专用 socket dsh-tty),会话托管在远程 tmux server 上,断线/
162
+ * pty channel(专用 socket,按本机 profile 区分,见 tmuxSocketName),会话托管在远程 tmux server 上,断线/
150
163
  * 宿主重启后按同名接回。远程无 tmux 时降级普通 shell channel,
151
164
  * startupNotice 带提示。name 须已过 sanitizePersistName(安全字符集)。
152
165
  */
@@ -226,7 +239,24 @@ export interface SshLogger {
226
239
  info(msg: string): void;
227
240
  warn(msg: string): void;
228
241
  }
229
- /** TOFU 主机指纹策略(hostVerifier 接线);返回的 mismatchMessage() 供连接错误路径取人类可读拒绝原因。 */
242
+ /**
243
+ * 记录/比对主机密钥时用的**键**(OpenSSH `HostKeyAlias` 语义)。
244
+ *
245
+ * 抽成一处(而不是在 terminal / SFTP / 隧道 / 探针四个连接点各写一遍)的理由与
246
+ * `prepareSshConnect` 相同:四个点必须用**同一个键**,否则「终端里记下的指纹、SFTP 不认」
247
+ * 这种半吊子状态就是必然。别名只在非空时生效,且**不改连接地址**——它仅决定这条连接
248
+ * 的指纹去哪张记录里查/写。
249
+ *
250
+ * `port` 与原实现一致:仍按 `spec.port ?? 22`(别名不参与端口的推导)。
251
+ */
252
+ export declare function hostKeyIdentity(spec: SshSpec): {
253
+ host: string;
254
+ port: number;
255
+ aliased: boolean;
256
+ };
257
+ /**
258
+ * TOFU 主机指纹策略(hostVerifier 接线);返回的 mismatchMessage() 供连接错误路径取人类可读拒绝原因。
259
+ */
230
260
  export declare function applyHostKeyPolicy(options: {
231
261
  connectConfig: ConnectConfig;
232
262
  spec: SshSpec;
package/lib/ssh.js CHANGED
@@ -25,7 +25,7 @@ import { homedir } from 'node:os';
25
25
  import { join } from 'node:path';
26
26
  import { Duplex, PassThrough } from 'node:stream';
27
27
  import { StringDecoder } from 'node:string_decoder';
28
- import { TMUX_SOCKET } from './tmux.js';
28
+ import { tmuxSocketName } from './tmux.js';
29
29
  import { shSingleQuote } from './shell-integration.js';
30
30
  import { StatsLineBuffer } from './stats.js';
31
31
  let credentialsProvider = null;
@@ -196,26 +196,46 @@ export async function buildConnectConfig(spec) {
196
196
  }
197
197
  return base;
198
198
  }
199
- /** TOFU 主机指纹策略(hostVerifier 接线);返回的 mismatchMessage() 供连接错误路径取人类可读拒绝原因。 */
199
+ /**
200
+ * 记录/比对主机密钥时用的**键**(OpenSSH `HostKeyAlias` 语义)。
201
+ *
202
+ * 抽成一处(而不是在 terminal / SFTP / 隧道 / 探针四个连接点各写一遍)的理由与
203
+ * `prepareSshConnect` 相同:四个点必须用**同一个键**,否则「终端里记下的指纹、SFTP 不认」
204
+ * 这种半吊子状态就是必然。别名只在非空时生效,且**不改连接地址**——它仅决定这条连接
205
+ * 的指纹去哪张记录里查/写。
206
+ *
207
+ * `port` 与原实现一致:仍按 `spec.port ?? 22`(别名不参与端口的推导)。
208
+ */
209
+ export function hostKeyIdentity(spec) {
210
+ const host = spec.host.trim();
211
+ const alias = typeof spec.hostKeyAlias === 'string' ? spec.hostKeyAlias.trim() : '';
212
+ return { host: alias === '' ? host : alias, port: spec.port ?? 22, aliased: alias !== '' && alias !== host };
213
+ }
214
+ /**
215
+ * TOFU 主机指纹策略(hostVerifier 接线);返回的 mismatchMessage() 供连接错误路径取人类可读拒绝原因。
216
+ */
200
217
  export function applyHostKeyPolicy(options) {
201
218
  const { connectConfig, spec, store, logger, target } = options;
202
- const port = spec.port ?? 22;
219
+ const { host: keyHost, port } = hostKeyIdentity(spec);
220
+ const aliased = keyHost !== spec.host.trim();
221
+ /** 记录/比对的键带别名时,文案里点明「按别名 <名> 定位」——否则用户会去删错记录。 */
222
+ const where = aliased ? `${target}(HostKeyAlias ${keyHost})` : target;
203
223
  let hostKeyMismatch = null;
204
224
  connectConfig.hostVerifier = (hash) => {
205
- const known = store?.get(spec.host, port);
225
+ const known = store?.get(keyHost, port);
206
226
  if (known === undefined || known.length === 0) {
207
- store?.record(spec.host, port, hash);
208
- logger?.info(`[dsh-tty] ssh ${target} 首次连接,已记录 host key 指纹 sha256:${hash}(TOFU)`);
227
+ store?.record(keyHost, port, hash);
228
+ logger?.info(`[dsh-tty] ssh ${where} 首次连接,已记录 host key 指纹 sha256:${hash}(TOFU)`);
209
229
  return true;
210
230
  }
211
231
  if (known.includes(hash)) {
212
- logger?.info(`[dsh-tty] ssh ${target} host key 指纹匹配(sha256:${hash},该主机共记录 ${String(known.length)} 把钥匙)`);
232
+ logger?.info(`[dsh-tty] ssh ${where} host key 指纹匹配(sha256:${hash},该主机共记录 ${String(known.length)} 把钥匙)`);
213
233
  return true;
214
234
  }
215
235
  const shown = known.slice(0, 3).map((f) => `sha256:${f}`).join(' / ');
216
236
  const more = known.length > 3 ? ` 等 ${String(known.length)} 把` : '';
217
237
  hostKeyMismatch =
218
- `SSH 主机密钥指纹变更:${target} 已记录 ${shown}${more},本次为 sha256:${hash}。` +
238
+ `SSH 主机密钥指纹变更:${where} 已记录 ${shown}${more},本次为 sha256:${hash}。` +
219
239
  '可能是主机重装或换钥匙,也可能是中间人(MITM)冒充;确认安全后,到 插件配置 → 终端面板 → SSH 主机密钥记录 删除该主机再重连。';
220
240
  logger?.warn(`[dsh-tty] ${hostKeyMismatch}`);
221
241
  return false;
@@ -1016,7 +1036,7 @@ export async function spawnSsh(spec, options) {
1016
1036
  // 链式 set-option 幂等重放(attach 已有 server 时也生效);首 pane 在
1017
1037
  // 选项生效前创建,default-terminal 用 tmux 自身默认(README 已知限制)
1018
1038
  const cmd = [
1019
- `exec tmux -L ${TMUX_SOCKET} -f /dev/null new-session -A -s ${shSingleQuote(options.persist?.name ?? '')}`,
1039
+ `exec tmux -L ${tmuxSocketName()} -f /dev/null new-session -A -s ${shSingleQuote(options.persist?.name ?? '')}`,
1020
1040
  "';' set-option -g status off",
1021
1041
  "';' set-option -g history-limit 20000",
1022
1042
  "';' set-option -ga terminal-overrides ,*:RGB",
@@ -1167,8 +1187,8 @@ export async function spawnSsh(spec, options) {
1167
1187
  // refresh-client 一条 exec 管道完成;resolve 时机 = 远程命令跑完
1168
1188
  const tmuxRefresh = tmuxUsed && options.persist !== undefined
1169
1189
  ? () => new Promise((resolve) => {
1170
- const cmd = `tmux -L ${TMUX_SOCKET} list-clients -t ${shSingleQuote(options.persist?.name ?? '')} -F '#{client_name}' | ` +
1171
- `while IFS= read -r c; do tmux -L ${TMUX_SOCKET} refresh-client -t "$c"; done`;
1190
+ const cmd = `tmux -L ${tmuxSocketName()} list-clients -t ${shSingleQuote(options.persist?.name ?? '')} -F '#{client_name}' | ` +
1191
+ `while IFS= read -r c; do tmux -L ${tmuxSocketName()} refresh-client -t "$c"; done`;
1172
1192
  try {
1173
1193
  conn.exec(cmd, (error, stream) => {
1174
1194
  if (error !== undefined && error !== null) {
@@ -1190,7 +1210,7 @@ export async function spawnSsh(spec, options) {
1190
1210
  const tmuxTeardown = tmuxUsed && options.persist !== undefined
1191
1211
  ? () => new Promise((resolve) => {
1192
1212
  try {
1193
- conn.exec(`tmux -L ${TMUX_SOCKET} kill-session -t ${shSingleQuote(options.persist?.name ?? '')}`, (error, stream) => {
1213
+ conn.exec(`tmux -L ${tmuxSocketName()} kill-session -t ${shSingleQuote(options.persist?.name ?? '')}`, (error, stream) => {
1194
1214
  if (error !== undefined && error !== null) {
1195
1215
  resolve();
1196
1216
  return;
package/lib/ssh.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"ssh.js","sourceRoot":"","sources":["../src/ssh.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ssh.js","sourceRoot":"","sources":["../src/ssh.ts"],"names":[],"mappings":"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"}
package/lib/tmux.d.ts CHANGED
@@ -1,6 +1,11 @@
1
1
  import type { ShellSpawnPlan } from './shell-integration.js';
2
- /** 专用 tmux socket 名:与用户自己的 tmux server 完全隔离。 */
3
- export declare const TMUX_SOCKET = "dsh-tty";
2
+ import { tmuxSocketName } from './shell-integration.js';
3
+ /**
4
+ * 专用 tmux socket 名(`tmux -L <名>`)——**按 profile 区分**,见
5
+ * `shell-integration.ts` 的 `tmuxSocketName()`(住那边是为了让 shell 桩也能用同一份,
6
+ * 避免两处各算一遍必然漂)。这里只做转出,方便 tmux 的调用点就近引用。
7
+ */
8
+ export { tmuxSocketName };
4
9
  /** 探测结果:available = tmux 存在;passthrough = 版本 ≥3.3(DCS 信封可转发)。 */
5
10
  export interface TmuxProbe {
6
11
  available: boolean;
@@ -62,7 +67,12 @@ export declare function buildTmuxSpawnPlan(options: {
62
67
  colorTerm: string;
63
68
  tmuxName: string;
64
69
  }): ShellSpawnPlan;
65
- /** kill 帧的 tmux 侧收尾:kill-session(不存在/已死同样 resolve,错误吞掉)。 */
70
+ /**
71
+ * kill 帧的 tmux 侧收尾:kill-session(不存在/已死同样 resolve,错误吞掉)。
72
+ *
73
+ * 走 `tmuxExec` 注入缝而不是直连 `execFile`(0.25.0 统一):否则这条路径在测试里既
74
+ * 看不见(拿不到实参、无法断言 socket 名)也躲不开(会真的去调机器上的 tmux)。
75
+ */
66
76
  export declare function killTmuxSession(tmuxName: string): Promise<void>;
67
77
  /**
68
78
  * 专用 socket 上现存的 tmux 会话名(sessions 帧的 tmux 字段)。
@@ -81,4 +91,3 @@ export declare function listTmuxSessions(): Promise<string[] | undefined>;
81
91
  * 失败静默吞掉(极端情况下用户敲一次键 tmux 也会重画)。
82
92
  */
83
93
  export declare function refreshTmuxClient(tmuxName: string): Promise<void>;
84
- export {};
package/lib/tmux.js CHANGED
@@ -3,9 +3,10 @@
3
3
  *
4
4
  * 目标:给「需要活得比宿主久」的工作(dev server、build、训练任务)一个显式
5
5
  * 逃生门。默认安全模型不变 —— 会话仍随宿主生死(内核级 PTY 清理);持久标签
6
- * 只是把会话状态委托给 tmux server(专用 socket `dsh-tty`,与用户自己的 tmux
7
- * 完全隔离)托管:浏览器断线、保活窗口超时、甚至宿主重启后,重开标签用同一
8
- * 持久名 `new-session -A` 即可接回原现场(正在跑的程序、pane 状态原样恢复)。
6
+ * 只是把会话状态委托给 tmux server(专用 socket,与用户自己的 tmux 完全隔离)托管:
7
+ * 浏览器断线、保活窗口超时、甚至宿主重启后,重开标签用同一持久名 `new-session -A`
8
+ * 即可接回原现场(正在跑的程序、pane 状态原样恢复)。socket 名按 profile 区分
9
+ * (`tmuxSocketName()`,tty D60),未设 profile 时是历史名 `dsh-tty`。
9
10
  *
10
11
  * 职责:
11
12
  * 1. probeTmux() —— 探测 tmux 可用性与版本(≥3.3 才支持 DCS
@@ -25,11 +26,15 @@
25
26
  * 专用 socket 让这些残留对用户的 tmux 世界完全不可见(README 已知限制)。
26
27
  */
27
28
  import { execFile } from 'node:child_process';
28
- import { buildTmuxInnerLauncher, pluginRuntimeDir, shSingleQuote } from './shell-integration.js';
29
+ import { buildTmuxInnerLauncher, pluginRuntimeDir, shSingleQuote, tmuxSocketName } from './shell-integration.js';
29
30
  import { chmodSync, mkdirSync, readFileSync, renameSync, writeFileSync } from 'node:fs';
30
31
  import { dirname, join } from 'node:path';
31
- /** 专用 tmux socket 名:与用户自己的 tmux server 完全隔离。 */
32
- export const TMUX_SOCKET = 'dsh-tty';
32
+ /**
33
+ * 专用 tmux socket 名(`tmux -L <名>`)——**按 profile 区分**,见
34
+ * `shell-integration.ts` 的 `tmuxSocketName()`(住那边是为了让 shell 桩也能用同一份,
35
+ * 避免两处各算一遍必然漂)。这里只做转出,方便 tmux 的调用点就近引用。
36
+ */
37
+ export { tmuxSocketName };
33
38
  let probeCache = null;
34
39
  const PROBE_TTL_MS = 30_000;
35
40
  /**
@@ -134,7 +139,7 @@ function writeIfChanged(file, content) {
134
139
  function buildTmuxConf(passthrough, runtimeDir) {
135
140
  const lines = [
136
141
  '# generated by dsh-tty(会话持久化)— 手改会在下次生成时被覆盖;',
137
- '# tmux server 仅首次启动读取本文件,改完需 `tmux -L ' + TMUX_SOCKET + ' kill-server` 或重启宿主生效',
142
+ '# tmux server 仅首次启动读取本文件,改完需 `tmux -L ' + tmuxSocketName() + ' kill-server` 或重启宿主生效',
138
143
  'set -g default-terminal "screen-256color"',
139
144
  'set -ga terminal-overrides ",*:RGB"',
140
145
  'set -g status off',
@@ -174,17 +179,20 @@ export function buildTmuxSpawnPlan(options) {
174
179
  const pre = `export TERM=${shSingleQuote(options.term)}; export COLORTERM=${shSingleQuote(options.colorTerm)};`;
175
180
  const exec = [
176
181
  'exec tmux',
177
- '-L', TMUX_SOCKET,
182
+ '-L', tmuxSocketName(),
178
183
  '-f', shSingleQuote(join(runtimeDir, 'tmux.conf')),
179
184
  'new-session -A -s', shSingleQuote(options.tmuxName),
180
185
  ].join(' ');
181
186
  return { argv: [options.shell, '-c', `${pre} ${exec}`], env: {} };
182
187
  }
183
- /** kill 帧的 tmux 侧收尾:kill-session(不存在/已死同样 resolve,错误吞掉)。 */
188
+ /**
189
+ * kill 帧的 tmux 侧收尾:kill-session(不存在/已死同样 resolve,错误吞掉)。
190
+ *
191
+ * 走 `tmuxExec` 注入缝而不是直连 `execFile`(0.25.0 统一):否则这条路径在测试里既
192
+ * 看不见(拿不到实参、无法断言 socket 名)也躲不开(会真的去调机器上的 tmux)。
193
+ */
184
194
  export function killTmuxSession(tmuxName) {
185
- return new Promise((resolve) => {
186
- execFile('tmux', ['-L', TMUX_SOCKET, 'kill-session', '-t', tmuxName], { timeout: 4000 }, () => resolve());
187
- });
195
+ return tmuxExec(['-L', tmuxSocketName(), 'kill-session', '-t', tmuxName], 4000).then(() => undefined);
188
196
  }
189
197
  /**
190
198
  * 专用 socket 上现存的 tmux 会话名(sessions 帧的 tmux 字段)。
@@ -195,7 +203,7 @@ export function killTmuxSession(tmuxName) {
195
203
  * (非零退出、ENOENT)落成 `[]`。
196
204
  */
197
205
  export function listTmuxSessions() {
198
- return tmuxExec(['-L', TMUX_SOCKET, 'list-sessions', '-F', '#{session_name}'], 4000).then(({ error, stdout }) => {
206
+ return tmuxExec(['-L', tmuxSocketName(), 'list-sessions', '-F', '#{session_name}'], 4000).then(({ error, stdout }) => {
199
207
  if (error !== undefined)
200
208
  return isProbeTimeout(error) ? undefined : [];
201
209
  return stdout.trim().split('\n').filter(Boolean);
@@ -210,7 +218,7 @@ export function listTmuxSessions() {
210
218
  */
211
219
  export function refreshTmuxClient(tmuxName) {
212
220
  return new Promise((resolve) => {
213
- execFile('tmux', ['-L', TMUX_SOCKET, 'list-clients', '-t', tmuxName, '-F', '#{client_name}'], { timeout: 4000 }, (error, stdout) => {
221
+ execFile('tmux', ['-L', tmuxSocketName(), 'list-clients', '-t', tmuxName, '-F', '#{client_name}'], { timeout: 4000 }, (error, stdout) => {
214
222
  if (error !== null && error !== undefined) {
215
223
  resolve();
216
224
  return;
@@ -221,7 +229,7 @@ export function refreshTmuxClient(tmuxName) {
221
229
  return;
222
230
  }
223
231
  void Promise.all(clients.map((client) => new Promise((done) => {
224
- execFile('tmux', ['-L', TMUX_SOCKET, 'refresh-client', '-t', client], { timeout: 4000 }, () => done());
232
+ execFile('tmux', ['-L', tmuxSocketName(), 'refresh-client', '-t', client], { timeout: 4000 }, () => done());
225
233
  }))).then(() => resolve());
226
234
  });
227
235
  });
package/lib/tmux.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"tmux.js","sourceRoot":"","sources":["../src/tmux.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tmux.js","sourceRoot":"","sources":["../src/tmux.ts"],"names":[],"mappings":"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"}
package/lib/tunnels.d.ts CHANGED
@@ -18,6 +18,63 @@ export interface TunnelSpec {
18
18
  enabled: boolean;
19
19
  }
20
20
  export type TunnelState = 'connecting' | 'active' | 'error' | 'stopped';
21
+ /**
22
+ * 一条 local 隧道的本地端口占用问题(tty D60 的前半:保存时就地探测,不等 listen 那一跳)。
23
+ *
24
+ * `kind` 是**机器可读**的判据(调用方按它决定文案,不做字符串匹配):
25
+ * - `duplicate`:**这一次提交的配置里**有另一条 local 隧道用同一个 `localPort`;
26
+ * 它必然失败(先立起来的那条占住端口,后一条 EADDRINUSE),但在配置层就能判死,
27
+ * 连试探都不必——而且这条**不区分 enabled**:停用的那条随时会被启用,两条都留着
28
+ * 就是一颗定时炸弹;
29
+ * - `in-use`:端口被**本进程之外**的东西占着(另一个 profile 的宿主、别的程序)。
30
+ * 这一条**不拒绝保存**(见下 `probeTunnelPorts` 的取舍)。
31
+ */
32
+ export interface TunnelPortIssue {
33
+ kind: 'duplicate' | 'in-use';
34
+ /** 涉及的两条隧道名(duplicate 用得上;in-use 只有一个) */
35
+ names: string[];
36
+ port: number;
37
+ message: string;
38
+ }
39
+ /** 本地端口占用的中文文案(`duplicate` / `in-use` 各一条,措辞与 tunnels.ts 的 EADDRINUSE 说明同源)。 */
40
+ export declare function tunnelPortIssueMessage(kind: TunnelPortIssue['kind'], names: string[], port: number): string;
41
+ /**
42
+ * **纯函数**:在待保存的隧道列表里找「同一个 localPort 被两条 local 隧道用」。
43
+ *
44
+ * 只判 local 方向——remote 方向的 `remotePort` 在**服务端**监听,不在本机资源里,
45
+ * 本机探测对它没有意义(而且它由 forwardIn 的结果定论,能自愈)。
46
+ * 返回按端口升序、每端口一条(文本渲染与测试都按这个顺序断言)。
47
+ */
48
+ export declare function findDuplicateLocalPorts(specs: readonly TunnelSpec[]): TunnelPortIssue[];
49
+ /**
50
+ * 探测「这个本地端口现在能不能绑」。
51
+ *
52
+ * 语义是**独占探测**(`listen` 成功即立刻 `close`),不是「连一下看看」——后者对
53
+ * 「端口空着但 DHCP/防火墙挡着」这类情形给不出结论,而我们要答的正是「bind 会不会
54
+ * 失败」。探测窗口是微秒级,探完立即释放,不会与随后 reconcile 的真监听打架
55
+ * (本机实测:同一 tick 内 `close()` 之后立刻 `listen` 同一端口可以成功)。
56
+ *
57
+ * `host` 固定 `127.0.0.1`——本地转发只绑回环(见 `startTunnel`),去探 `0.0.0.0`
58
+ * 会把「别人绑在外部接口上」误报成冲突。
59
+ */
60
+ export declare function probeLocalPort(port: number, timeoutMs?: number): Promise<boolean>;
61
+ /**
62
+ * 保存隧道配置时的**保存前探测**(tty D60 前半)。
63
+ *
64
+ * ## 为什么只警告、不拒绝保存
65
+ *
66
+ * `duplicate` 能判死,但**不能**用它拒绝整个 POST:设置卡片的保存是**整表提交**
67
+ * (`toPayload` 把所有字段一起发上来),一旦配置里已经躺着一条重名端口的隧道
68
+ * (老配置 / 另一个窗口写的),硬拒就等于把用户锁死在「任何一项都存不下去」上——
69
+ * 而修它恰恰需要先能保存。所以这里把它降成**响应里的 warnings**,由客户端点名通报。
70
+ *
71
+ * `in-use` 更进一步:端口可能属于**用户故意**在跑的东西,探测本身也有极小的误报面
72
+ * (IPv6-only 的占用、探测期间的竞态),拿它拦保存是越权。它的价值在「不等那条
73
+ * 红色 error 出现就先说一声」。
74
+ *
75
+ * 每条隧道最多一条 in-use 警告;duplicate 优先(它更确定、且不必探端口)。
76
+ */
77
+ export declare function probeTunnelPorts(specs: readonly TunnelSpec[], probe?: (port: number) => Promise<boolean>, heldByUs?: ReadonlySet<number>): Promise<string[]>;
21
78
  export interface TunnelStatus {
22
79
  name: string;
23
80
  bookName: string;
@@ -45,12 +102,56 @@ export declare class TunnelManager {
45
102
  /** 按名字解析连接簿条目(实时读取,重连自动用最新凭证) */
46
103
  private readonly resolveBook;
47
104
  private readonly tunnels;
105
+ /**
106
+ * 配置回写回调(settings 就绪后由插件注入一次)。
107
+ *
108
+ * `setEnabled` 走「翻转 spec.enabled → 写回配置」这条路,所以必须能落盘;回调缺失
109
+ * (settings 服务不可用的极早期 / 单测)时只改内存里的 spec 与运行态——行为退化成
110
+ * 「本次进程内生效、重启丢失」,而不是静默什么都不做(返回的 status 一样会反映结果)。
111
+ */
112
+ private persist;
48
113
  constructor(logger: TunnelLogger, store: HostKeyStore,
49
114
  /** 按名字解析连接簿条目(实时读取,重连自动用最新凭证) */
50
115
  resolveBook: (bookName: string) => SshHostEntry | undefined);
51
116
  /** 按配置对齐运行态:新增/删除/规格变更重建,启停切换资源。幂等。 */
52
117
  reconcile(specs: TunnelSpec[]): void;
53
118
  list(): TunnelStatus[];
119
+ /** 一条隧道的当前状态(不存在返回 undefined)。 */
120
+ status(name: string): TunnelStatus | undefined;
121
+ /**
122
+ * **本进程此刻真的持有**的本地监听端口集合(`probeTunnelPorts` 的豁免依据)。
123
+ *
124
+ * 为什么不是「配置里所有 localPort」:那条判据会把「A 已停用、B 想用同一个端口」
125
+ * (完全合法)误报成冲突。只有 `server.listening === true` 才算**真的绑上了**——
126
+ * `rt.server !== null` 不够:`startTunnel` 先建 server 再 `listen`,监听失败
127
+ * (EADDRINUSE)时句柄仍在表里,按它判会把「其实没占住」说成「我占着」,
128
+ * 于是端口被**别人**占着的那条真冲突反被豁免掉。
129
+ */
130
+ localPortsInUse(): Set<number>;
131
+ /**
132
+ * 启停一条隧道(agent 的 `tunnel_start` / `tunnel_stop`)——**改配置,不只改运行态**。
133
+ *
134
+ * 为什么不是「只改运行时开关」:`src/tunnels.ts` 的一等设计是「settings 即真相源,
135
+ * `reconcile()` 按配置对齐运行态」(见文件头)。再加一层运行态覆盖,就同时存在两个
136
+ * 真相源,而 `reconcile` 会在下一次 settings 热应用(哪怕只是改了个 Shell 路径)时
137
+ * **静默把 agent 刚停掉的隧道重新拉起**——这种「停了又自己回来」正是最难查的一类。
138
+ * 所以这里翻转的就是 `spec.enabled`,与用户在卡片上点那个勾**走同一条路**:
139
+ * 写入 caller 给的持久化回调 → settings 热应用 → reconcile。结果一致、可预期。
140
+ *
141
+ * 返回值是写完配置后的状态快照。**注意 `state` 是异步收敛的**:回来时通常是
142
+ * `connecting`(拨号还没完成),要拿最终结论就稍后 `tunnel_list`。
143
+ */
144
+ setEnabled(name: string, enabled: boolean): {
145
+ ok: true;
146
+ status: TunnelStatus;
147
+ } | {
148
+ ok: false;
149
+ error: string;
150
+ };
151
+ /** 翻转一条隧道的 enabled 并就地收敛运行态(`setEnabled` 的落点)。 */
152
+ private applyEnabled;
153
+ /** 持久化回调注入(settings 就绪后一次;`setEnabled` 靠它把意图写回配置)。 */
154
+ setPersist(persist: (specs: TunnelSpec[]) => void): void;
54
155
  disposeAll(): void;
55
156
  /** ------------------------------------------------------------------ */
56
157
  private startTunnel;