auto-account-machine/TASK_REMOVE_CAPSOLVER.md
2025-11-17 17:26:10 +08:00

3.5 KiB
Raw Permalink Blame History

任务:删除 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 文件中配置

删除策略

  1. 保留手动验证逻辑: CloudflareHandler 必须保留
  2. 删除 CapSolver 扩展相关代码: 包括初始化、提示、自动处理逻辑
  3. 删除废弃的 API 方法: 完整移除 solveWithCapSolver() 方法
  4. 简化验证流程: 直接使用手动验证,不再尝试自动验证

Proposed Solution

方案选择:渐进式删除

采用安全的渐进式删除策略,确保每一步修改后代码仍可正常运行:

  1. 删除构造函数中的 CapSolver 初始化

    • 移除 this.capsolverKey 变量
    • 移除相关日志输出
  2. 删除浏览器初始化中的 CapSolver 提示

    • 移除扩展安装提示
  3. 简化 step2_setPassword() 方法

    • 移除 CapSolver 扩展自动处理部分第543-580行
    • 保留按钮点击和页面跳转逻辑
  4. 删除 solveWithCapSolver() 方法

    • 完整移除整个方法第597-1021行
  5. 简化 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()
  • 验证: 检查代码逻辑完整性