[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-96094":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":9,"language":10,"languages":9,"totalLinesOfCode":9,"stars":11,"forks":12,"watchers":13,"openIssues":14,"contributorsCount":14,"subscribersCount":14,"size":14,"stars1d":14,"stars7d":14,"stars30d":15,"stars90d":14,"forks30d":14,"starsTrendScore":14,"compositeScore":16,"rankGlobal":9,"rankLanguage":9,"license":17,"archived":18,"fork":18,"defaultBranch":19,"hasWiki":20,"hasPages":18,"topics":21,"createdAt":9,"pushedAt":9,"updatedAt":25,"readmeContent":26,"aiSummary":27,"trendingCount":14,"starSnapshotCount":14,"syncStatus":28,"lastSyncTime":29,"discoverSource":30},96094,"cloudflare-turnstile-bypass","henryzawadzki6542\u002Fcloudflare-turnstile-bypass","henryzawadzki6542","Work with Cloudflare Turnstile in Python: find the sitekey, get a valid cf-turnstile-response token in seconds. Dependency-free library + CLI, built for CI and automation.",null,"Python",408,29,18,0,1,44.53,"MIT License",false,"main",true,[22,23,24],"cloudflare","solver","turnstile","2026-09-20 04:01:32","\u003Ca href=\"https:\u002F\u002Fpeak.fo\u002F?utm_source=github&utm_medium=readme&utm_campaign=packages&utm_content=cloudflare-turnstile-bypass\">\n  \u003Cimg src=\".\u002Fassets\u002Fpeak-banner.png\" alt=\"Peak - solve Cloudflare Turnstile & the 5s challenge in ~1s\" width=\"100%\">\n\u003C\u002Fa>\n\n# Cloudflare Turnstile Bypass - How to Bypass the Turnstile Challenge in Python\n\n**Cloudflare Turnstile Bypass** is a small, dependency-free Python package that\nbypasses the Cloudflare Turnstile challenge programmatically: it **finds the\nTurnstile sitekey** on any page, **creates a valid `cf-turnstile-response`\ntoken** via the Peak API, and hands you the finished token - no browser, no\nheadless Chrome, no fingerprint fight. Designed for CI pipelines, QA\nautomation, and integration engineering.\n\n**Table of Contents:**\n- What \"bypassing Turnstile\" actually means\n- Quick start\n- Finding a Turnstile sitekey\n- Bypassing the challenge\n- Python API reference\n- CLI usage\n- Examples\n- Why a solver beats headless browsers\n- Powered by Peak\n- License\n\n## What \"bypassing Turnstile\" actually means\n\nCloudflare Turnstile is a challenge widget that issues a signed token. A\n\"bypass\" never attacks Cloudflare's edge - that is not practical or legal. What\nworks, and what this package does, is:\n\n1. **find the sitekey** the target page is protecting itself with,\n2. **solve the challenge** for that sitekey through a solving service, and\n3. **inject the resulting token** into your request exactly like a browser\n   would after completing the widget.\n\nTo Cloudflare's backend your request now carries a valid, signed,\nnon-expired `cf-turnstile-response` - which is the entire contract the widget\nenforces. That is the bypass.\n\n## Quick start\n\n```console\n$ export PEAK_API_KEY=pk_your_api_key\n$ python -m cloudflare_turnstile_bypass --url https:\u002F\u002Fexample.com\u002F\n0.AgAAABBqzz...\n```\n\nOr find the sitekey first, then bypass:\n\n```python\nfrom cloudflare_turnstile_bypass import find_sitekey, bypass_turnstile\n\nsitekey = find_sitekey(\"https:\u002F\u002Fexample.com\u002F\")\ntoken = bypass_turnstile(\"pk_...\", sitekey, \"https:\u002F\u002Fexample.com\u002F\")\nprint(token)  # -> \"0.AgAAABBqzz...\"\n```\n\n## Finding a Turnstile sitekey\n\nTurnstile widgets expose the sitekey in the markup:\n\n```html\n\u003Cdiv class=\"cf-turnstile\" data-sitekey=\"0x4AAAAAAAxxxx\">\u003C\u002Fdiv>\n```\n\n`find_sitekey()` reads it for you:\n\n```python\nfrom cloudflare_turnstile_bypass import find_sitekey\n\nsitekey = find_sitekey(\"https:\u002F\u002Fexample.com\u002F\")\nprint(sitekey)  # -> \"0x4AAAAAAAxxxx\"\n```\n\nInvisible (enterprise) widgets render the same attribute; if a page builds the\nwidget from JavaScript instead, the regex also matches `sitekey=` and\n`render=` in the bundle source.\n\n## Bypassing the challenge\n\n```python\nfrom cloudflare_turnstile_bypass import bypass_turnstile\n\ntoken = bypass_turnstile(\n    \"pk_your_api_key\",          # your Peak key (free, no card)\n    \"0x4AAAAAAAxxxx\",           # the sitekey you found\n    \"https:\u002F\u002Fexample.com\u002F\",     # the page URL the widget lives on\n)\n# token is a valid cf-turnstile-response value\n```\n\nWith a proxy (the solve runs on residential infrastructure, so the token\nmatches your exit IP region):\n\n```python\ntoken = bypass_turnstile(\n    \"pk_your_api_key\",\n    \"0x4AAAAAAAxxxx\",\n    \"https:\u002F\u002Fexample.com\u002F\",\n    proxy=\"http:\u002F\u002Fuser:pass@proxy:8080\",\n)\n```\n\n## Python API reference\n\n| Function | Purpose |\n|---|---|\n| `read_page(url)` | Fetch a page's HTML (plain `urllib`, no dependencies). |\n| `find_sitekey(url)` | Extract the Turnstile sitekey from a page or HTML string. |\n| `find_action(html)` | Extract an optional `data-action` value. |\n| `bypass_turnstile(api_key, sitekey, url)` | Solve the challenge and return a ready token. |\n| `token_for_page(api_key, url)` | Find + bypass in a single call, returns `BypassResult`. |\n\n`BypassResult` carries `.token`, `.sitekey`, and the raw solver response.\n\n## CLI usage\n\n```console\n$ python -m cloudflare_turnstile_bypass --url https:\u002F\u002Fexample.com\u002Flogin\n0.AgAAABBqzz...\n\n$ python -m cloudflare_turnstile_bypass --url https:\u002F\u002Fexample.com\u002Flogin --proxy http:\u002F\u002Fuser:pass@proxy:8080\n```\n\nExit code 0 + the token on stdout - pipe it straight into `curl` or your\nE2E test harness.\n\n## Examples\n\nSee [`examples\u002Fsubmit_bypass.py`](examples\u002Fsubmit_bypass.py) for an end-to-end\nflow: find the sitekey, bypass the challenge, and POST the token with your\nform payload.\n\n## Why a solver beats headless browsers\n\n- **No browser to detect.** Turnstile fingerprints the browser environment;\n  headless Chrome and CDP automation are exactly what it looks for.\n- **One dependency-free file.** No Playwright, no Selenium, no matching\n  Chromium build on your CI runner.\n- **Pay for success.** Failed solves cost nothing; a headless fleet burns\n  compute whether it passes or not.\n\n> This package uses [Peak](https:\u002F\u002Fpeak.fo\u002F?utm_source=github&utm_medium=readme&utm_campaign=packages&utm_content=cloudflare-turnstile-bypass) to solve Turnstile.\n> - Solve Cloudflare Turnstile & the 5s challenge in about a second\n> - Pay only for successful solves - from $0.8 \u002F 1,000\n> - **1,000 free solves to start - no card.** [Grab 1,000 free solves](https:\u002F\u002Fpeak.fo\u002F?utm_source=github&utm_medium=readme&utm_campaign=packages&utm_content=cloudflare-turnstile-bypass)\n>\n> [Get your free API key](https:\u002F\u002Fpeak.fo\u002F?utm_source=github&utm_medium=readme&utm_campaign=packages&utm_content=cloudflare-turnstile-bypass) · [Docs](https:\u002F\u002Fpeak.fo\u002Fdocs\u002Fturnstile?utm_source=github&utm_medium=readme&utm_campaign=packages&utm_content=cloudflare-turnstile-bypass) · [Pricing](https:\u002F\u002Fpeak.fo\u002Fpricing?utm_source=github&utm_medium=readme&utm_campaign=packages&utm_content=cloudflare-turnstile-bypass)\n\n## License\n\nMIT - see [LICENSE](LICENSE).\n","这是一个用于自动化绕过 Cloudflare Turnstile 人机验证的 Python 工具，不依赖浏览器或复杂环境。它通过解析网页提取 Turnstile sitekey，并调用 Peak API 生成合法有效的 cf-turnstile-response token，全程无外部依赖、支持 CLI 和编程调用。核心特点是轻量（dependency-free）、面向自动化场景（如 CI\u002FCD、QA 测试、集成测试），适用于需批量访问受 Turnstile 保护页面但无需真实用户交互的技术集成任务。",2,"2026-09-10 02:30:03","CREATED_QUERY"]