Skip to content

aini123152011/captcha-solver

Repository files navigation

Captcha Solver

reCAPTCHA v2 自动识别服务

功能特性

  • ✅ 支持 reCAPTCHA v2 图像挑战(AI 识别)
  • ✅ 支持 reCAPTCHA v2 音频挑战(ASR 语音识别)
  • ✅ 两种求解模式:URL 模式 / Sitekey 模式
  • ✅ 兼容 2captcha API 格式
  • ✅ 用户系统、余额管理、交易记录
  • ✅ Docker 一键部署,Worker 可横向扩展

快速开始

Docker 部署(推荐)

# 克隆项目
git clone https://github.com/aini123152011/captcha-solver.git
cd captcha-solver

# 配置环境变量
cp deploy/.env.production .env
# 编辑 .env 文件,设置 SECRET_KEY 和 DB_PASSWORD

# 启动服务
docker compose up -d

# 数据库迁移
docker compose exec api alembic upgrade head

服务将在 http://localhost:8000 启动

本地开发

# 创建虚拟环境
python -m venv .venv
source .venv/bin/activate  # Windows: .venv\Scripts\activate

# 安装依赖
pip install -e ".[dev]"

# 安装 Playwright 浏览器
playwright install chromium

# 配置环境变量
cp .env.example .env

# 启动服务
uvicorn captcha_solver.main:app --reload

API 使用

1. 创建任务

URL 模式(访问实际网站):

curl -X POST http://localhost:8000/api/createTask \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "task": {
      "type": "RecaptchaV2Task",
      "websiteURL": "https://example.com",
      "websiteKey": "6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-"
    }
  }'

Sitekey 模式(仅需 sitekey + 域名):

curl -X POST http://localhost:8000/api/createTask \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "task": {
      "type": "RecaptchaV2Task",
      "websiteKey": "6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-",
      "websiteDomain": "https://example.com"
    }
  }'

2. 获取结果

curl http://localhost:8000/api/getTaskResult/TASK_ID \
  -H "Authorization: Bearer YOUR_API_KEY"

响应示例:

{
  "status": "ready",
  "solution": {
    "gRecaptchaResponse": "03AGdBq24PBCb..."
  }
}

3. 2captcha 兼容 API

# 创建任务
curl "http://localhost:8000/in.php?key=YOUR_API_KEY&method=userrecaptcha&googlekey=SITE_KEY&pageurl=PAGE_URL"

# 获取结果
curl "http://localhost:8000/res.php?key=YOUR_API_KEY&action=get&id=TASK_ID"

项目结构

src/captcha_solver/
├── api/           # HTTP API 路由
├── auth/          # 用户认证 (JWT)
├── admin/         # 管理后台 (SQLAdmin)
├── domain/        # 数据模型
├── services/      # 业务服务
├── solver/        # 验证码求解引擎
├── ai/            # AI 图像识别 (SAM3/OpenAI/Claude)
├── asr/           # 音频转文字 (Whisper)
├── browser/       # Playwright 浏览器池
└── queue/         # arq 任务队列

技术栈

  • Web 框架: FastAPI
  • 用户认证: FastAPI-Users (JWT)
  • 管理后台: SQLAdmin
  • 数据库: SQLAlchemy (SQLite/PostgreSQL)
  • 任务队列: arq + Redis
  • 浏览器: Playwright (Chromium)
  • AI: SAM3 / OpenAI / Claude

部署

详见 deploy/README.md

扩展 Worker

# 启动 5 个 Worker(约 50 并发)
docker compose up -d --scale worker=5

生产环境

# 包含 Nginx + HTTPS
docker compose --profile production up -d

配置说明

环境变量 说明 默认值
SECRET_KEY JWT 密钥 必填
DATABASE_URL 数据库连接 SQLite
REDIS_URL Redis 连接 localhost:6379
BROWSER_PROXIES 代理列表(逗号分隔)
SAM3_ENABLED 启用 SAM3 AI true
OPENAI_API_KEY OpenAI API Key

License

MIT

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages