docs: 将反检测作为核心设计原则,全面更新架构和文档
- architecture.md: 新增反检测为核心第一性原理,新增 §3 反检测设计(13 个指纹维度全覆盖) - anti-detection.md: 新增反检测专项文档(14 节,详尽列举检测方式和应对策略) - api.md: POST /pages 新增 profile 参数,新增 GET /profiles 端点 - cli.md: 新增 --profile 全局选项,新增 visionl profiles 命令 - contributing.md: 新增反检测开发规范、检测站点验证要求 - README.md: 更新项目定位和特性描述
This commit is contained in:
@@ -26,8 +26,8 @@ Monorepo 使用 npm workspaces 管理:
|
||||
|
||||
```
|
||||
packages/
|
||||
├── core/ # 共享类型、HTTP 客户端、工具函数
|
||||
├── daemon/ # 后台守护进程
|
||||
├── core/ # 共享类型(含 FingerprintProfile)、HTTP 客户端、JSON 转义
|
||||
├── daemon/ # 后台守护进程 + stealth 反检测模块
|
||||
└── cli/ # 命令行工具
|
||||
```
|
||||
|
||||
@@ -112,6 +112,34 @@ test: 添加 CLI 自动拉起单元测试
|
||||
refactor: 重构 page-registry 为 Map 实现
|
||||
```
|
||||
|
||||
## 反检测开发规范
|
||||
|
||||
这是 VisionL 最核心的质量要求。任何新功能不能降低反检测评分。
|
||||
|
||||
### 原则
|
||||
|
||||
- GUI 浏览器所有可被页面 JS 读取的属性,VisionL 都必须有真实值(或模拟值)
|
||||
- 禁止暴露任何 `navigator.webdriver`、`--headless`、Playwright/Puppeteer 痕迹
|
||||
- 每个 stealth 模块必须先写测试,验证目标属性值符合真实浏览器
|
||||
|
||||
### 检测站点验证
|
||||
|
||||
每次版本发布前,必须通过以下站点验证:
|
||||
|
||||
| 站点 | 指标 |
|
||||
|------|------|
|
||||
| https://bot.sannysoft.com | 全部绿条 |
|
||||
| https://abrahamjuliot.github.io/creepjs/ | 所有维度分数 ≤ 30% 异常 |
|
||||
| https://fingerprint.com/demo | 访客置信度显示为正常浏览器(非 bot) |
|
||||
|
||||
### 新增 Stealth 模块 Checklist
|
||||
|
||||
1. 确认需要覆盖的 JS API / 属性
|
||||
2. 在真实 Chrome GUI 中抓取基准值
|
||||
3. 实现模块,写入 `daemon/src/stealth/`
|
||||
4. 写测试验证模拟值与基准值一致
|
||||
5. 在三个检测站点验证未被降级
|
||||
|
||||
## 发布流程
|
||||
|
||||
1. 功能开发在 `dev` 分支
|
||||
|
||||
Reference in New Issue
Block a user