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

1.7 KiB
Raw Permalink Blame History

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-automationdisable-blink-features=AutomationControlledinit script 隐藏 navigator.webdriver
  • 默认 WORKER_HEADLESS=false,容器内 Xvfb :99
  • 中文 locale / Asia/Shanghai / 常见 Chrome UA
  • Screencast JPEG quality 90
  • MOUSEdown/up 先 move 到位;move 支持 steps;新增 click
  • 前端:mousedown 后 window 级 mousemove/mouseup,滑块拖出画面仍有效

部署

# 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,与本机浏览器不共享