Skip to content

修复 Apple Silicon 上 macOS 代理无法启动 - #85

Open
Logosww wants to merge 1 commit into
xcodebuild:masterfrom
Logosww:fix/macos-proxy-startup
Open

Logosww wants to merge 1 commit into
xcodebuild:masterfrom
Logosww:fix/macos-proxy-startup

Conversation

@Logosww

@Logosww Logosww commented Sep 29, 2026 •

Copy link
Copy Markdown

问题

用户日志显示两个故障:Whistle 启动时读取 biz/webui/htdocs/js/index.js 失败(ENOENT);随后系统代理辅助程序报 Bad CPU type in executable。已安装的辅助程序是 x86_64,而仓库中已有 arm64 版本。

修改

  • 打包运行文件时补齐并校验 Whistle 的 Web UI bundle,避免因缺失资源而无法启动代理。
  • 即使应用版本号未变,只要已解压的 bundle 缺失,就重新解压运行文件。
  • 在 Apple Silicon 上安装 arm64 辅助程序;检测已安装程序与当前架构的文件是否一致。只需更新辅助程序时保留有效的 CA 证书。
  • 安装前清除旧的完成标记,避免跳过实际安装。

验证

  • node --check scripts/run.js 和 git diff --check 通过。
  • 构建并启动 arm64 macOS 测试版。Whistle 监听 127.0.0.1:12888;本地 HTTP 请求返回预期的登录响应 401。
  • 安装后的辅助程序为 root 所有的 arm64 可执行文件,内容与仓库中的 arm64 文件一致;macOS HTTP 和 HTTPS 系统代理均指向 127.0.0.1:12888。

本地启动验证使用已安装的 Whistle 2.10.10 运行目录及其对应发布包中的 Web UI bundle 组装运行压缩包;CI 的 update:node_modules 步骤仍需由 CI 验证。

@Logosww
Logosww force-pushed the fix/macos-proxy-startup branch from 3845806 to 44aead4 Compare September 29, 2026 07:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant