爱意满满的作品展示区。
MagiCube

搓了个纯 Rust 的 Windows 浏览器便携化工具

  •  
  •   MagiCube · 12h 27m ago · 466 views

    我用 Rust + egui 搓了一个原生小工具 —— Browser Harbor (浏览器港湾)

    一句话概括:一个专门负责下载、哈希校验、解压归整、便携补丁注入( Chrome++ / Libportable )以及无痛平滑升级的独立桌面工具。


    💡 核心设计与克制原则

    1. 单文件绿色原生:约 7.4 MB 单可执行文件,无 WebView2 依赖,内存占用极低。
    2. 免管理员权限( UAC ):默认标准权限运行,双击即开;不需要管理员权限,也不碰系统核心保护区。
    3. 彻底的不作恶底线:
      • ❌ 不驻留后台、不常驻托盘;
      • ❌ 绝对不碰 Windows 默认浏览器注册表,不强行固定任务栏;
      • ❌ 不读取浏览历史,不执行外部来源未校验的黑盒 exe 。
    4. 真正能带走的便携逻辑:
      • 便携运行时配置( Chrome++ / Libportable / Iceweasel )一律采用对齐最终程序目录的同盘相对路径(如 %app%\..\Profiles);换电脑、改目录名或插拔移动硬盘无需重设。
      • 工具自身的配置默认放 %LOCALAPPDATA%,也支持一键切换为放在 EXE 身旁的“便携配置模式”。
    5. 升级平滑保留数据:
      • 升级时自动隔离程序与数据,原子替换核心二进制,完整保留你的 Profiles 、书签、Cookie 与登录状态。

    🌐 目前已纳入管理的 14 款浏览器

    • Chromium 系( 8 款,完整集成 Chrome++ 1.18.x ):
      • Google Chrome ( Stable / Beta )
      • Microsoft Edge ( Stable / Beta ,自动组装便携目录并动态修复 msedge.exe 导入表)
      • Brave ( Stable / Beta )
      • Thorium (支持 SSE3 / SSE4 / AVX / AVX2 / AVX512 五种 CPU 构建)
      • Catsxp 、Helium 、Turbo Browser 、Ungoogled Chromium
    • Firefox 系( 6 款,全系实现真正直接便携,移除冗余启动器):
      • Mozilla Firefox ( Stable / ESR / Beta ,自动注入 Libportable 9.0 )
      • Floorp ( Libportable 直跑,移除包内 launcher )
      • LibreWolf ( Libportable 直跑,支持 OpenPGP 签名校验)
      • Zen Browser ( 1.x 全系便携注入支持)
      • Iceweasel ( ESR / Release 双线)、SkyKakapo

    🔒 供应链安全与网络友好

    • 所有浏览器只从官方 Omaha 、Edge 企业 API 、Mozilla 官方或经校验的 GitHub Release 获取;
    • 采用 Ed25519 签名清单每日校验 SHA-256 ,内置主流加速镜像,国内网络直连可用;
    • 如果你本地已经下好了官方离线安装包,也可以直接选择本地离线包完成校验安装。

    📦 开源与下载

    刚发布了最新的 v0.6.8 稳定版,代码库全部开源且保持自动化测试全绿。欢迎大家上手体验或给提 Issue / PR !

    3 replies  •  2026-10-31 02:34:46 +08:00
    kkocdko
        1
    kkocdko  
       11h 48m ago
    虽然我现在不用 windows 了,但是还是支持下。

    chrome 无法便携化的原理,我记得是 cookie 加密等措施。几年前我做过一个最小实现

    https://github.com/kkocdko/crknob/blob/master/src/main.cc

    是一个简单的,调用 minhook 的东西。使用 setdll 就可以了。似乎也没必要上 GUI 之类的(或者可以写个 bat 来让不熟悉的用户调用?
    MagiCube
        2
    MagiCube  
    OP
       11h 32m ago
    @kkocdko 感谢支持和分享代码! crknob 的思路很经典,用 MinHook + setdll 拦截 DPAPI 确实是解决 Chromium 跨设备 Cookie 最轻巧纯粹的方案。
    做成现在的独立工具,主要是想解决全生命周期的自动化管理:
    1. 官方源获取与提取:对接了 Google Omaha 、微软官方接口等,自动下载、SHA-256 校验并解包复杂的 CAB/MSI 嵌套归档。
    2. 原子更新与防炸配置:浏览器更新时若后台残留进程较易导致用户数据损坏。工具做了运行实例精确识别、数据路径隔离、原子替换与失败回滚;同时除了 Chromium ,还一并兼容了机制完全不同的 Firefox 系( Libportable )。
    做成轻量工具是希望能让更多人一键获得安全可信、且能长期平滑更新的纯净便携环境。
    再次感谢交流!
    iwolfor
        3
    iwolfor  
       2h 23m ago
    是否支持双击关闭标签
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1268 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 20:58 · PVG 04:58 · LAX 13:58 · JFK 16:58
    ♥ Do have faith in what you're doing.