{"id":26976849,"url":"https://github.com/zetxtech/cloudflyer","last_synced_at":"2025-07-25T12:38:08.358Z","repository":{"id":285890378,"uuid":"959456906","full_name":"zetxtech/cloudflyer","owner":"zetxtech","description":"A Cloudflare/Turnstile captcha bypass API server.","archived":false,"fork":false,"pushed_at":"2025-04-03T08:14:36.000Z","size":1586,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-03T08:22:26.491Z","etag":null,"topics":["automation","bypass","cloudflare","python","turnstile"],"latest_commit_sha":null,"homepage":"","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zetxtech.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-04-02T20:13:25.000Z","updated_at":"2025-04-03T08:14:39.000Z","dependencies_parsed_at":"2025-04-03T08:22:31.435Z","dependency_job_id":"8d64b147-cf0c-42d0-bebc-929f48b63350","html_url":"https://github.com/zetxtech/cloudflyer","commit_stats":null,"previous_names":["zetxtech/cloudflyer"],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zetxtech%2Fcloudflyer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zetxtech%2Fcloudflyer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zetxtech%2Fcloudflyer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zetxtech%2Fcloudflyer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zetxtech","download_url":"https://codeload.github.com/zetxtech/cloudflyer/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248063799,"owners_count":21041853,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["automation","bypass","cloudflare","python","turnstile"],"created_at":"2025-04-03T12:17:10.407Z","updated_at":"2025-04-09T15:50:26.060Z","avatar_url":"https://github.com/zetxtech.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Cloudflyer\r\n\r\nCloudflyer is a Python service that helps solve various web security challenges including Cloudflare challenges, Turnstile captchas, and reCAPTCHA Invisible.\r\n\r\n## Features\r\n\r\n- Cloudflare challenge solver\r\n- Turnstile captcha solver\r\n- reCAPTCHA Invisible solver\r\n- Proxy support (HTTP/SOCKS)\r\n- Concurrent task processing\r\n- RESTful API server\r\n\r\n## Installation\r\n\r\n```bash\r\npip install cloudflyer\r\n```\r\n\r\n## Quick Start\r\n\r\n### Example Script\r\n\r\n```bash\r\n# Run example cloudflare solving with proxy\r\npython test.py cloudflare -x socks5://127.0.0.1:1080\r\n\r\n# Run example turnstile solving\r\npython test.py turnstile\r\n\r\n# Run example recaptcha invisible solving\r\npython test.py recaptcha\r\n```\r\n\r\n### Solver Server\r\n\r\n```bash\r\ncloudflyer -K YOUR_CLIENT_KEY\r\n```\r\n\r\nOptions:\r\n- `-K, --clientKey`: Client API key (required)\r\n- `-M, --maxTasks`: Maximum concurrent tasks (default: 1)\r\n- `-P, --port`: Server listen port (default: 3000)\r\n- `-H, --host`: Server listen host (default: localhost)\r\n- `-T, --timeout`: Maximum task timeout in seconds (default: 120)\r\n\r\n### Docker\r\n\r\nDocker:\r\n\r\n```bash\r\ndocker run -it --rm -p 3000:3000 jackzzs/cloudflyer -K YOUR_CLIENT_KEY\r\n```\r\n\r\nDocker Compose:\r\n\r\n```yaml\r\nversion: 3\r\nservices:\r\n  cloudflyer:\r\n    image: jackzzs/cloudflyer\r\n    container_name: cloudflyer\r\n    restart: unless-stopped\r\n    ports:\r\n      - 3000:3000\r\n```\r\n\r\n## API Endpoints for Server\r\n\r\n### Create Task\r\n\r\nRequest:\r\n\r\n```\r\nPOST /createTask\r\nContent-Type: application/json\r\n\r\n{\r\n  \"clientKey\": \"your_client_key\",\r\n  \"type\": \"CloudflareChallenge\",\r\n  \"url\": \"https://example.com\",\r\n  \"userAgent\": \"...\",\r\n  \"proxy\": {\r\n    \"scheme\": \"socks5\",\r\n    \"host\": \"127.0.0.1\",\r\n    \"port\": 1080\r\n  },\r\n  \"content\": false\r\n}\r\n```\r\n\r\n1. Field `userAgent` and `proxy` is optional.\r\n2. Supported task types: `CloudflareChallenge`, `Turnstile`, `RecaptchaInvisible`\r\n3. For `Turnstile` task, `siteKey` is required.\r\n4. For `RecaptchaInvisible` task, `siteKey` and `action` is required.\r\n5. For `CloudflareChallenge` task, set `content` to true to get page html in `response`.\r\n\r\nResponse:\r\n\r\n```\r\n{\r\n    \"taskId\": \"21dfdca6-fbf5-4313-8ffa-cfc4b8483cc7\"\r\n}\r\n```\r\n\r\n### Get Task Result\r\n\r\nRequest:\r\n\r\n```\r\nPOST /getTaskResult\r\nContent-Type: application/json\r\n{\r\n  \"clientKey\": \"your_client_key\",\r\n  \"taskId\": \"21dfdca6-fbf5-4313-8ffa-cfc4b8483cc7\"\r\n}\r\n```\r\n\r\nResponse:\r\n\r\n```\r\n{\r\n    \"status\": \"completed\",\r\n    \"result\": {\r\n        \"success\": true,\r\n        \"code\": 200,\r\n        \"response\": {\r\n            ...\r\n        },\r\n        \"data\": {\r\n            \"type\": \"CloudflareChallenge\",\r\n            ...(input)\r\n        }\r\n    }\r\n}\r\n```\r\n\r\nFor `Turnstile` task:\r\n\r\n```\r\n\"response\": {\r\n    \"token\": \"...\"\r\n}\r\n```\r\n\r\nFor `CloudflareChallenge` tasks:\r\n\r\n```\r\n\"response\": {\r\n    \"cookies\": {\r\n        \"cf_clearance\": \"...\"\r\n    },\r\n    \"headers\": {\r\n        \"User-Agent\": \"...\"\r\n    },\r\n    \"content\": \"...\"\r\n}\r\n```\r\n\r\nFor `RecaptchaInvisible` tasks:\r\n\r\n```\r\n\"response\": {\r\n    \"token\": \"...\"\r\n}\r\n```\r\n\r\n## WSSocks\r\n\r\n[WSSocks](https://github.com/zetxtech/wssocks) is a socks proxy agent for intranet penetration via websocket. It can be used for connecting to the user's network.\r\n\r\nFor agent proxy:\r\n\r\n```bash\r\nwssocks server -r -t example_token -a -dd\r\n```\r\n\r\nFor user side (using proxy):\r\n\r\n```bash\r\nwssocks 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\r\n```\r\n\r\nFor solver side:\r\n\r\n```\r\nPOST /createTask\r\nContent-Type: application/json\r\n\r\n{\r\n  \"clientKey\": \"your_client_key\",\r\n  \"type\": \"CloudflareChallenge\",\r\n  \"url\": \"https://example.com\",\r\n  \"userAgent\": \"...\",\r\n  \"wssocks\": {\r\n    \"url\": \"https://ws.zetx.tech\",\r\n    \"token\": \"example_connector_token\"\r\n  }\r\n}\r\n```\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzetxtech%2Fcloudflyer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzetxtech%2Fcloudflyer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzetxtech%2Fcloudflyer/lists"}