Cloudflyer is a Python service that helps solve various web security challenges including Cloudflare challenges, Turnstile captchas, and reCAPTCHA Invisible.
- Cloudflare challenge solver
- Turnstile captcha solver
- reCAPTCHA Invisible solver
- Proxy support (HTTP/SOCKS)
- Concurrent task processing
- RESTful API server
pip install cloudflyer
# Run example cloudflare solving with proxy
python test.py cloudflare -x socks5://127.0.0.1:1080
# Run example turnstile solving
python test.py turnstile
# Run example recaptcha invisible solving
python test.py recaptcha
cloudflyer -K YOUR_CLIENT_KEY
Options:
-K, --clientKey
: Client API key (required)-M, --maxTasks
: Maximum concurrent tasks (default: 1)-P, --port
: Server listen port (default: 3000)-H, --host
: Server listen host (default: localhost)-T, --timeout
: Maximum task timeout in seconds (default: 120)
Docker:
docker run -it --rm -p 3000:3000 jackzzs/cloudflyer -K YOUR_CLIENT_KEY
Docker Compose:
version: 3
services:
cloudflyer:
image: jackzzs/cloudflyer
container_name: cloudflyer
restart: unless-stopped
ports:
- 3000:3000
Request:
POST /createTask
Content-Type: application/json
{
"clientKey": "your_client_key",
"type": "CloudflareChallenge",
"url": "https://example.com",
"userAgent": "...",
"proxy": {
"scheme": "socks5",
"host": "127.0.0.1",
"port": 1080
},
"content": false
}
- Field
userAgent
andproxy
is optional. - Supported task types:
CloudflareChallenge
,Turnstile
,RecaptchaInvisible
- For
Turnstile
task,siteKey
is required. - For
RecaptchaInvisible
task,siteKey
andaction
is required. - For
CloudflareChallenge
task, setcontent
to true to get page html inresponse
.
Response:
{
"taskId": "21dfdca6-fbf5-4313-8ffa-cfc4b8483cc7"
}
Request:
POST /getTaskResult
Content-Type: application/json
{
"clientKey": "your_client_key",
"taskId": "21dfdca6-fbf5-4313-8ffa-cfc4b8483cc7"
}
Response:
{
"status": "completed",
"result": {
"success": true,
"code": 200,
"response": {
...
},
"data": {
"type": "CloudflareChallenge",
...(input)
}
}
}
For Turnstile
task:
"response": {
"token": "..."
}
For CloudflareChallenge
tasks:
"response": {
"cookies": {
"cf_clearance": "..."
},
"headers": {
"User-Agent": "..."
},
"content": "..."
}
For RecaptchaInvisible
tasks:
"response": {
"token": "..."
}
WSSocks is a socks proxy agent for intranet penetration via websocket. It can be used for connecting to the user's network.
For agent proxy:
wssocks server -r -t example_token -a -dd
For user side (using proxy):
wssocks client -u https://ws.zetx.tech -r -t example_token -T 1 -c example_connector_token -dd -E -x socks5://127.0.0.1:1080
For solver side:
POST /createTask
Content-Type: application/json
{
"clientKey": "your_client_key",
"type": "CloudflareChallenge",
"url": "https://example.com",
"userAgent": "...",
"wssocks": {
"url": "https://ws.zetx.tech",
"token": "example_connector_token"
}
}