Skip to content

Repository files navigation

Chrome++ Next Manager

Chrome++ Next Manager 是一个基于 Tauri 与 Nuxt UI 的 Windows 桌面管理器。当前 M1 实现范围包括对现有便携 Chrome++ 目录的只读预检、显式导入、实例注册、渠道默认启动、受管版本校验,以及可视化和高级 INI 配置。

产品只管理由用户明确导入的便携目录,不扫描、不修改系统安装版 Chrome,也不读取系统 Chrome 用户数据。M1 不包含在线下载或安装;在线安装从 M2 开始。

当前验证与发布状态

M1 实现里程碑不等于发布批准。真实便携 Chrome live 门禁尚未通过,且 Task 4 延后安全清单中的五项 Important 尚未关闭;在这两项条件都完成并复审通过前,禁止导入真实用户目录,也不得把当前构建描述为可用于真实目录。当前验证只允许使用 %TEMP% 下受控、一次性、可丢弃的测试夹具。

当前实现范围

  • Stable、Beta、Dev 和 Canary 本地实例及每渠道一个默认实例。
  • 稳定的 --launch <instance-id>--stable--beta--dev--canary 启动入口。
  • 不可变程序版本、根级 Data/Cache、活动指针、版本清单和 SHA-256 校验。
  • 保留注释和未知字段的 INI 模型、类型化可视化字段、动态“新参数”分组。
  • 高级 INI 独占编辑锁、三方合并、指纹绑定冲突解决和 stale 恢复。
  • 确定性浏览器 E2E 与默认忽略的受控便携目录实时门禁。

完整目录规则、CLI 语义、启动恢复、配置冲突和实时验证边界见 本地实例用户指南

开发

要求 Node.js、pnpm、Rust,以及 Tauri 所需的 Windows C++ 构建工具与 WebView2。安装锁定依赖后启动桌面开发环境:

pnpm install --frozen-lockfile
pnpm tauri dev

仅调试 Nuxt 界面可运行:

pnpm dev

浏览器模式下正常后端仍是 Tauri 适配器,不能完成真实命令。pnpm test:e2e 会通过构建时别名启用隔离夹具;不要在产品启动参数或环境中设置 MANAGER_E2E=1

验证

pnpm lint
pnpm typecheck
pnpm test
pnpm exec playwright install chromium
pnpm test:e2e
pnpm generate
cargo fmt --manifest-path src-tauri/Cargo.toml -- --check
cargo clippy --manifest-path src-tauri/Cargo.toml --all-targets -- -D warnings
cargo test --manifest-path src-tauri/Cargo.toml
pnpm tauri build --debug

Rust 门禁应串行执行。实时门禁具有额外的临时目录和一次性夹具要求,不会作为普通测试自动运行;详见用户指南。

实时门禁的唯一脚本入口会为每次运行生成 nonce、命名 Windows Job Object 和 %TEMP% 下的一次性 capability 文件。脚本在写 capability 前双重核对会话目录的预期与既存物理路径,并保存 4 个 CHROME_PLUS_NEXT_LIVE_* 环境变量的原有状态。Cargo 以挂起方式创建,先进入带 KILL_ON_JOB_CLOSE 的 Job 再恢复;Rust 测试必须验证当前进程属于 capability 指定的 Job,重新校验物理 %TEMP%、三个互不重叠的根目录、重解析点、marker 内容与 SHA-256,并在任何应用状态写入前消费 capability。测试命令结束后,脚本用同一个已打开的 Process 对象核对报告 PID、进程创建 FILETIME、规范化映像路径、Job 成员身份和受管目标路径。Job 的 Stop() 可重试,原生关闭成功前不会丢弃句柄;最终清理会恢复调用方环境变量。任一创建、赋值、身份、环境恢复或清理步骤失败都会使门禁失败。

安全边界

  • 不接受系统 Chrome 作为导入源或启动回退。
  • 不通过 PATH 或 Shell 查找 Chrome;只启动注册表和活动清单共同校验的受管映像。
  • 不在产品启动或运行时静默联网、下载、安装或切换活动版本。
  • Tauri 窗口能力保持为 core:default,不为浏览器夹具扩大权限。

许可证

本仓库按 GNU General Public License v3 提供。

About

A Tauri-based manager for portable Chrome++ instances.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages