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

148 lines
4.5 KiB
Markdown
Raw 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.

# 🎯 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
```bash
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 完美
**保持这个方案,专注优化!**