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
·
- 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
- 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
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 -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"
}
}'
{
"errorId": 0,
"status": "ready",
"solution": {
"gRecaptchaResponse": "03AGdBq24PBCbwiDRaS_MJ7..."
}
}
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())
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)
- 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
v0.0.1 ⋮ 11/12/2024
! Initial release