3.5 KiB
3.5 KiB
任务:删除 CAPSOLVER 相关代码
Analysis
CAPSOLVER 代码位置分析
通过完整阅读 windsurf.js 文件,发现 CAPSOLVER 相关代码分布在以下位置:
1. 构造函数中的初始化 (第34-40行)
- 初始化
this.capsolverKey变量 - 输出 CapSolver 启用/未配置的日志
2. 浏览器初始化中的提示 (第319-327行)
- 在
initBrowser()方法中提示用户安装 CapSolver 扩展
3. 步骤2中的自动验证处理 (第543-580行)
- 在
step2_setPassword()中使用 CapSolver 扩展自动处理 Turnstile - 包含等待验证完成的逻辑
4. 废弃的 API 方法 (第597-1021行)
solveWithCapSolver()方法- 已标记为 @deprecated
- 使用 CapSolver API 方式(不是扩展方式)
5. Cloudflare 验证处理方法 (第1023-1176行)
handleCloudflareVerification()方法- 前半部分使用 CapSolver 扩展自动处理
- 后半部分回退到手动模式(使用 CloudflareHandler)
核心依赖关系
- 步骤2 (
step2_setPassword()): 依赖 CapSolver 进行 Turnstile 验证 - 手动验证回退: 已有
CloudflareHandler作为手动验证方案 - 环境变量:
CAPSOLVER_API_KEY在.env文件中配置
删除策略
- 保留手动验证逻辑: CloudflareHandler 必须保留
- 删除 CapSolver 扩展相关代码: 包括初始化、提示、自动处理逻辑
- 删除废弃的 API 方法: 完整移除
solveWithCapSolver()方法 - 简化验证流程: 直接使用手动验证,不再尝试自动验证
Proposed Solution
方案选择:渐进式删除
采用安全的渐进式删除策略,确保每一步修改后代码仍可正常运行:
-
删除构造函数中的 CapSolver 初始化
- 移除
this.capsolverKey变量 - 移除相关日志输出
- 移除
-
删除浏览器初始化中的 CapSolver 提示
- 移除扩展安装提示
-
简化 step2_setPassword() 方法
- 移除 CapSolver 扩展自动处理部分(第543-580行)
- 保留按钮点击和页面跳转逻辑
-
删除 solveWithCapSolver() 方法
- 完整移除整个方法(第597-1021行)
-
简化 handleCloudflareVerification() 方法
- 移除 CapSolver 扩展自动处理部分(第1027-1074行)
- 直接使用 CloudflareHandler 手动验证
优势
- 代码更简洁,移除未使用的自动化依赖
- 保留完整的手动验证流程
- 不影响现有功能逻辑
Plan
步骤1: 删除构造函数中的 CapSolver 初始化
- 文件:
windsurf.js - 行数: 34-40
- 操作: 删除
this.capsolverKey及相关日志
步骤2: 删除浏览器初始化中的提示
- 文件:
windsurf.js - 行数: 319-327
- 操作: 删除 CapSolver 扩展提示
步骤3: 简化 step2_setPassword() 方法
- 文件:
windsurf.js - 行数: 543-580
- 操作: 删除 CapSolver 自动验证逻辑
步骤4: 删除 solveWithCapSolver() 方法
- 文件:
windsurf.js - 行数: 597-1021
- 操作: 完整删除整个方法及其注释
步骤5: 简化 handleCloudflareVerification() 方法
- 文件:
windsurf.js - 行数: 1027-1074
- 操作: 删除 CapSolver 扩展处理部分,直接使用手动验证
Progress
- 步骤1: 删除构造函数中的 CapSolver 初始化
- 步骤2: 删除浏览器初始化中的提示
- 步骤3: 简化 step2_setPassword()
- 步骤4: 删除 solveWithCapSolver() 方法
- 步骤5: 简化 handleCloudflareVerification()
- 验证: 检查代码逻辑完整性