这是一个专为绕过 Cloudflare Turnstile 验证码设计的 API 服务。针对 Cloudflare 对无头浏览器(Headless)的高强度检测,本项目通过 Docker 内置 Xvfb 虚拟桌面 和 x11vnc 服务,实现了“有头浏览器”在云端的稳定运行。
- 拒绝无头(Headless):在 Linux 服务器上模拟真实的图形桌面环境,完美通过 Cloudflare 指纹检测。
- 原生 VNC 监控:支持通过 5901 端口 使用 VNC Viewer 等软件远程连接,实时监控破解过程,性能比 Web 版更流畅。
- 域名劫持技术:在目标站点域名环境下加载验证插件,确保 Sitekey 匹配。
- 并发槽位管理:支持多任务异步处理,每个任务拥有独立的浏览器环境。
- 零配置部署:提供 Docker 一键镜像构建,免去 Linux 底层依赖安装烦恼。
- 克隆代码到本地。
- 构建镜像:
docker build -t turnstile-solver . - 启动容器:
docker run -d \
-p 5005:5000 \
-p 5901:5901 \
-e VNC_PASS=qwe123 \
--shm-size=2gb \
--restart always \
--name solver-pro \
turnstile-solver注意:--shm-size=2gb 是必须的,否则 Chrome 容易崩溃。
- 安装依赖:pip install quart playwright
- 运行脚本:python app.py
- 确保你的电脑安装了 Chrome,脚本会自动调用。Linux需要安装桌面环境。
- 补充:Linux 服务器 (Ubuntu/Debian) 安装 Chrome 运行环境及依赖:
wget [https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb](https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb)
sudo apt install -y ./google-chrome-stable_current_amd64.deb
#安装底层依赖
sudo apt install -y libnss3 libatk1.0-0 libatk-bridge2.0-0 libxcomposite1 libxdamage1 libxrandr2 libgbm1 libpango-1.0-0 libcairo2 libasound2
- 补充:Linux 服务器 (Ubuntu/Debian) 安装图形环境
#安装图形底层
sudo apt install -y xvfb x11vnc fluxbox
#启动环境 (建议写入启动脚本)
rm -rf /tmp/.X1-lock /tmp/.X11-unix/X1
Xvfb :1 -screen 0 1280x720x24 -ac +extension GLX +render -noreset &
export DISPLAY=:1
fluxbox &
x11vnc -display :1 -passwd your_password -forever -shared -rfbport 5901 &
为了观察验证码破解过程或进行调试,你可以使用任何 VNC 客户端连接:
- VNC 软件:推荐使用 RealVNC Viewer, TightVNC 或 macOS 自带的屏幕共享。
- 连接地址:服务器IP:5901
- 验证密码:qwe123 (可通过 Docker 环境变量 VNC_PASS 自定义)
接口:GET /turnstile 参数:
- url: 目标网站地址
- sitekey: Turnstile 站点密钥
示例:
curl "hhttp://127.0.0.1:5000/turnstile?url=https://example.com&sitekey=3x00000000000000000000FF"
响应:
{"task_id": "a1b2c3d4"}
接口:GET /result 参数:
- id: 任务 ID
示例:
curl "http://127.0.0.1:5000/result?id=a1b2c3d4"
响应:
JSON
{
"status": "success",
"token": "0.asdfghjkl...",
"elapsed_time": 15.4
}
-
超时控制:脚本默认超时为 80 秒(20次循环 * 4秒间隔)。如果网络较慢,可适当调大 app.py 中的循环次数。
-
IP 权重:验证码的成功率与你的服务器 IP 质量高度相关。如果频繁报错,请考虑在 chrome_cmd 中挂载代理。
-
自定义密码:在 Docker 启动命令中修改 -e VNC_PASS=yourpassword 即可保护你的 VNC 界面。
-
内存警告:本工具运行真实的 Chrome 进程,内存占用较高。建议 VPS 配置至少为 2核2G。
-
合规性:本工具仅限用于合法的自动化测试及学术研究,请勿用于非法活动。