Skip to content

Latest commit

 

History

History
160 lines (127 loc) · 4.43 KB

README.md

File metadata and controls

160 lines (127 loc) · 4.43 KB

RecaptchaV2 - Solver

A Python-based solution for solving Google's reCAPTCHA v2 challenges efficiently (8-12 seconds solve time). The script supports both synchronous and asynchronous operations, with API endpoints for easy integration. Uses audio challenge method with speech recognition for reliable solving.

💬 Discord · 📜 ChangeLog · ⚠️ Report Bug · 💡 Request Feature

⚙️ Installation

  • Requires: Python 3.8+
  • Make a python virtual environment: python3 -m venv venv
  • Source the environment: venv\Scripts\activate (Windows) / source venv/bin/activate (macOS, Linux)
  • Install the requirements: pip install -r requirements.txt
  • Install chrominium: patchright install chromium / python -m patchright install chromium

🔥 Features

  • Multiple Operation Modes: Supports synchronous, asynchronous, and API-based solving
  • Audio Challenge Solving: Uses speech recognition to solve audio challenges automatically
  • Proxy Support: Built-in proxy support for avoiding rate limits
  • Concurrent Solving: Batch processing capability for multiple CAPTCHAs
  • Debug Logging: Comprehensive debug logs for troubleshooting
  • Rate Limit Detection: Automatically detects and handles rate limiting
  • Enterprise Support: Handles both standard and enterprise reCAPTCHA
  • Token Retrieval: Multiple methods for reliable token extraction
  • Error Handling: Robust error handling with detailed feedback

📝 Usage

API Usage

import requests

# Example request
url = "http://localhost:8080/createTask"
data = {
    "task": {
        "type": "ReCaptchaV2TaskProxyless",
        "websiteURL": "https://example.com",
        "websiteKey": "6LcR_RsTAAAAAFJR_ZqPX8_k3_epxrq_x_vG9ZTi",
        # Optional proxy configuration
        "proxy": {
            "server": "proxy.example.com:8080",
            "username": "proxyuser",
            "password": "proxypass"
        }
    }
}

response = requests.post(url, json=data)
result = response.json()

if result["errorId"] == 0:
    token = result["solution"]["gRecaptchaResponse"]
    print(f"Successfully solved! Token: {token[:50]}...")
else:
    print(f"Error: {result['errorDescription']}")

cURL Example

curl -X POST http://localhost:8080/createTask \
  -H "Content-Type: application/json" \
  -d '{
    "task": {
        "type": "ReCaptchaV2TaskProxyless",
        "websiteURL": "https://example.com",
        "websiteKey": "6LcR_RsTAAAAAFJR_ZqPX8_k3_epxrq_x_vG9ZTi"
    }
}'

Response Example

{
  "errorId": 0,
  "status": "ready",
  "solution": {
    "gRecaptchaResponse": "03AGdBq24PBCbwiDRaS_MJ7..."
  }
}

Async Usage

async def main():
  token = await AsyncReCaptchaSolver.solve_recaptcha(
  url="https://example.com",
  site_key="your_site_key",
  proxy={
  "server": "proxy_address",
  "username": "proxy_user",
  "password": "proxy_pass"})
  print(token)

asyncio.run(main())

Sync Usage

token = ReCaptchaSolver.solve_recaptcha(
url="https://example.com",
site_key="your_site_key",
proxy={
"server": "proxy_address",
"username": "proxy_user",
"password": "proxy_pass"
}
)
print(token)

📹 Preview

Preview


❗ Disclaimers

  • I am not responsible for anything that may happen, such as API Blocking, IP ban, etc.
  • This was a quick project that was made for fun and personal use if you want to see further updates, star the repo & create an "issue" here

📜 ChangeLog

v0.0.1 ⋮ 11/12/2024
! Initial release