From 43b5f81d510c2c4a6882b3e733c8a1253e3c2ca8 Mon Sep 17 00:00:00 2001 From: Xuz Date: Thu, 1 Oct 2026 19:05:04 +0800 Subject: [PATCH] =?UTF-8?q?README=20=E5=8E=BB=E6=8E=89=20SHELLRS=5FRELEASE?= =?UTF-8?q?=5FBASE=20=E7=9A=84=E8=AF=B4=E6=98=8E=EF=BC=9Amake-manifest.sh?= =?UTF-8?q?=20=E9=87=8C=E6=B2=A1=E6=9C=89=E8=BF=99=E4=B8=AA=E5=8F=98?= =?UTF-8?q?=E9=87=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 +- src/update/verify.rs | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/README.md b/README.md index 985e874..a83d635 100644 --- a/README.md +++ b/README.md @@ -325,6 +325,6 @@ cargo fmt --check `tests/ui/` 里的 UI 测试驱动真实 `Workspace`,通过 `Workspace::new_with_services` 注入 SFTP、本地目录、终端和端口转发服务,不连接用户服务器或真实钥匙串;在线升级的测试给 `workspace.updater()` 注入假的更新服务器和安装器,不联网、不改任何安装。Finder 的系统原生拖放仍需在真实 macOS 窗口中补充人工验收;无头测试覆盖原生文件拖入事件和面板内部拖放。 -开发构建(`cargo run`)不检查更新。要在本机走一遍更新流程,用 debug 构建加环境变量 `SHELLRS_UPDATE_CHANNEL=beta` 编译,运行时用 `SHELLRS_UPDATE_URL=http://127.0.0.1:8000/{channel}.json` 指向本地的静态服务器(`python3 -m http.server`),清单用 `packaging/make-manifest.sh` 和自己生成的测试密钥签名(`SHELLRS_RELEASE_BASE=http://127.0.0.1:8000/releases/<版本>` 让清单里的下载地址指向本地服务器),测试公钥放在环境变量 `SHELLRS_UPDATE_PUBLIC_KEY` 里。release 构建不认这两个环境变量。 +开发构建(`cargo run`)不检查更新。要在本机走一遍更新流程,用 debug 构建加环境变量 `SHELLRS_UPDATE_CHANNEL=beta` 编译,运行时用 `SHELLRS_UPDATE_URL=http://127.0.0.1:8000/{channel}.json` 指向本地的静态服务器(`python3 -m http.server`),清单用 `packaging/make-manifest.sh` 和自己生成的测试密钥签名,测试公钥放在环境变量 `SHELLRS_UPDATE_PUBLIC_KEY` 里。release 构建不认这两个环境变量。 上传交互参考 [WinSCP 上传流程](https://winscp.net/eng/docs/task_upload),协议适配参考 [russh-sftp 请求接口](https://docs.rs/russh-sftp/3.0.0/russh_sftp/client/struct.RawSftpSession.html) 与 [OpenSSH 扩展规范](https://raw.githubusercontent.com/openssh/openssh-portable/master/PROTOCOL)。 diff --git a/src/update/verify.rs b/src/update/verify.rs index fef345a..32719f1 100644 --- a/src/update/verify.rs +++ b/src/update/verify.rs @@ -335,7 +335,6 @@ pub(crate) mod tests { .arg(&out) .env("MINISIGN_KEY_FILE", &secret) .env_remove("MINISIGN_PASSWORD") - .env_remove("SHELLRS_RELEASE_BASE") // As the release workflow sets it. .env( "SHELLRS_MIRROR_BASE",