lyu0805/OpenBrowser
GitHub: lyu0805/OpenBrowser
OpenBrowser 是一款开源的本地 Chromium 指纹浏览器,通过配置文件隔离、代理绑定、指纹控制、RPA 与本地 API 解决多账号环境管理与浏览器自动化的需求。
Stars: 254 | Forks: 57

[](https://github.com/lyu0805/OpenBrowser)
[](https://github.com/lyu0805/OpenBrowser)
[](./LICENSE)
[](https://nodejs.org/)
**多语言支持 / 多国语言支持**
🇺🇸 **English** · 🇨🇳 [中文](./README_CN.md)
**本地指纹浏览器 · 隔离的 Chromium 配置文件 · 代理 / 指纹 / 同步 / RPA**
## 概述
OpenBrowser 是一款用于管理多个隔离的 Chromium 环境的本地桌面指纹浏览器。它在一个桌面应用中集成了配置文件隔离、代理配置、浏览器指纹控制、扩展管理、窗口同步、本地 API、MCP 集成以及本地 RPA 工作流。
该应用支持多种 UI 语言,目前包括英文和中文。
## 目录
- [截图](#screenshots)
- [核心功能](#key-features)
- [支持的平台](#supported-platforms)
- [快速开始](#quick-start)
- [打包](#packaging)
- [自测](#self-tests)
- [项目结构](#project-layout)
- [数据与安全](#data-and-security)
## 截图
| 概述 | 环境 |
| :---: | :---: |
|  |  |
| 主导航与模块入口 | 配置文件、启停控制及分组 |
| 配置文件 / 指纹 | 本地设置 |
| :---: | :---: |
|  |  |
| 代理、指纹及扩展设置 | 主题、语言和系统选项 |
## 核心功能
| 领域 | 提供的功能 |
| --- | --- |
| **配置文件隔离** | 分离的 Chromium 配置文件,确保 cookies、缓存和存储互不干扰。 |
| **批量管理** | 分组、标签、批量启停、日志以及窗口大小调整。 |
| **代理支持** | 为每个环境配置 HTTP / HTTPS / SOCKS 代理,并提供出口检查。 |
| **指纹控制** | 平台、语言、时区、User Agent、Canvas、WebGL、WebRTC 等。 |
| **扩展中心** | 为每个环境加载内置、推荐及本地扩展。 |
| **窗口同步** | 基于 CDP 的点击、滚动、输入和标签页同步。 |
| **本地 RPA** | 用于导航、等待、点击、输入和截图的流程。 |
| **本地 API / MCP** | 默认在 `127.0.0.1:50325` 提供本地集成 endpoint。 |
| **独立内核** | 下载独立的 Chromium 内核或使用自定义本地路径。 |
| **备份选项** | 显式启用时支持本地、WebDAV、GitHub 和云盘备份。 |
## 支持的平台
| 平台 | 架构 | 状态 |
| --- | --- | --- |
| Windows | x86_64 | ✅ 支持 |
| macOS | x86_64 | ✅ 支持 |
| macOS | arm64 | ✅ 支持 |
## 快速开始
需要 Node.js LTS 和 npm。
```
cd Browserapp
npm ci --include=dev
npm run selftest
npm start
```
或者使用仓库根目录下的启动脚本:
| 平台 | 启动器 |
| --- | --- |
| macOS | [`start-test.command`](./start-test.command) |
| Windows | [`start-test.cmd`](./start-test.cmd) |
## 打包
```
cd Browserapp
# 可选:OPENBROWSER_PACKAGE_ARCH=x86_64 或 arm64
npm run package:portable
```
构建输出将写入 `Browserapp/dist/`。
| 平台 | 输出说明 |
| --- | --- |
| Windows | 包含 `START.cmd`。 |
| macOS | 包含 `OpenBrowser.app` 和 `启动.command`。 |
## 自测
```
cd Browserapp
npm run selftest
npm run selftest:automation
npm run selftest:protocol
npm run selftest:isolation
npm run selftest:kernel
npm run selftest:cloud
```
## 项目结构
```
OpenBrowser/
├── Browserapp/ # App source
├── docs/screenshots/ # Screenshots
├── start-test.command # macOS launcher
├── start-test.cmd # Windows launcher
├── DISCLAIMER.md
├── LICENSE
├── README.md # English documentation
└── README_CN.md # Chinese documentation
```
本仓库仅包含源代码和文档。不包含配置文件、cookies、代理凭据、捆绑的内核二进制文件或安装程序。官方的 Windows x64 和 macOS arm64 构建版本会在 CI 打包期间下载匹配的 Wayfern 内核;macOS x86_64 构建版本包含 OpenBrowser 148 内核。
## 数据与安全
- 本地 API 默认绑定到 loopback。
- 如果设置了 `OPENBROWSER_API_KEY`,请求必须包含 `api-key` header。
- 浏览器启动失败记录将追加到用户 OpenBrowser 数据目录下仅限本地的 `browser-startup.log` 中。可以在 `Browserapp/` 下使用 `npm run log:startup` 进行查看;该日志会被 Git 忽略。
- 第三方声明详见 [`THIRD-PARTY-NOTICES.md`](./Browserapp/THIRD-PARTY-NOTICES.md)。
- 云备份集成仅在用户显式配置后才会向外发起连接。
## 文档
- [自动化模块](./Browserapp/automation/README.md)
- [免责声明](./DISCLAIMER.md)
- [第三方声明](./Browserapp/THIRD-PARTY-NOTICES.md)
第三方内核来源
独立内核来自 [zhom](https://github.com/zhom) 开发的 [Donut Browser](https://github.com/zhom/donutbrowser) / [Wayfern](https://wayfern.com/)。更新源:[wayfern.json](https://donutbrowser.com/wayfern.json)。条款:[Wayfern 服务条款](https://wayfern.com/tos)。
本仓库不存储内核二进制文件。官方平台安装包会在 CI 打包期间从官方更新源获取匹配的 Wayfern 内核;macOS x86_64 安装包使用已签入的 OpenBrowser 148 runtime。
## 许可证
[MIT](./LICENSE)
如果 OpenBrowser 对您有帮助,欢迎点个 Star ⭐
标签:GNU通用公共许可证, MITM代理, Node.js, RPA, 指纹浏览器, 桌面应用, 环境隔离, 网络调试, 自动化, 自定义脚本