
Ferramenta de bypass do Cloudflare Turnstile | Ferramenta de bypass do Cloudflare baseada no Modo UC do SeleniumBase | Suporta Mac/Windows/Linux
Um kit de ferramentas multiestratégia para pesquisar e testar fluxos de Cloudflare Turnstile / Challenge em macOS, Windows e Linux.
面向 Cloudflare Turnstile / Challenge 的多方案研究与授权测试工具集,支持 Mac / Windows / Linux。
Português
Este projeto destina-se exclusivamente a pesquisa educacional e testes de automação autorizados. Você deve cumprir as leis aplicáveis e os termos de serviço de qualquer site alvo.
中文
本项目仅供学习研究与已授权的自动化测试使用。使用时须遵守当地法律法规及目标站点服务条款。
Português
As defesas do Cloudflare em 2025–2026 são em camadas: reputação de rede, fingerprinting TLS/HTTP, desafios JavaScript, interação com Turnstile e sinais de protocolo de automação. Um único cliente HTTP não é suficiente para o Turnstile.
Este repositório fornece cinco estratégias executáveis além de um wrapper baseado em classe, para que você possa escolher o caminho certo para pesquisa em sessão única, tarefas em lote, controle CDP puro ou reutilização em nível TLS de uma sessão já resolvida.
Linha de base recomendada (caminho de código aberto):
Chrome real com interface gráfica
+ IP de saída residencial ou de alta qualidade (opcional)
+ reconexão UC ou CDP puro
+ clique no captcha em nível de SO quando a interação for necessária
Não recomendado como caminho principal para Turnstile:
Managed Turnstile de alta proteção em headless real
curl_cffi / tls-client puro contra o Turnstile
playwright-stealth sozinho como solução de “um clique”
中文
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 作为“一键方案”
| Limitação / 限制 | Detalhe / 说明 |
|---|---|
| Sem runtime JS | Não consegue concluir o Turnstile / PoW de Challenge moderno |
| Sem DOM / Web APIs | Faltam sinais de navigator, WebGL e canvas |
| Sem interação |
| Item / 项目 | Requisito / 要求 |
|---|---|
Os pacotes Python estão listados em requirements.txt (SeleniumBase, nodriver, curl_cffi, OpenCV headless, pyvirtualdisplay, etc.).
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
Instale o Google Chrome antes de executar os scripts baseados em navegador.
请先安装 Google Chrome,再运行浏览器方案。
git clone https://github.com/1837620622/cloudflare-bypass-2026.git
cd cloudflare-bypass-2026
sudo bash install_linux.sh
Alternativa manual / 手动安装:
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
Observações / 说明
.deb oficiais do Chrome são principalmente amd64. Em hosts ARM, instale você mesmo uma compilação correspondente de Chromium/Chrome.# 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
Substitua https://example.com por um alvo que você tenha autorização para testar.
请将示例 URL 替换为你有权测试的目标地址。
bypass.py (padrão)Sessão única do Chrome via Modo UC do SeleniumBase: 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
simple_bypass.pyPara lotes com múltiplos proxies ou múltiplos navegadores. Cliques na GUI em nível de SO não são seguros entre várias janelas em uma mesma área de trabalho; workers paralelos podem disputar o mouse.
适用于多代理或多浏览器批处理。操作系统级点击在同一桌面上不具备多窗口安全;并行时可能互相干扰。
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
bypass_nodriver.pyControle CDP sem chromedriver. O clique no desafio usa verify_cf() (correspondência de template via OpenCV). A licença upstream é 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
A redistribuição comercial de código fechado de componentes AGPL exige uma revisão de conformidade separada.
闭源商用分发 AGPL 组件前请自行完成合规评估。
bypass_curl_cffi.py (não para Turnstile)Apenas personificação de fingerprint HTTP/TLS. Adequado para desafios fracos ou legados, ou para reutilizar cookies obtidos por um resolvedor em navegador com User-Agent e IP de saída correspondentes.
仅 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
Fingerprints comuns incluem: chrome120, chrome124, chrome131, chrome136, chrome142, chrome146, firefox135, firefox144, safari17_0, safari18_0, edge101.
bypass_cdp.pyModo CDP do SeleniumBase (sb_cdp): solve_captcha() com fallback para gui_click_captcha(). Caminho de atualização preferido junto com o Modo UC em 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
| Argumento / 参数 | Descrição / 说明 | Padrão / 默认 |
|---|
bypass_seleniumbase.pyWrapper UC orientado a objetos para incorporação em projetos maiores.
面向对象的 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
)
Arquivo: proxy.txt (uma entrada por linha) / 每行一个代理:
127.0.0.1:7890
http://127.0.0.1:7890
socks5://127.0.0.1:1080
http://user:pass@host:port
A maioria dos proxies públicos gratuitos não suporta HTTPS CONNECT de forma confiável. Prefira provedores residenciais verificados ou de alta qualidade para pesquisa em produção.
绝大多数免费公共代理无法稳定支持 HTTPS 隧道。研究与生产环境请使用经验证的住宅或高质量代理。
Os cookies são gravados em output/cookies/ quando o salvamento está habilitado.
启用保存时,Cookie 写入 output/cookies/。
Exemplo JSON / JSON 示例
{
"url": "https://example.com",
"cookies": {
"cf_clearance": "..."
},
"user_agent": "Mozilla/5.0 ...",
"timestamp": "20260714_120000",
"method": "seleniumbase_uc"
}
cf_clearance é frequentemente vinculado a IP + User-Agent. Alterar qualquer um deles geralmente exige uma nova resolução.
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)
Qual método devo usar primeiro?
优先使用哪个方案?
Comece com bypass.py ou bypass_cdp.py. Use bypass_nodriver.py quando quiser uma stack CDP sem chromedriver. Use simple_bypass.py para lotes/rotação de proxy. Não use bypass_curl_cffi.py para Turnstile.
优先 bypass.py 或 bypass_cdp.py。需要无 chromedriver 的 CDP 时用 bypass_nodriver.py。批量与代理轮换用 simple_bypass.py。Turnstile 不要使用 bypass_curl_cffi.py。
Por que evitar o modo headless real?
为什么避免真无头模式?
Perfis headless de automação são mais fáceis de identificar por fingerprint. Em servidores Linux sem área de trabalho, use Xvfb / display virtual (install_linux.sh, pyvirtualdisplay ou SeleniumBase xvfb=True) em vez do Chrome headless.
无头自动化特征更容易被识别。无桌面的 Linux 请使用 Xvfb / 虚拟显示,而不是 Chrome 真无头。
Quanto tempo dura o cf_clearance?
cf_clearance 有效期多久?
Geralmente de dezenas de minutos a várias horas, dependendo da política do site. Costuma estar vinculado ao IP e ao UA; mudanças de proxy frequentemente o invalidam.
通常数十分钟到数小时,取决于站点策略;常与 IP、UA 绑定,换代理后往往需要重解。
Erro no Linux: falha de X11 / display
Linux 报 X11 / display 失败
sudo bash install_linux.sh
# or / 或
sudo apt-get install -y xvfb
pip install pyvirtualdisplay
O proxy não funciona
代理不可用
Confirme o suporte a HTTPS CONNECT e a autenticação. Listas gratuitas públicas são, em sua maioria, inutilizáveis para essa carga de trabalho.
确认代理支持 HTTPS CONNECT 与鉴权。公开免费列表对本场景大多不可用。
nodriver informa OpenCV ausente
nodriver 提示缺少 OpenCV
pip install opencv-python-headless
Existe um bypass universal?
是否存在通杀方案?
Não. As defesas evoluem continuamente. Os resultados dependem da configuração do alvo, da reputação do IP de saída, da fidelidade do navegador e do momento. Este kit de ferramentas não promete sucesso universal.
没有。防御持续演进。结果取决于目标配置、出口信誉、浏览器还原度与时机。本工具不宣称通杀。
Patrocínio, desenvolvimento personalizado e consultoria técnica são bem-vindos.
欢迎洽谈赞助展示、定制开发与技术咨询。
| Canal / 渠道 | Contato / 联系方式 |
|---|---|
| WeChat / 微信 | 1837620622 (传康Kk) |
| Email / 邮箱 | [email protected] |
| Xianyu / Bilibili | 万能程序员 |
Entre em contato primeiro via WeChat e mencione Negócios / 商务合作.
请优先微信联系,并备注「商务合作」。
O código do repositório é distribuído sob a Licença MIT (veja LICENSE).
nodriver é licenciado sob AGPL-3.0. O uso do Método 3 exige conformidade com essa licença.
本仓库代码按 MIT License 分发(见 LICENSE)。
nodriver 上游为 AGPL-3.0。使用方案 3 时须遵守其许可证。
Se este projeto for útil, considere dar uma estrela no repositório.
如果本项目对你有帮助,欢迎 Star 支持。
| 参考资料 |
| Negócios | 商务合作 |
| Licença | 许可证 |
| # | Script | Estratégia / 策略 | Turnstile | Melhor para / 适用场景 |
|---|
| 1 | bypass.py | SeleniumBase Modo UC | Sim | Caminho padrão de sessão única / 默认单会话主路径 |
| 2 | simple_bypass.py | UC + paralelo / rotação de proxy | Sim | Tarefas em lote; possível disputa por cliques na GUI / 批量任务;并行时可能争抢系统鼠标 |
| 3 | bypass_nodriver.py | CDP puro com nodriver | Sim | CDP sem chromedriver; requer OpenCV; AGPL-3.0 / 无 chromedriver;需 OpenCV;注意 AGPL |
| 4 | bypass_curl_cffi.py | Fingerprint TLS / reutilização de cookies | Não | Apenas JS Challenge legado ou reutilização de cookies após resolução / 仅旧版 Challenge 或 Cookie 复用 |
| 5 | bypass_cdp.py | SeleniumBase Modo CDP | Sim | Caminho sucessor do UC simples em 2026 / UC 后继路径 |
| — | bypass_seleniumbase.py | Wrapper de classe UC | Sim | API incorporável para desenvolvimento secundário / 可 import 的二次开发封装 |
| Prioridade / 优先级 | Escolha / 选择 | Observações / 说明 |
|---|
| 1 | bypass.py ou bypass_cdp.py | Entrada principal de pesquisa / 主入口 |
| 2 | bypass_nodriver.py | Forte alternativa CDP; verifique a AGPL / 强备选;注意许可证 |
| 3 | simple_bypass.py | Taxa de transferência / rotação; serialize os cliques na GUI se necessário / 吞吐与轮换;GUI 点击宜串行 |
| 4 | Resolver no navegador e depois reutilizar com curl_cffi | Mantenha o mesmo UA e IP de saída / 须保持 UA 与出口 IP 一致 |
| Evitar | HTTP puro contra o Turnstile | Não executa JS / não interage / 无法执行 JS 与交互 |
| O modo gerenciado exige um clique real na caixa de seleção |
| TLS é apenas um sinal | A correspondência JA3/JA4 não é suficiente sozinha |
| Recurso / 功能 | Descrição / 说明 |
|---|
| Modo UC do SeleniumBase | Desconexão e reconexão do driver + clique no captcha em nível de SO |
| Modo CDP do SeleniumBase | Caminho CDP puro com sinais reduzidos de anexação do WebDriver |
| CDP via nodriver | Sem chromedriver; clique via template verify_cf() (OpenCV) |
| Paralelo / rotação de proxy | Workers em lote e rotação de arquivo de proxy em simple_bypass.py |
| Controle de timeout | Timeout de ponta a ponta nos fluxos principais |
| Exportação de cookies | Formatos JSON e Netscape quando aplicável |
| Multiplataforma | macOS, Windows, Linux (Linux precisa de Xvfb em host headless) |
| Python |
| 3.9+ |
| Navegador | Google Chrome (ou Chromium em Linux não amd64) |
| Display | GUI com janela preferida; servidores Linux: Xvfb / display virtual |
| SO | macOS, Windows, Linux |
| Proxy opcional | HTTP / HTTPS / SOCKS5 com HTTPS CONNECT funcional |
| Argumento / 参数 | Descrição / 说明 | Padrão / 默认 |
|---|
url | URL de destino / 目标 URL | obrigatório |
-p, --proxy | URL do proxy / 代理地址 | nenhum |
-t, --timeout | Timeout geral (segundos) / 总超时秒数 | 60 |
-r, --reconnect | Janela de desconexão antes da reconexão / 断连秒数 | 5 |
--incognito | Perfil anônimo / 无痕模式 | desativado |
--no-save | Não gravar cookies / 不保存 Cookie | desativado |
| Argumento / 参数 | Descrição / 说明 | Padrão / 默认 |
|---|
-p, --proxy | Proxy fixo / 固定代理 | nenhum |
-f, --proxy-file | Arquivo de lista de proxies / 代理列表文件 | proxy.txt |
-r, --rotate | Rotação sequencial de proxies / 顺序轮换 | desativado |
-P, --parallel | Navegadores paralelos / 并行浏览器 | desativado |
-b, --batch | Navegadores por lote / 每批浏览器数 | 3 |
-t, --timeout | Timeout (segundos) / 超时秒数 | 60 |
-n, --retries | Máximo de lotes ou tentativas de proxy / 批次数或代理尝试数 | 3 |
-c, --check-proxy | Verificação prévia de disponibilidade do proxy / 代理存活预检 | desativado |
-w, --wait | Espera de página / espera de reconexão / 页面等待 | 5 |
--no-save | Não gravar cookies / 不保存 Cookie | desativado |
| Argumento / 参数 | Descrição / 说明 | Padrão / 默认 |
|---|
-p, --proxy | URL do proxy / 代理 | nenhum |
-t, --timeout | Timeout geral / 总超时 | 60 |
--headless | Headless (não recomendado) / 无头(不推荐) | desativado |
--no-save | Não gravar cookies / 不保存 Cookie | desativado |
| Argumento / 参数 | Descrição / 说明 | Padrão / 默认 |
|---|
-p, --proxy | URL do proxy / 代理 | nenhum |
-f, --fingerprint | Perfil de personificação / 指纹配置 | chrome136 |
-t, --timeout | Timeout de requisição / 请求超时 | 30 |
-n, --retries | Número de tentativas / 重试次数 | 3 |
--no-save | Não gravar cookies / 不保存 Cookie | desativado |
-p, --proxy | URL do proxy / 代理 | nenhum |
-t, --timeout | Orçamento total de timeout / 总超时预算 | 60 |
--no-save | Não gravar cookies / 不保存 Cookie | desativado |
| Campo / 字段 | Tipo / 类型 | Significado / 含义 |
|---|
success | bool | Se um caminho de liberação utilizável foi obtido / 是否获得可用通过结果 |
cookies | dict | Mapa de nome para valor / Cookie 字典 |
cf_clearance | str ou None | Cookie de liberação do Cloudflare quando presente |
user_agent | str ou None | UA do navegador usado na sessão / 会话 UA |
error | str ou None | Motivo da falha / 失败原因 |
method | str | Identificador da estratégia / 方案标识 |
| Prefixo / 前缀 | Origem / 来源 |
|---|
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 |