Skills captcha-solver

验证码识别与解决 - 本地OCR识别 + 第三方API / CAPTCHA Recognition and Solving - Local OCR + Third-party APIs

install
source · Clone the upstream repo
git clone https://github.com/openclaw/skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/openclaw/skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/bombfuock/captcha-solver" ~/.claude/skills/openclaw-skills-captcha-solver && rm -rf "$T"
OpenClaw · Install into ~/.openclaw/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/openclaw/skills "$T" && mkdir -p ~/.openclaw/skills && cp -r "$T/skills/bombfuock/captcha-solver" ~/.openclaw/skills/openclaw-skills-captcha-solver && rm -rf "$T"
manifest: skills/bombfuock/captcha-solver/SKILL.md
source content

验证码识别与解决 / CAPTCHA Solver

自动识别和解决各类验证码 / Automatically recognize and solve various CAPTCHAs

支持类型 / Supported Types

本地OCR识别 / Local OCR (免费/Free)

  • 🔤 简单文本验证码 / Simple text CAPTCHA
  • 🔢 数字验证码 / Numeric CAPTCHA
  • ➕ 数学运算验证码 / Math CAPTCHA
  • 🖼️ 滑动验证码(缺口检测) / Slide CAPTCHA (gap detection)

API解决 / API Solving (付费/APIs)

  • reCAPTCHA v2/v3
  • hCaptcha
  • Cloudflare Turnstile
  • 2Captcha / Anti-Captcha

使用方法 / Usage

# 识别图片验证码
python solve.py --image captcha.png

# 解决reCaptcha
python solve.py --recaptcha "site_key" --url "page_url"

# 滑动验证码
python solve.py --slide background.png --template slider.png

配置 / Configuration

本地OCR

# 默认使用Tesseract
TESSERACT_CMD = "/usr/bin/tesseract"
LANG = "eng+chi_sim"  # 支持中英文

API服务 (可选)

# 2Captcha
API_2CAPTCHA = "your_api_key"

# Anti-Captcha  
API_ANTI_CAPTCHA = "your_api_key"

算法 / Algorithms

1. 图像预处理

  • 灰度转换 / Grayscale
  • 二值化 / Binarization
  • 去噪 / Denoising
  • 锐化 / Sharpening

2. 字符分割

  • 连通域分析 / Connected component analysis
  • 投影法 / Projection method

3. 字符识别

  • 模板匹配 / Template matching
  • 机器学习 / ML-based OCR

4. 滑动验证码

  • 边缘检测 / Edge detection
  • 缺口定位 / Gap localization
  • 轨迹生成 / Trajectory generation

示例 / Examples

简单文本识别

from solver import CaptchaSolver

solver = CaptchaSolver()
result = solver.solve_image("captcha.png")
print(result)  # 输出识别的字符

滑动验证码

result = solver.solve_slide(bg_img, slider_img)
print(result)  # 输出滑动距离

reCaptcha

result = solver.solve_recaptcha(site_key, page_url)
print(result)  # 输出token

服务对比 / Service Comparison

服务价格成功率速度
本地OCR免费60-80%
2Captcha$2.99/100095%+
Anti-Captcha$2.00/100095%+

注意事项 / Notes

  1. 优先使用本地OCR,失败再调用API
  2. 遵守网站使用条款
  3. 不要用于非法用途