Top AI Repos — open-source AI, indexed and scored
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
🔧 反检测浏览器 MCP Server | 35 个 JS 逆向工具 + C++ 引擎层 JSVMP 指纹追踪
| Date | Stars |
|---|---|
| 2026-07-31 | 389 |
| 2026-08-04 | 398 |
| 2026-08-06 | 398 |
Today
— stars today
This week
— stars this week
This month
— stars this month
Momentum
35.0
growth rate 0.00%/day
# camoufox-reverse-mcp
[中文](README.md) | [English](README_en.md)
> 基于反指纹浏览器的 MCP Server,专为 JavaScript 逆向工程设计。
一个 MCP(Model Context Protocol)服务器,让 AI 编码助手(Claude Code、Cursor、Cline 等)能够通过 **Camoufox** 反指纹浏览器对目标网站进行:接口参数分析、JS 文件静态分析、动态断点调试、函数 Hook 追踪、网络流量拦截、JSVMP 字节码分析、Cookie/存储管理等逆向操作。
## 为什么选择 Camoufox?
| 特性 | chrome-devtools-mcp | **camoufox-reverse-mcp** |
|-----|--------------------|-----------------------|
| 浏览器内核 | Chrome (Puppeteer) | **Firefox (Camoufox)** |
| 反检测方案 | 无 | **C++ 引擎级指纹伪造** |
| 调试能力 | 有限(无断点) | **Playwright + JS Hook** |
| JSVMP 分析 | 无 | **解释器插桩 + 源码级改写** |
| Hook 持久化 | 不支持 | **context 级持久化,导航后自动重注入** |
**核心优势:**
- Camoufox 在 **C++ 层面** 修改指纹信息,非 JS 层 patch,从根源不可检测
- Juggler 协议沙箱隔离使 Playwright **完全不可被页面 JS 检测到**
- BrowserForge 按 **真实世界流量统计分布** 生成指纹,不是随机拼凑
- 能在 RS、AK、JY、CF 等各类强反爬站点上正常工作
- Hook 使用 `Object.defineProperty` **防覆盖保护**,页面脚本无法恢复原始方法
---
## 快速开始
### 方式一:AI 对话框直接安装(推荐)
在你的 AI 编码工具(Cursor / Claude Code / Codex 等)的对话框中输入:
```
帮我安装下这个mcp工具:camoufox-reverse-mcp
项目地址:https://github.com/WhiteNightShadow/camoufox-reverse-mcp
```
AI 会自动完成克隆、安装依赖、配置 MCP Server 的全部流程。
### 方式二:手动安装
```bash
git clone https://github.com/WhiteNightShadow/camoufox-reverse-mcp.git
cd camoufox-reverse-mcp
pip install -e .
```
> v1.1.0 将 MCP Python SDK 固定在兼容的 v1 系列,并自动规范化可选参数
> schema,可兼容 Moonshot/Kimi 等要求每个工具参数都包含 `type` 的严格服务。
### 客户端配置
<details>
<summary><b>Cursor(.cursor/mcp.json)</b></summary>
```json
{
"mcpServers": {
"camoufox-reverse": {
"command": "python",
"args": ["-m", "camoufox_reverse_mcp"]
}
}
}
```
</details>
<details>
<summary><b>Claude Code</b></summary>
```json
{
"mcpServers": {
"camoufox-reverse": {
"command": "python",
"args": ["-m", "camoufox_reverse_mcp", "--headless"]
}
}
}
```
</details>
<details>
<summary><b>Claude Code(带代理)</b></summary>
```json
{
"mcpServers": {
"camoufox-reverse": {
"command": "python",
"args": [
"-m", "camoufox_reverse_mcp",
"--proxy", "http://127.0.0.1:7890",
"--geoip",
"--humanize"
]
}
}
}
```
</details>
---
## 可用工具一览(35 个)
### 浏览器控制
| 工具 | 说明 |
|------|------|
| `launch_browser` | 启动 Camoufox 反指纹浏览器 |
| `close_browser` | 关闭浏览器,释放资源 |
| `navigate` | 导航到指定 URL(支持 pre_inject_hooks、redirect_chain 追踪) |
| `reload` | 刷新页面 |
| `take_screenshot` | 截图(支持全页面、指定元素) |
| `take_snapshot` | 获取页面无障碍树(token 高效) |
| `click` / `type_text` | 点击元素 / 输入文本 |
| `wait_for` | 等待元素出现或 URL 匹配 |
| `get_page_info` | 获取当前页面 URL、标题、视口尺寸 |
### JS 执行与调试
| 工具 | 说明 |
|------|------|
| `evaluate_js` | 在页面上下文执行任意 JS 表达式(多策略 JSON 解析) |
### 脚本分析
| 工具 | 说明 |
|------|------|
| `scripts(action)` | 脚本管理:`list` 列出 / `get` 获取源码 / `save` 保存到本地 |
| `search_code` | 搜索关键词(`script_url=None` 全量搜索,指定 URL 则单脚本搜索,自动检测压缩文件用字符级上下文) |
### Hook 与追踪
| 工具 | 说明 |
|------|------|
| `hook_function` | Hook 或追踪函数:`mode="intercept"` 注入代码 / `mode="trace"` 非侵入式追踪 |
| `inject_hook_preset` | 一键注入预置 Hook(xhr / fetch / crypto / websocket / debugger_bypass / cookie / runtime_probe) |
| `remove_hooks` | 移除所有 Hook 并恢复原始对象 |
| `get_console_logs` | 获取页面 console 输出 |
### 网络分析
| 工具 | 说明 |
|------|------|
| `network_capture(action)` | 网络捕获控制:`start` / `stop` / `clear` / `status` |
| `list_network_requests` | 列出已捕获的请求(支持 URL / 域名 / 方法 / 类型 / 状态码过滤) |
| `get_network_request` | 获取请求完整详情(`max_body_size` 控制 body 截断) |
| `get_request_initiator` | 获取请求发起的 JS 调用栈 |
| `intercept_request` | 拦截请求:log / block / modify / mock / stop |
### JSVMP 逆向分析
> **反爬类型 → 工具路径对照表**
>
> | 反爬类型 | 代表 | ✅ 推荐路径 | ❌ 禁用 |
> |---|---|---|---|
> | **签名型**(环境即签名) | RS 5/6、AK sensor_data | `instrumentation(action="install")` | `pre_inject_hooks`、`hook_jsvmp_interpreter(mode="proxy")` |
> | **行为型**(参数签名) | TK JSVMP、JY gt4 | `hook_jsvmp_interpreter(mode="proxy")` | — |
> | **纯混淆** | 常见 JS 混淆工具 | 任意组合 | — |
| 工具 | 说明 |
|------|------|
| `hook_jsvmp_interpreter` | JSVMP 运行时探针(`mode="proxy"` 全覆盖 / `mode="transparent"` 签名安全) |
| `instrumentation(action)` | 源码级插桩:`iExcerpt of 11,886 characters
Read on GitHubWould you bet a product on this? Bounded 0–100 and slow moving.
matched fp:9eec67ae7991996a, desc:mcp server