dsh-web-remote 0.1.0 → 0.3.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/client.js +27 -0
- package/dist/index.js +82 -16
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
package/client.js
CHANGED
|
@@ -42,6 +42,8 @@ window.__ModuleLoader__.load({
|
|
|
42
42
|
tip_reconnecting: "隧道断开,正在自动重连,无需操作。",
|
|
43
43
|
tip_disconnected: "已断开,配置与授权已保留,点击接入即可恢复。",
|
|
44
44
|
tip_external: "该主机由 rdsh CLI / 服务托管,请用 rdsh 命令管理。",
|
|
45
|
+
uiCompatLabel: "端到端加密时,信任为本地访问(兼容模式)",
|
|
46
|
+
uiCompatDesc: "(默认开启;共享主机可关闭)",
|
|
45
47
|
};
|
|
46
48
|
|
|
47
49
|
const en = {
|
|
@@ -69,6 +71,8 @@ window.__ModuleLoader__.load({
|
|
|
69
71
|
tip_reconnecting: "The tunnel dropped; it is reconnecting automatically — no action needed.",
|
|
70
72
|
tip_disconnected: "Disconnected — config and auth are kept. Click Connect to resume.",
|
|
71
73
|
tip_external: "This host is managed by the rdsh CLI/service; manage it with rdsh commands.",
|
|
74
|
+
uiCompatLabel: "Trust as local access when E2EE (compatibility)",
|
|
75
|
+
uiCompatDesc: "(on by default; disable for shared hosts)",
|
|
72
76
|
};
|
|
73
77
|
|
|
74
78
|
const CSS = `
|
|
@@ -133,6 +137,7 @@ window.__ModuleLoader__.load({
|
|
|
133
137
|
const [busy, setBusy] = React.useState(false);
|
|
134
138
|
const [confirmOverwrite, setConfirmOverwrite] = React.useState(false);
|
|
135
139
|
const [savedToken, setSavedToken] = React.useState(false);
|
|
140
|
+
const [uiCompat, setUiCompat] = React.useState(true);
|
|
136
141
|
|
|
137
142
|
React.useEffect(() => {
|
|
138
143
|
let alive = true;
|
|
@@ -146,6 +151,7 @@ window.__ModuleLoader__.load({
|
|
|
146
151
|
if (typeof v.name === "string") setName(v.name);
|
|
147
152
|
if (typeof v.message === "string" && v.message !== "") setMessage(v.message);
|
|
148
153
|
setSavedToken(v.hasToken === true);
|
|
154
|
+
if (typeof v.uiCompat === "boolean") setUiCompat(v.uiCompat);
|
|
149
155
|
} catch {
|
|
150
156
|
/* 瞬时错误忽略,下一轮重试 */
|
|
151
157
|
}
|
|
@@ -293,6 +299,26 @@ window.__ModuleLoader__.load({
|
|
|
293
299
|
)
|
|
294
300
|
: React.createElement("p", { className: "dsh-web-remote-tip" }, t("tip_" + status));
|
|
295
301
|
|
|
302
|
+
const compatToggle = external
|
|
303
|
+
? null
|
|
304
|
+
: React.createElement(
|
|
305
|
+
"label",
|
|
306
|
+
{ className: "dsh-web-remote-compat" },
|
|
307
|
+
React.createElement("input", {
|
|
308
|
+
type: "checkbox",
|
|
309
|
+
checked: uiCompat,
|
|
310
|
+
disabled,
|
|
311
|
+
onChange: (e) => {
|
|
312
|
+
const v = e.target.checked;
|
|
313
|
+
setUiCompat(v);
|
|
314
|
+
void rpc.call("/remote-access", "set-ui-compat", { args: { enabled: v } });
|
|
315
|
+
},
|
|
316
|
+
}),
|
|
317
|
+
" ",
|
|
318
|
+
t("uiCompatLabel"),
|
|
319
|
+
React.createElement("span", { className: "dsh-web-remote-compat-desc" }, " ", t("uiCompatDesc")),
|
|
320
|
+
);
|
|
321
|
+
|
|
296
322
|
return React.createElement(
|
|
297
323
|
"div",
|
|
298
324
|
{ className: "dsh-web-remote" },
|
|
@@ -300,6 +326,7 @@ window.__ModuleLoader__.load({
|
|
|
300
326
|
tip,
|
|
301
327
|
message ? React.createElement("p", { className: "dsh-web-remote-msg" }, message) : null,
|
|
302
328
|
form,
|
|
329
|
+
compatToggle,
|
|
303
330
|
actions,
|
|
304
331
|
);
|
|
305
332
|
}
|
package/dist/index.js
CHANGED
|
@@ -32,6 +32,8 @@ export function apply(ctx) {
|
|
|
32
32
|
let currentHub;
|
|
33
33
|
let currentName;
|
|
34
34
|
let lastMessage;
|
|
35
|
+
let liveCompat; // 运行中切换的 dshUiCompat(覆盖 host.json)
|
|
36
|
+
let currentConfig = null; // 最近一次读到的 host.json
|
|
35
37
|
const hooks = {
|
|
36
38
|
onState: (s, detail) => {
|
|
37
39
|
liveState = s;
|
|
@@ -87,32 +89,66 @@ export function apply(ctx) {
|
|
|
87
89
|
return err("mode-conflict", "host.json is not in join mode; re-send with confirmOverwrite: true to overwrite");
|
|
88
90
|
}
|
|
89
91
|
// 注册(join token → host token)或复用持久化 host token;留空 = 复用
|
|
90
|
-
const { token: hostToken, insecure } = await registerJoin({ hubUrl: hub, token, name });
|
|
92
|
+
const { token: hostToken, insecure, name: joinedName } = await registerJoin({ hubUrl: hub, token, name });
|
|
91
93
|
// 写 host.json(mode join)
|
|
92
94
|
const config = await loadConfig(DEFAULT_HOST_CONFIG_PATH);
|
|
93
95
|
config.mode = "join";
|
|
94
96
|
config.hub = hub;
|
|
95
|
-
config.name =
|
|
97
|
+
config.name = joinedName;
|
|
96
98
|
config.insecure = insecure;
|
|
97
99
|
await saveConfig(DEFAULT_HOST_CONFIG_PATH, config);
|
|
98
100
|
// 起隧道:转发到本进程 dsh
|
|
99
|
-
|
|
100
|
-
currentName = name;
|
|
101
|
-
lastMessage = undefined;
|
|
102
|
-
handle = startJoin({
|
|
103
|
-
hubUrl: hub,
|
|
104
|
-
token: hostToken,
|
|
105
|
-
insecure,
|
|
106
|
-
target: { host: "127.0.0.1", port: ctx.webServer.port },
|
|
107
|
-
role: "plugin",
|
|
108
|
-
hooks,
|
|
109
|
-
});
|
|
101
|
+
startTunnel(config, hub, hostToken, joinedName, insecure);
|
|
110
102
|
return ok({ status: "connecting", hub, name });
|
|
111
103
|
}
|
|
112
104
|
catch (e) {
|
|
113
105
|
return err("register-failed", e instanceof Error ? e.message : String(e));
|
|
114
106
|
}
|
|
115
107
|
}
|
|
108
|
+
/** 起隧道并同步面板状态(connect / autoConnect 共用;转发到本进程 dsh)。 */
|
|
109
|
+
function startTunnel(config, hub, token, name, insecure) {
|
|
110
|
+
currentConfig = config;
|
|
111
|
+
liveCompat = config.dshUiCompat?.trustE2EEAsLoopback !== false;
|
|
112
|
+
currentHub = hub;
|
|
113
|
+
currentName = name;
|
|
114
|
+
lastMessage = undefined;
|
|
115
|
+
handle = startJoin({
|
|
116
|
+
hubUrl: hub,
|
|
117
|
+
token,
|
|
118
|
+
insecure,
|
|
119
|
+
target: { host: "127.0.0.1", port: ctx.webServer.port },
|
|
120
|
+
role: "plugin",
|
|
121
|
+
dshUiCompat: config.dshUiCompat,
|
|
122
|
+
hooks,
|
|
123
|
+
});
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* 启动时自动接入:host.json 已是 join 模式且有持久化 host token、隧道未被 CLI/他人持有 →
|
|
127
|
+
* 复用 token 自动建隧道(与 CLI `rdsh host serve` 行为一致,消除「需先点接入才有隧道」的鸡生蛋)。
|
|
128
|
+
* 任一前置条件不满足则静默跳过,面板保持 disconnected,由用户手动接入。
|
|
129
|
+
*/
|
|
130
|
+
async function autoConnect() {
|
|
131
|
+
try {
|
|
132
|
+
if (handle !== null)
|
|
133
|
+
return;
|
|
134
|
+
const held = readJoinLock();
|
|
135
|
+
if (held !== null && held.role === "cli")
|
|
136
|
+
return;
|
|
137
|
+
const config = await loadConfig(DEFAULT_HOST_CONFIG_PATH);
|
|
138
|
+
if (config.mode !== "join" || typeof config.hub !== "string" || config.hub === "")
|
|
139
|
+
return;
|
|
140
|
+
if (readPersistedToken(config.hub) === null)
|
|
141
|
+
return;
|
|
142
|
+
const { token: hostToken, insecure, name: joinedName } = await registerJoin({
|
|
143
|
+
hubUrl: config.hub,
|
|
144
|
+
name: config.name,
|
|
145
|
+
});
|
|
146
|
+
startTunnel(config, config.hub, hostToken, joinedName, insecure);
|
|
147
|
+
}
|
|
148
|
+
catch {
|
|
149
|
+
// 自动接入失败不阻塞面板;用户可手动接入重试
|
|
150
|
+
}
|
|
151
|
+
}
|
|
116
152
|
async function disconnect() {
|
|
117
153
|
if (handle !== null) {
|
|
118
154
|
await handle.stop();
|
|
@@ -153,12 +189,13 @@ export function apply(ctx) {
|
|
|
153
189
|
}
|
|
154
190
|
async function state() {
|
|
155
191
|
try {
|
|
192
|
+
const compat = uiCompatEnabled();
|
|
156
193
|
if (handle !== null && liveState !== null) {
|
|
157
|
-
return ok({ status: mapState(liveState), hub: currentHub, name: currentName, message: lastMessage, hasToken: true });
|
|
194
|
+
return ok({ status: mapState(liveState), hub: currentHub, name: currentName, message: lastMessage, hasToken: true, uiCompat: compat });
|
|
158
195
|
}
|
|
159
196
|
const held = readJoinLock();
|
|
160
197
|
if (held !== null && held.role === "cli") {
|
|
161
|
-
return ok({ status: "external" });
|
|
198
|
+
return ok({ status: "external", uiCompat: compat });
|
|
162
199
|
}
|
|
163
200
|
const config = await loadConfig(DEFAULT_HOST_CONFIG_PATH);
|
|
164
201
|
if (config.mode === "join" && config.hub !== undefined) {
|
|
@@ -168,9 +205,34 @@ export function apply(ctx) {
|
|
|
168
205
|
name: config.name,
|
|
169
206
|
message: lastMessage,
|
|
170
207
|
hasToken: readPersistedToken(config.hub) !== null,
|
|
208
|
+
uiCompat: compat,
|
|
171
209
|
});
|
|
172
210
|
}
|
|
173
|
-
return ok({ status: "unconfigured" });
|
|
211
|
+
return ok({ status: "unconfigured", uiCompat: compat });
|
|
212
|
+
}
|
|
213
|
+
catch (e) {
|
|
214
|
+
return err("internal", e instanceof Error ? e.message : String(e));
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
/** 读当前 dshUiCompat 开关(内存覆盖 > host.json;缺省 true)。 */
|
|
218
|
+
function uiCompatEnabled() {
|
|
219
|
+
if (liveCompat !== undefined)
|
|
220
|
+
return liveCompat;
|
|
221
|
+
return currentConfig?.dshUiCompat?.trustE2EEAsLoopback !== false;
|
|
222
|
+
}
|
|
223
|
+
async function setUiCompat(args) {
|
|
224
|
+
try {
|
|
225
|
+
if (typeof args.enabled !== "boolean")
|
|
226
|
+
return err("bad-request", "enabled (boolean) required");
|
|
227
|
+
// ① 内存即时生效(运行中的隧道;缺省也写入供下次连接)
|
|
228
|
+
liveCompat = args.enabled;
|
|
229
|
+
handle?.setUiCompat(args.enabled);
|
|
230
|
+
// ② 持久化 host.json
|
|
231
|
+
const config = await loadConfig(DEFAULT_HOST_CONFIG_PATH);
|
|
232
|
+
config.dshUiCompat = { trustE2EEAsLoopback: args.enabled };
|
|
233
|
+
await saveConfig(DEFAULT_HOST_CONFIG_PATH, config);
|
|
234
|
+
currentConfig = config;
|
|
235
|
+
return ok({ enabled: args.enabled });
|
|
174
236
|
}
|
|
175
237
|
catch (e) {
|
|
176
238
|
return err("internal", e instanceof Error ? e.message : String(e));
|
|
@@ -187,10 +249,14 @@ export function apply(ctx) {
|
|
|
187
249
|
return await revoke();
|
|
188
250
|
case "state":
|
|
189
251
|
return await state();
|
|
252
|
+
case "set-ui-compat":
|
|
253
|
+
return await setUiCompat(args);
|
|
190
254
|
default:
|
|
191
255
|
return err("bad-request", `unknown endpoint ${endpoint}`);
|
|
192
256
|
}
|
|
193
257
|
}, { authority: "loopback" });
|
|
258
|
+
// 启动自动接入(静默;CLI 托管时跳过,见 autoConnect 前置条件)
|
|
259
|
+
void autoConnect();
|
|
194
260
|
ctx.on("dispose", () => {
|
|
195
261
|
void handle?.stop();
|
|
196
262
|
});
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EACL,YAAY,EACZ,SAAS,EACT,UAAU,EACV,mBAAmB,EACnB,kBAAkB,EAClB,YAAY,EACZ,UAAU,EACV,UAAU,EACV,wBAAwB,GACzB,MAAM,cAAc,CAAC;AAsBtB,MAAM,EAAE,GAAG,CAAC,KAAc,EAAa,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;AAChE,MAAM,GAAG,GAAG,CAAC,IAAY,EAAE,OAAe,EAAa,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;AAEjH,SAAS,QAAQ,CAAC,CAAY;IAC5B,QAAQ,CAAC,EAAE,CAAC;QACV,KAAK,YAAY;YACf,OAAO,YAAY,CAAC;QACtB,KAAK,WAAW;YACd,OAAO,WAAW,CAAC;QACrB,KAAK,cAAc;YACjB,OAAO,cAAc,CAAC;QACxB,KAAK,UAAU,CAAC;QAChB,KAAK,SAAS;YACZ,OAAO,cAAc,CAAC;IAC1B,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;AAElD,MAAM,UAAU,KAAK,CAAC,GAAQ;IAC5B,IAAI,MAAM,GAAsB,IAAI,CAAC;IACrC,IAAI,SAAS,GAAqB,IAAI,CAAC,CAAC,eAAe;IACvD,IAAI,UAA8B,CAAC;IACnC,IAAI,WAA+B,CAAC;IACpC,IAAI,WAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dsh-web-remote",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"description": "Remote access for DeepSeek Harness: join a rdsh hub from the DSH web UI (plugin, no CLI)",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
"node": ">=22"
|
|
26
26
|
},
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"rdsh-gateway": "0.
|
|
28
|
+
"rdsh-gateway": "0.6.0"
|
|
29
29
|
},
|
|
30
30
|
"dsh": {
|
|
31
31
|
"bundle": {
|