auto-account-machine/TODO.md
dengqichen 5c74ad349c aaaaa
2025-11-17 12:11:16 +08:00

4.5 KiB
Raw Blame History

🎯 Windsurf 注册自动化 - 当前状态与问题

已完成

  1. CapSolver 集成 - 完成

    • API Key: CAP-028D3BE0F462CE98724F8568BBC87F692646994A91999FB986A2A5E4BE6BF65A
    • 已保存到 .env 文件
    • 代码集成完成(solveWithCapSolver 方法)
    • 价格: $1.20/1000次
    • 成功率: 99%+
  2. 浏览器方案确定 - rebrowser-puppeteer

    • 使用: "puppeteer": "npm:rebrowser-puppeteer@^23.9.0"
    • 内置反检测,不需要额外配置
    • 已改回使用 require('puppeteer') 而不是 puppeteer-real-browser

⚠️ 当前问题

核心问题:浏览器选择混乱

历史记录

  1. 最初使用 rebrowser-puppeteer - 可以绕过 Cloudflare
  2. 切换到 puppeteer-real-browser (turnstile: false) - 需要手动点击
  3. 尝试 puppeteer-real-browser (turnstile: true) - 在付款页面出现循环点击问题
  4. 尝试 Playwright - Cloudflare 检测失败
  5. 应该回到 rebrowser-puppeteer - 原本就可以用

问题根源

  • rebrowser-puppeteer 本身就能绕过 Cloudflare
  • 不需要 puppeteer-real-browser 的 turnstile 功能
  • puppeteer-real-browser 在付款页面有干扰

🔧 当前测试方案

方案rebrowser-puppeteer + CapSolver已按官方文档修复

CapSolver API 调用(已验证正确)

  • 使用 AntiTurnstileTaskProxyLess
  • 1 秒轮询(官方推荐)
  • 120 秒超时
  • 错误检测和处理
  • Token 获取正确

当前问题2025-11-17 11:00 - 已修复)

  • API Key 正确配置
  • Sitekey 动态获取改进(增加调试日志)
  • Token 注入方式完全重写

核心问题(已识别)

  • Token 注入方式不正确:之前只是简单设置 input.value
  • 没有使用 window.turnstile API
  • 没有正确触发 Turnstile 回调机制

修复方案2025-11-17 11:00 已实施)

  1. 改进 sitekey 获取逻辑(增加来源追踪和 Widget ID 获取)
  2. 使用 5 种方法注入 token
    • 方法 1: window.turnstile.reset() + window.turnstile.render() 重新渲染
    • 方法 2: 直接设置 hidden input 值并触发事件
    • 方法 3: 调用页面回调函数
    • 方法 4: 使用 window.turnstile.ready()
    • 方法 5: 操作 iframe如果可访问
  3. 改进验证完成检测检查按钮、token、iframe状态
  4. 增加详细调试日志

修复关键代码

  • Line 403-454: 改进 sitekey 获取,返回 {sitekey, method, widgetId}
  • Line 545-684: 完全重写 token 注入逻辑,使用 window.turnstile API
  • Line 660-684: 改进验证完成检测

📋 测试计划

测试 1: rebrowser + CapSolver

node src/cli.js register -s windsurf --keep-browser-open

预期结果

  1. 步骤 1-2: 正常填写
  2. 步骤 3: Cloudflare 出现
    • 如果 rebrowser 能绕过 → 直接通过
    • 如果绕不过 → CapSolver 自动解决
  3. 步骤 4-6: 正常完成(重点测试付款页面

关键检查点

  • 步骤 3: Cloudflare 是否自动通过?
  • 步骤 6: 付款页面是否有循环点击?
  • 步骤 6: 银行卡输入是否成功?

🐛 已知 Bug

Bug 1: puppeteer-real-browser (turnstile: true) 在付款页面循环点击

  • 现象: 一直点击 Stripe Link 的"保存信息"checkbox
  • 原因: turnstile 功能误判 checkbox 为验证码
  • 解决: 不使用 puppeteer-real-browser

Bug 2: Playwright 被 Cloudflare 检测

  • 现象: 即使用了 stealth 插件也无法通过
  • 原因: Playwright 的特征容易被检测
  • 解决: 不使用 Playwright

📝 代码状态

当前代码使用:

  • rebrowser-puppeteer已修改
  • CapSolver API 集成(已完成)
  • 自动回退到手动模式(已实现)

需要验证:

  • rebrowser 能否自动绕过 Cloudflare
  • 如果不能CapSolver 能否接管?
  • 付款页面是否正常?

🎯 下一步行动

  1. 立即测试:运行注册流程,观察 Cloudflare 和付款页面
  2. 记录结果
    • Cloudflare 是否自动通过?
    • CapSolver 是否成功?
    • 付款页面是否正常?
  3. 根据结果调整
    • 如果成功 → 完成
    • 如果失败 → 分析原因并调整

💡 重要提醒

不要再切换浏览器方案!

rebrowser-puppeteer 是最佳选择:

  • 内置反检测
  • 不干扰付款页面
  • 配合 CapSolver 完美

保持这个方案,专注优化!