Files
Nexus/docs/changelog/2026-06-12-browser-captcha-stealth.md
2026-07-08 22:31:31 +08:00

49 lines
1.7 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 2026-06-12 远程浏览器 — 验证码 / 反自动化优化
## 摘要
针对阿里云等站点验证码失败:Worker 改为 headed + Xvfb + 反自动化指纹;前端滑块拖动支持窗口级鼠标跟踪与平滑步进。
## 动机
用户反馈阿里云验证码过不去。根因非 Nexus URL 拦截,而是 headless Chromium 被风控识别,且拖滑块时鼠标移出 canvas 会丢失 move 事件。
## 涉及文件
| 区域 | 文件 |
|------|------|
| Worker | `browser_stealth.py`, `session_manager.py`, `config.py`, `Dockerfile`, `docker-entrypoint.sh`, `docker-compose.yml` |
| 前端 | `useRemoteBrowserSession.ts`, `GlobalBrowserPanel.vue` |
## 变更要点
- 去掉 `--enable-automation``disable-blink-features=AutomationControlled`init script 隐藏 `navigator.webdriver`
- 默认 `WORKER_HEADLESS=false`,容器内 Xvfb `:99`
- 中文 locale / Asia/Shanghai / 常见 Chrome UA
- Screencast JPEG quality 90
- MOUSE`down/up` 先 move 到位;`move` 支持 `steps`;新增 `click`
- 前端:mousedown 后 `window` 级 mousemove/mouseup,滑块拖出画面仍有效
## 部署
```bash
# Worker
cd /opt/nexus-browser-worker && docker compose up -d --build
# 前端
cd frontend && npx vite build
# sync_webapp_to_container.sh
```
Worker `.env` 可选:`WORKER_HEADLESS=false`(默认)、`WORKER_SCREENCAST_QUALITY=90`
## 验证
- 打开 `https://account.aliyun.com` 或控制台登录页,滑块可拖到底
- 仍失败时:Worker IP 为机房段,阿里云可能加强风控 — 可本机 Chrome 登录后仅浏览公网页,或换住宅 IP Worker
## 残余限制
- 无法保证 100% 通过所有风控(拼图、短信、设备指纹)
- Cookie 在 Worker Profile,与本机浏览器不共享