
Cloudflare Turnstile Umgehungstool | Cloudflare-Bypass-Tool auf Basis des SeleniumBase-UC-Modus | Unterstützt Mac/Windows/Linux
| Deutsch | 中文 |
|---|
Deutsch
Dieses Projekt ist ausschließlich für Forschungszwecke und autorisierte Automatisierungstests gedacht. Sie müssen die geltenden Gesetze und die Nutzungsbedingungen jeder Zielwebsite einhalten.
中文
本项目仅供学习研究与已授权的自动化测试使用。使用时须遵守当地法律法规及目标站点服务条款。
Deutsch
Die Cloudflare-Abwehrmaßnahmen in den Jahren 2025–2026 sind mehrschichtig: Netzwerk-Reputation, TLS/HTTP-Fingerprinting, JavaScript-Challenges, Turnstile-Interaktion und Automatisierungsprotokoll-Signale. Ein einzelner HTTP-Client reicht für Turnstile nicht aus.
Dieses Repository bietet fünf lauffähige Strategien sowie einen klassenbasierten Wrapper, sodass Sie den passenden Weg für Einzelsitzungs-Forschung, Batch-Jobs, reine CDP-Steuerung oder die Wiederverwendung einer bereits gelösten Sitzung auf TLS-Ebene wählen können.
Empfohlene Basislinie (Open-Source-Weg):
Headed real Chrome
+ optional residential / high-quality egress IP
+ UC reconnect or pure CDP
+ OS-level captcha click when interaction is required
Nicht als primärer Turnstile-Weg empfohlen:
True headless hard-target Managed Turnstile
Pure curl_cffi / tls-client against Turnstile
playwright-stealth alone as a “one-click” solution
中文
2025–2026 年 Cloudflare 检测已分层:网络信誉、TLS/HTTP 指纹、JS Challenge、Turnstile 交互,以及自动化协议特征。单靠 HTTP 客户端无法完成 Turnstile。
本仓库提供 5 套可运行方案 与 1 个类封装入口,覆盖单会话研究、批量任务、纯 CDP 控制,以及浏览器解出后的 TLS 层会话复用。
开源场景下更稳妥的基线:
有头真实 Chrome
+ 可选住宅或高质量出口 IP
+ UC 断连重连 或 纯 CDP
+ 需要交互时使用操作系统级点击
不建议作为 Turnstile 主路径:
真无头模式硬刚 Managed Turnstile
纯 curl_cffi / tls-client 直打 Turnstile
单独依赖 playwright-stealth 作为“一键方案”
| # | Skript | Strategie / 策略 | Turnstile | Geeignet für / 适用场景 |
|---|---|---|---|---|
| 1 | bypass.py | SeleniumBase UC-Modus | Ja | Standardpfad für Einzelsitzungen / 默认单会话主路径 |
| 2 | simple_bypass.py | UC + parallel / Proxy-Rotation | Ja | Batch-Jobs; GUI-Klick-Konflikte möglich / 批量任务;并行时可能争抢系统鼠标 |
| 3 | bypass_nodriver.py | nodriver reines CDP | Ja | CDP ohne Chromedriver; benötigt OpenCV; AGPL-3.0 / 无 chromedriver;需 OpenCV;注意 AGPL |
| 4 | bypass_curl_cffi.py | TLS-Fingerprint / Cookie-Wiederverwendung | Nein | Nur alte JS-Challenges oder Cookie-Wiederverwendung nach dem Lösen / 仅旧版 Challenge 或 Cookie 复用 |
| 5 | bypass_cdp.py | SeleniumBase CDP-Modus | Ja | Nachfolgepfad zum reinen UC im Jahr 2026 / UC 后继路径 |
| — | bypass_seleniumbase.py | UC-Klassenwrapper | Ja | Einbettbare API für die Weiterentwicklung / 可 import 的二次开发封装 |
| Priorität / 优先级 | Wahl / 选择 | Hinweise / 说明 |
|---|---|---|
| 1 | bypass.py oder bypass_cdp.py | Primärer Forschungseinstieg / 主入口 |
| 2 | bypass_nodriver.py | Starke CDP-Alternative; AGPL beachten / 强备选;注意许可证 |
| 3 | simple_bypass.py | Durchsatz / Rotation; GUI-Klicks bei Bedarf serialisieren / 吞吐与轮换;GUI 点击宜串行 |
| 4 | Im Browser lösen, dann curl_cffi wiederverwenden | Gleiche UA und Ausgangs-IP beibehalten / 须保持 UA 与出口 IP 一致 |
| Vermeiden | Reines HTTP gegen Turnstile | Kann JS / Interaktionen nicht ausführen / 无法执行 JS 与交互 |
| Einschränkung / 限制 | Detail / 说明 |
|---|---|
| Keine JS-Laufzeitumgebung | Kann Turnstile / modernen Challenge-PoW nicht abschließen |
| Kein DOM / keine Web-APIs | Navigator-, WebGL- und Canvas-Signale fehlen |
| Keine Interaktion | Der verwaltete Modus erfordert einen echten Kontrollkästchen-Klick |
| TLS ist nur ein Signal | Alleiniger JA3/JA4-Abgleich reicht nicht aus |
| Funktion / 功能 | Beschreibung / 说明 |
|---|---|
| SeleniumBase UC-Modus | Treiber-Trennen/Wiederverbinden + Captcha-Klick auf Betriebssystemebene |
| SeleniumBase CDP-Modus | Reiner CDP-Pfad mit reduzierten WebDriver-Anbindungssignalen |
| nodriver-CDP | Kein chromedriver; verify_cf()-Vorlagenklick (OpenCV) |
| Parallel / Proxy-Rotation | Batch-Worker und Proxy-Datei-Rotation in simple_bypass.py |
| Timeout-Steuerung | Ende-zu-Ende-Timeout bei den primären Abläufen |
| Cookie-Export | JSON- und Netscape-Formate, soweit zutreffend |
| Plattformübergreifend | macOS, Windows, Linux (Linux benötigt Xvfb, wenn der Host über keine Anzeige verfügt) |
| Element / 项目 | Anforderung / 要求 |
|---|---|
| Python | 3.9+ |
| Browser | Google Chrome (oder Chromium unter Linux ohne amd64) |
| Anzeige | Sichtbare GUI bevorzugt; Linux-Server: Xvfb / virtuelle Anzeige |
| Betriebssystem | macOS, Windows, Linux |
| Optionaler Proxy | HTTP / HTTPS / SOCKS5 mit funktionierendem HTTPS CONNECT |
Die Python-Pakete sind in requirements.txt aufgelistet (SeleniumBase, nodriver, curl_cffi, OpenCV headless, pyvirtualdisplay usw.).
Python 依赖见 requirements.txt(含 SeleniumBase、nodriver、curl_cffi、OpenCV headless、pyvirtualdisplay 等)。
git clone https://github.com/1837620622/cloudflare-bypass-2026.git
cd cloudflare-bypass-2026
pip install -r requirements.txt
Installieren Sie Google Chrome, bevor Sie browserbasierte Skripte ausführen.
请先安装 Google Chrome,再运行浏览器方案。
git clone https://github.com/1837620622/cloudflare-bypass-2026.git
cd cloudflare-bypass-2026
sudo bash install_linux.sh
Manuelle Alternative / 手动安装:
sudo apt-get update
sudo apt-get install -y xvfb libglib2.0-0 libnss3 libatk1.0-0 libatk-bridge2.0-0 \
libcups2 libdrm2 libxkbcommon0 libgbm1 libasound2
python3 -m pip install -r requirements.txt
Hinweise / 说明
.deb-Pakete sind hauptsächlich für amd64 gedacht. Installieren Sie auf ARM-Hosts selbst einen passenden Chromium-/Chrome-Build.# Install dependencies / 安装依赖
pip install -r requirements.txt
# Method 1 — UC Mode (recommended default) / 方案1 默认推荐
python bypass.py https://example.com
python bypass.py https://example.com -p http://127.0.0.1:7890 -t 90
# Method 5 — CDP Mode / 方案5 CDP
python bypass_cdp.py https://example.com
# Method 3 — nodriver / 方案3
python bypass_nodriver.py https://example.com
Ersetzen Sie https://example.com durch ein Ziel, das Sie testen dürfen.
请将示例 URL 替换为你有权测试的目标地址。
bypass.py (Standard)Einzelne Chrome-Sitzung im SeleniumBase-UC-Modus: uc_open_with_reconnect + uc_gui_click_captcha / uc_gui_handle_captcha.
单浏览器 UC 模式:断连打开页面,并在检测到挑战时进行系统级点击。
python bypass.py https://example.com
python bypass.py https://example.com -p http://127.0.0.1:7890
python bypass.py https://example.com -t 90 --incognito
| Argument / 参数 | Beschreibung / 说明 | Standard / 默认 |
|---|---|---|
url | Ziel-URL / 目标 URL | erforderlich |
-p, --proxy | Proxy-URL / 代理地址 | keine |
-t, --timeout | Gesamt-Timeout (Sekunden) / 总超时秒数 | 60 |
-r, --reconnect | Trennungsfenster für die Wiederverbindung / 断连秒数 | 5 |
--incognito | Inkognito-Profil / 无痕模式 | aus |
--no-save | Keine Cookies speichern / 不保存 Cookie | aus |
simple_bypass.pyFür Batch-Jobs mit mehreren Proxys oder Browsern. GUI-Klicks auf Betriebssystemebene sind auf einem Desktop nicht mehrfenstersicher; parallele Worker können sich um die Maus streiten.
适用于多代理或多浏览器批处理。操作系统级点击在同一桌面上不具备多窗口安全;并行时可能互相干扰。
python simple_bypass.py https://example.com
python simple_bypass.py https://example.com -r -f proxy.txt -c
python simple_bypass.py https://example.com -P -b 3 -t 30 -n 5 -c
| Argument / 参数 | Beschreibung / 说明 | Standard / 默认 |
|---|---|---|
-p, --proxy | Fester Proxy / 固定代理 | keine |
-f, --proxy-file | Proxy-Listendatei / 代理列表文件 | proxy.txt |
-r, --rotate | Sequentielle Proxy-Rotation / 顺序轮换 | aus |
-P, --parallel | Parallele Browser / 并行浏览器 | aus |
-b, --batch | Browser pro Stapel / 每批浏览器数 | 3 |
-t, --timeout | Timeout (Sekunden) / 超时秒数 | 60 |
-n, --retries | Maximale Stapel oder Proxy-Versuche / 批次数或代理尝试数 | 3 |
-c, --check-proxy | Vorabprüfung der Proxy-Erreichbarkeit / 代理存活预检 | aus |
-w, --wait | Seiten-Wartezeit / Wiederverbindungs-Wartezeit / 页面等待 | 5 |
--no-save | Keine Cookies speichern / 不保存 Cookie | aus |
bypass_nodriver.pyCDP-Steuerung ohne Chromedriver. Der Challenge-Klick verwendet verify_cf() (OpenCV-Vorlagenabgleich). Die Upstream-Lizenz ist AGPL-3.0.
无 chromedriver 的 CDP 控制。挑战点击使用 verify_cf()(OpenCV 模板匹配)。上游许可证为 AGPL-3.0。
pip install "nodriver>=0.50.0" opencv-python-headless
python bypass_nodriver.py https://example.com
python bypass_nodriver.py https://example.com -p http://127.0.0.1:7890
| Argument / 参数 | Beschreibung / 说明 | Standard / 默认 |
|---|---|---|
-p, --proxy | Proxy-URL / 代理 | keine |
-t, --timeout | Gesamt-Timeout / 总超时 | 60 |
--headless | Headless (nicht empfohlen) / 无头(不推荐) | aus |
--no-save | Keine Cookies speichern / 不保存 Cookie | aus |
Die kommerzielle Weitergabe von AGPL-Komponenten in Closed-Source-Produkten erfordert eine separate Compliance-Prüfung.
闭源商用分发 AGPL 组件前请自行完成合规评估。
bypass_curl_cffi.py (nicht für Turnstile)Nur HTTP/TLS-Fingerprint-Imitation. Geeignet für schwache oder alte Challenges oder zum erneuten Verwenden von Cookies, die ein Browser-Solver mit passender User-Agent und Ausgangs-IP erlangt hat.
仅 HTTP/TLS 指纹仿冒。适用于低防护或旧版 Challenge,或在 UA 与出口 IP 一致 的前提下复用浏览器解出的 Cookie。
python bypass_curl_cffi.py https://example.com
python bypass_curl_cffi.py https://example.com -f chrome146
python bypass_curl_cffi.py https://example.com -p http://127.0.0.1:7890
| Argument / 参数 | Beschreibung / 说明 | Standard / 默认 |
|---|---|---|
-p, --proxy | Proxy-URL / 代理 | keine |
-f, --fingerprint | Impersonationsprofil / 指纹配置 | chrome136 |
-t, --timeout | Anfrage-Timeout / 请求超时 | 30 |
-n, --retries | Anzahl der Wiederholungen / 重试次数 | 3 |
--no-save | Keine Cookies speichern / 不保存 Cookie | aus |
Zu den gängigen Fingerprints gehören: chrome120, chrome124, chrome131, chrome136, chrome142, chrome146, firefox135, firefox144, safari17_0, safari18_0, edge101.
bypass_cdp.pySeleniumBase-CDP-Modus (sb_cdp): solve_captcha() mit gui_click_captcha() als Fallback. Bevorzugter Upgrade-Pfad neben dem UC-Modus im Jahr 2026.
SeleniumBase CDP 模式:优先 solve_captcha(),失败时回退 gui_click_captcha()。2026 年与 UC 并列的升级路径。
python bypass_cdp.py https://example.com
python bypass_cdp.py https://example.com -p http://127.0.0.1:7890 -t 90
| Argument / 参数 | Beschreibung / 说明 | Standard / 默认 |
|---|---|---|
-p, --proxy | Proxy-URL / 代理 | keine |
-t, --timeout | Gesamtes Timeout-Budget / 总超时预算 | 60 |
--no-save | Keine Cookies speichern / 不保存 Cookie | aus |
bypass_seleniumbase.pyObjektorientierter UC-Wrapper zur Einbettung in größere Projekte.
面向对象的 UC 封装,便于嵌入更大工程。
python bypass_seleniumbase.py https://example.com -p http://127.0.0.1:7890
bypass.py)from bypass import bypass_cloudflare
result = bypass_cloudflare(
"https://example.com",
proxy="http://127.0.0.1:7890",
timeout=90,
save_cookies=True,
)
if result["success"]:
print(result["cf_clearance"])
print(result["user_agent"])
print(result["cookies"])
else:
print(result["error"])
bypass_seleniumbase.py)from bypass_seleniumbase import bypass_and_get_cookies
result = bypass_and_get_cookies(
"https://example.com",
proxy="http://127.0.0.1:7890",
session_name="demo",
)
if result["success"]:
print(result["cf_clearance"])
from bypass_nodriver import bypass_sync
result = bypass_sync("https://example.com", timeout=60.0)
from bypass_curl_cffi import bypass_cloudflare_http
# Optional: reuse browser-solved cookies
result = bypass_cloudflare_http(
"https://example.com",
fingerprint="chrome146",
cookies={"cf_clearance": "..."}, # optional
)
| Feld / 字段 | Typ / 类型 | Bedeutung / 含义 |
|---|---|---|
success | bool | Ob ein nutzbarer Clearance-Weg erlangt wurde / 是否获得可用通过结果 |
cookies | dict | Zuordnung von Name zu Wert / Cookie 字典 |
cf_clearance | str oder None | Cloudflare-Clearance-Cookie, falls vorhanden |
user_agent | str oder None | Für die Sitzung verwendete Browser-UA / 会话 UA |
error | str oder None | Fehlergrund / 失败原因 |
method | str | Strategiekennung / 方案标识 |
Datei: proxy.txt (ein Eintrag pro Zeile) / 每行一个代理:
127.0.0.1:7890
http://127.0.0.1:7890
socks5://127.0.0.1:1080
http://user:pass@host:port
Die meisten kostenlosen öffentlichen Proxys unterstützen HTTPS CONNECT nicht zuverlässig. Bevorzugen Sie für praxisnahe Forschung verifizierte Residential- oder qualitativ hochwertige Anbieter.
绝大多数免费公共代理无法稳定支持 HTTPS 隧道。研究与生产环境请使用经验证的住宅或高质量代理。
Bei aktiviertem Speichern werden Cookies unter output/cookies/ geschrieben.
启用保存时,Cookie 写入 output/cookies/。
| Präfix / 前缀 | Quelle / 来源 |
|---|---|
cookies_*.json / cookies_*.txt | bypass.py, simple_bypass.py |
cookies_cdp_*.json | bypass_cdp.py |
cookies_nodriver_*.json / cookies_nodriver_*.txt | bypass_nodriver.py |
cookies_curl_*.json / cookies_curl_*.txt | bypass_curl_cffi.py |
JSON-Beispiel / JSON 示例
{
"url": "https://example.com",
"cookies": {
"cf_clearance": "..."
},
"user_agent": "Mozilla/5.0 ...",
"timestamp": "20260714_120000",
"method": "seleniumbase_uc"
}
cf_clearance ist häufig an IP + User-Agent gebunden. Wird einer davon geändert, ist in der Regel ein erneutes Lösen erforderlich.
cf_clearance 常与 IP + User-Agent 绑定。更换任一端通常需要重新求解。
cloudflare-bypass-2026/
├── bypass.py # Method 1: SeleniumBase UC (default)
├── simple_bypass.py # Method 2: parallel + proxy rotation
├── bypass_nodriver.py # Method 3: nodriver CDP
├── bypass_curl_cffi.py # Method 4: TLS fingerprint (non-Turnstile)
├── bypass_cdp.py # Method 5: SeleniumBase CDP Mode
├── bypass_seleniumbase.py # UC class wrapper
├── install_linux.sh # Linux bootstrap
├── requirements.txt # Python dependencies
├── proxy.txt # Sample proxy list
├── LICENSE
├── README.md
└── output/ # Runtime cookie exports (created on use)
Welche Methode sollte ich zuerst verwenden?
优先使用哪个方案?
Beginnen Sie mit bypass.py oder bypass_cdp.py. Verwenden Sie bypass_nodriver.py, wenn Sie einen CDP-Stack ohne Chromedriver möchten. Nutzen Sie simple_bypass.py für Batch-/Proxy-Rotation. Verwenden Sie bypass_curl_cffi.py nicht für Turnstile.
优先 bypass.py 或 bypass_cdp.py。需要无 chromedriver 的 CDP 时用 bypass_nodriver.py。批量与代理轮换用 simple_bypass.py。Turnstile 不要使用 bypass_curl_cffi.py。
Warum den echten Headless-Modus vermeiden?
为什么避免真无头模式?
Headless-Profile von Automatisierungswerkzeugen lassen sich leichter identifizieren. Verwenden Sie auf Linux-Servern ohne Desktop Xvfb / eine virtuelle Anzeige (install_linux.sh, pyvirtualdisplay oder SeleniumBase xvfb=True) statt Chrome im Headless-Modus.
无头自动化特征更容易被识别。无桌面的 Linux 请使用 Xvfb / 虚拟显示,而不是 Chrome 真无头。
Wie lange ist cf_clearance gültig?
cf_clearance 有效期多久?
In der Regel einige Dutzend Minuten bis mehrere Stunden, je nach Richtlinie der Website. Sie ist oft an IP und UA gebunden; ein Proxy-Wechsel macht sie häufig ungültig.
通常数十分钟到数小时,取决于站点策略;常与 IP、UA 绑定,换代理后往往需要重解。
Linux-Fehler: X11 / Anzeige fehlgeschlagen
Linux 报 X11 / display 失败
sudo bash install_linux.sh
# or / 或
sudo apt-get install -y xvfb
pip install pyvirtualdisplay
Proxy funktioniert nicht
代理不可用
Prüfen Sie, ob HTTPS CONNECT und die Authentifizierung unterstützt werden. Öffentliche kostenlose Listen sind für diese Arbeitslast größtenteils unbrauchbar.
确认代理支持 HTTPS CONNECT 与鉴权。公开免费列表对本场景大多不可用。
nodriver meldet fehlendes OpenCV
nodriver 提示缺少 OpenCV
pip install opencv-python-headless
Gibt es einen universellen Bypass?
是否存在通杀方案?
Nein. Die Abwehrmaßnahmen entwickeln sich kontinuierlich weiter. Die Ergebnisse hängen von der Zielkonfiguration, der Reputation der Ausgangs-IP, der Browser-Authentizität und dem Zeitpunkt ab. Dieses Toolkit erhebt keinen Anspruch auf universellen Erfolg.
没有。防御持续演进。结果取决于目标配置、出口信誉、浏览器还原度与时机。本工具不宣称通杀。
Sponsoring-Platzierungen, kundenspezifische Entwicklung und technische Beratung sind willkommen.
欢迎洽谈赞助展示、定制开发与技术咨询。
| Kanal / 渠道 | Kontakt / 联系方式 |
|---|---|
| WeChat / 微信 | 1837620622 (传康Kk) |
| E-Mail / 邮箱 | [email protected] |
| Xianyu / Bilibili | 万能程序员 |
Bitte kontaktieren Sie zuerst per WeChat und vermerken Sie Geschäftskooperation / 商务合作.
请优先微信联系,并备注「商务合作」。
Der Repository-Code wird unter der MIT-Lizenz verteilt (siehe LICENSE).
nodriver ist unter AGPL-3.0 lizenziert. Die Verwendung von Methode 3 erfordert die Einhaltung dieser Lizenz.
本仓库代码按 MIT License 分发(见 LICENSE)。
nodriver 上游为 AGPL-3.0。使用方案 3 时须遵守其许可证。
Wenn Ihnen dieses Projekt nützlich ist, erwägen Sie, dem Repository einen Stern zu geben.
如果本项目对你有帮助,欢迎 Star 支持。