dsh-wechat-remote 1.7.3 → 1.7.5
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 +5 -3
- package/assets/plugin.tgz +0 -0
- package/assets/release.json +35 -35
- package/bin/native-control.mjs +1 -1
- package/bin/setup.mjs +5 -1
- package/lib/install-control.js +1268 -1268
- package/lib/install-profile.js +210 -210
- package/lib/install-runtime.js +64 -64
- package/lib/package.json +1 -1
- package/lib/secure-file.js +76 -76
- package/lib/update-download.js +98 -98
- package/lib/update-policy.js +147 -147
- package/lib/update-worker.js +689 -679
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Agent远程管理助手 · DSH 插件安装器
|
|
2
2
|
|
|
3
|
-
当前安装器版本为 1.7.
|
|
3
|
+
当前安装器版本为 1.7.4,安装的正式插件仍为 1.7.2。已正常使用插件 1.7.2 的用户,无需因此重新安装。
|
|
4
4
|
|
|
5
5
|
首次安装和升级旧插件使用同一个命令:
|
|
6
6
|
|
|
@@ -12,9 +12,11 @@ npx -y dsh-wechat-remote@latest
|
|
|
12
12
|
|
|
13
13
|
安装器安装正式插件,保留原配置、配对和会话,不会升级 DSH 本体。请先结束运行中的任务;安装完成后自动重启原 DSH 并尝试打开 WebUI。
|
|
14
14
|
|
|
15
|
-
DSH
|
|
15
|
+
DSH 的新版本、预览版本或未登记的主机架构不会仅因缺少验证记录而被拒绝安装。安装器仍检查必要运行能力、安装包完整性和已知不兼容问题,并保留失败恢复所需的备份;无法确认恢复结果时会提示保留数据。这不代表所有宿主组合均已通过功能验证。
|
|
16
16
|
|
|
17
|
-
支持已验证的 DSH `0.1.1-rc.2`、`0.1.2-rc.1`、`0.1.5-rc.1`,Windows / macOS Intel / Linux x64。普通 Node 启动、独立的 macOS launchd 和 Linux 用户级 systemd 服务可自动恢复;无法确认启动方式时不自动停止主机。
|
|
17
|
+
支持已验证的 DSH `0.1.1-rc.2`、`0.1.2-rc.1`、`0.1.5-rc.1`,Windows / macOS Intel / Linux x64。普通 Node 启动、独立的 macOS launchd 和 Linux 用户级 systemd 服务可自动恢复;无法确认启动方式时不自动停止主机。
|
|
18
|
+
|
|
19
|
+
另已在 ARM64 Linux 电视盒子上验证 DSH `0.1.5-rc.1` 的首次安装、重复执行及重装。1.7.4 改善较慢主机启动时被误判为安装超时的问题;安装过程中请等待完成,勿重复执行命令。
|
|
18
20
|
|
|
19
21
|
旧插件 1.7.1 在 DSH 0.1.5 上无法一键更新时,可用本安装命令过渡一次。从插件 1.7.2 起,后续已验证的兼容更新不再受旧的 DSH 版本列表限制;不需要因此降低 DSH 版本或删除节点。
|
|
20
22
|
|
package/assets/plugin.tgz
CHANGED
|
Binary file
|
package/assets/release.json
CHANGED
|
@@ -1,35 +1,35 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": "1.7.
|
|
3
|
-
"catalog": {
|
|
4
|
-
"schemaVersion": 1,
|
|
5
|
-
"revision": "installer-1.7.
|
|
6
|
-
"issuedAt":
|
|
7
|
-
"expiresAt":
|
|
8
|
-
"releases": [
|
|
9
|
-
{
|
|
10
|
-
"version": "1.7.
|
|
11
|
-
"channel": "stable",
|
|
12
|
-
"dsh": [
|
|
13
|
-
"0.1.1-rc.2",
|
|
14
|
-
"0.1.2-rc.1",
|
|
15
|
-
"0.1.5-rc.1"
|
|
16
|
-
],
|
|
17
|
-
"platforms": [
|
|
18
|
-
"windows",
|
|
19
|
-
"macos",
|
|
20
|
-
"linux"
|
|
21
|
-
],
|
|
22
|
-
"architectures": [
|
|
23
|
-
"x64"
|
|
24
|
-
],
|
|
25
|
-
"asset": {
|
|
26
|
-
"url": "https://github.com/martinbear1/dsh-wechat-remote/releases/download/v1.7.
|
|
27
|
-
"sha256": "
|
|
28
|
-
"bytes":
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
],
|
|
32
|
-
"blocked": [],
|
|
33
|
-
"retiredDsh": []
|
|
34
|
-
}
|
|
35
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"version": "1.7.5",
|
|
3
|
+
"catalog": {
|
|
4
|
+
"schemaVersion": 1,
|
|
5
|
+
"revision": "installer-1.7.5",
|
|
6
|
+
"issuedAt": 1789362769360,
|
|
7
|
+
"expiresAt": 1791781969360,
|
|
8
|
+
"releases": [
|
|
9
|
+
{
|
|
10
|
+
"version": "1.7.5",
|
|
11
|
+
"channel": "stable",
|
|
12
|
+
"dsh": [
|
|
13
|
+
"0.1.1-rc.2",
|
|
14
|
+
"0.1.2-rc.1",
|
|
15
|
+
"0.1.5-rc.1"
|
|
16
|
+
],
|
|
17
|
+
"platforms": [
|
|
18
|
+
"windows",
|
|
19
|
+
"macos",
|
|
20
|
+
"linux"
|
|
21
|
+
],
|
|
22
|
+
"architectures": [
|
|
23
|
+
"x64"
|
|
24
|
+
],
|
|
25
|
+
"asset": {
|
|
26
|
+
"url": "https://github.com/martinbear1/dsh-wechat-remote/releases/download/v1.7.5/harness-remote-dsh-wechat-remote-1.7.5.tgz",
|
|
27
|
+
"sha256": "d5545651e80242d1782fb04e86aece5d0460db80bdf1cec7688429e2abaf9e6e",
|
|
28
|
+
"bytes": 9539981
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
],
|
|
32
|
+
"blocked": [],
|
|
33
|
+
"retiredDsh": []
|
|
34
|
+
}
|
|
35
|
+
}
|
package/bin/native-control.mjs
CHANGED
|
@@ -58,7 +58,7 @@ export async function waitForJson(filename, accept, timeout = 20000) {
|
|
|
58
58
|
* A listening WebUI is not proof that the asynchronous profile reload finished.
|
|
59
59
|
* Keep the same control entry/token while waiting; never restart a live host. */
|
|
60
60
|
export async function waitForInstallControl(filename, {
|
|
61
|
-
accept, ensureRunning, onWaiting = () => {}, timeoutMs =
|
|
61
|
+
accept, ensureRunning, onWaiting = () => {}, timeoutMs = 180000, initialWaitMs = 5000,
|
|
62
62
|
}) {
|
|
63
63
|
const deadline = Date.now() + timeoutMs
|
|
64
64
|
try { return await waitForJson(filename, accept, Math.min(initialWaitMs, timeoutMs)) }
|
package/bin/setup.mjs
CHANGED
|
@@ -76,7 +76,11 @@ export async function install({ profileName = 'web', cli = findDsh(), assetsRoot
|
|
|
76
76
|
launched = spawn(process.execPath, [cli, '--profile', profileName, '--no-open'], {
|
|
77
77
|
cwd: process.cwd(), env: process.env, detached: true, windowsHide: true, stdio: ['ignore', log, log] })
|
|
78
78
|
fs.closeSync(log); launched.on('error', () => {}); launched.unref()
|
|
79
|
-
|
|
79
|
+
const initializedBy = Date.now() + 180000
|
|
80
|
+
while (!fs.existsSync(path.join(profile, 'package.json')) && Date.now() < initializedBy) {
|
|
81
|
+
if (launched.exitCode !== null || launched.signalCode !== null) break
|
|
82
|
+
await sleep(100)
|
|
83
|
+
}
|
|
80
84
|
if (!fs.existsSync(path.join(profile, 'package.json'))) throw new Error('DSH 未能初始化 profile;详情见本机安装记录。')
|
|
81
85
|
await sleep(2000)
|
|
82
86
|
}
|