# netabrowser-cli

> Neta 内部的反检测浏览器 CLI 工具。底层组合三套开源项目，对外暴露统一的命令式接口，给 NetaClaw Agent / geo 模块 / 电商自动化模块共享使用。

## 角色定位

```
geo 模块 / 电商自动化 / Agent
        │
        │ exec("netabrowser-cli ...")  ← 命令行 + 短输出，AI 调用省 token
        ▼
netabrowser-cli (本包)
        │
        │ daemon 持久驻留，管理浏览器生命周期
        ▼
┌──────────────────────────────────────────────┐
│ 三层叠加（解决养号反风控）                       │
│                                              │
│ ① patchright       去自动化痕迹（patches）     │
│ ② neta-chromium    指纹差异化（编译产物）      │
│ ③ 自研补丁         国内平台（小红书/抖音等）   │
└──────────────────────────────────────────────┘
        │
        ▼
真实 Chromium 进程（带代理 + 独立指纹 + 持久 profile）
```

## 目录结构

```
packages/netabrowser-cli/
├── vendor/
│   ├── patchright/              # github.com/Kaliiiiiiiiii-Vinyzu/patchright
│   │                            # 反自动化补丁生成器（driver_patches）
│   └── patchright-nodejs/       # github.com/Kaliiiiiiiiii-Vinyzu/patchright-nodejs
│                                # Node.js 客户端补丁
├── chromium/
│   └── win64/                   # neta-chromium Windows 版（基于 fingerprint-chromium）
│                                # 来源：github.com/adryfish/fingerprint-chromium
│                                # 当前版本：Chromium 144.0.7559.132-1.1
│                                # ⚠️ chrome.exe / chrome.dll 不改名（内部硬编码引用）
│                                # ⚠️ 397MB，已 .gitignore，不入版本库
└── （src/ 待实现）
```

## 三个组件来源

| 组件 | 上游 | 作用 |
|------|------|------|
| **patchright** | https://github.com/Kaliiiiiiiiii-Vinyzu/patchright | Playwright 反检测补丁。去掉 `navigator.webdriver`、Runtime.enable、Console.enable 等 17+ 项自动化痕迹 |
| **patchright-nodejs** | https://github.com/Kaliiiiiiiiii-Vinyzu/patchright-nodejs | patchright 的 Node.js 客户端 patches |
| **fingerprint-chromium**（neta-chromium） | https://github.com/adryfish/fingerprint-chromium | 基于 Ungoogled Chromium 的指纹浏览器。从 Chromium 内核改 canvas/webgl/GPU/字体/屏幕等硬件指纹 |

## 命名说明

对外品牌统一为 **neta-chromium** / **netabrowser-cli**。但**不会改 Chromium 内部 `chrome.exe` / `chrome.dll` 文件名**——Chromium 二进制内部硬编码引用这两个名字，重命名会直接破坏启动。"neta" 品牌只在 CLI 封装层和外层目录名上体现。

## 当前状态

- ✅ 第三方源码已整理到 vendor/
- ✅ Chromium 二进制已就位（chromium/win64/）
- ⏳ CLI 实现待开发（src/、bin、daemon、commands、fingerprint preset 等）
- ⏳ Windows 安装包打包待集成
