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 recaptchacloudflyer -K YOUR_CLIENT_KEYOptions:
-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_KEYDocker Compose:
version: 3
services:
cloudflyer:
image: jackzzs/cloudflyer
container_name: cloudflyer
restart: unless-stopped
ports:
- 3000:3000Request:
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
userAgentandproxyis optional. - Supported task types:
CloudflareChallenge,Turnstile,RecaptchaInvisible - For
Turnstiletask,siteKeyis required. - For
RecaptchaInvisibletask,siteKeyandactionis required. - For
CloudflareChallengetask, setcontentto 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 -ddFor 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:1080For 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"
}
}