Skip to content

jialezi/turnstile-solver

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 

Repository files navigation

🛡️ Cloudflare Turnstile Solver (GUI + 原生 VNC 版)

这是一个专为绕过 Cloudflare Turnstile 验证码设计的 API 服务。针对 Cloudflare 对无头浏览器(Headless)的高强度检测,本项目通过 Docker 内置 Xvfb 虚拟桌面 和 x11vnc 服务,实现了“有头浏览器”在云端的稳定运行。

✨ 核心亮点

  • 拒绝无头(Headless):在 Linux 服务器上模拟真实的图形桌面环境,完美通过 Cloudflare 指纹检测。
  • 原生 VNC 监控:支持通过 5901 端口 使用 VNC Viewer 等软件远程连接,实时监控破解过程,性能比 Web 版更流畅。
  • 域名劫持技术:在目标站点域名环境下加载验证插件,确保 Sitekey 匹配。
  • 并发槽位管理:支持多任务异步处理,每个任务拥有独立的浏览器环境。
  • 零配置部署:提供 Docker 一键镜像构建,免去 Linux 底层依赖安装烦恼。

🛠️ 安装与部署

方法一:使用 Docker 部署(推荐)

  1. 克隆代码到本地
  2. 构建镜像
    docker build -t turnstile-solver .
  3. 启动容器
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 容易崩溃。


方法二:本地开发部署 (Windows)

  1. 安装依赖:pip install quart playwright
  2. 运行脚本:python app.py
  3. 确保你的电脑安装了 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 客户端连接:

  • VNC 软件:推荐使用 RealVNC Viewer, TightVNC 或 macOS 自带的屏幕共享。
  • 连接地址:服务器IP:5901
  • 验证密码:qwe123 (可通过 Docker 环境变量 VNC_PASS 自定义)

📡 API 使用说明

1. 提交验证任务

接口:GET /turnstile 参数:

  • url: 目标网站地址
  • sitekey: Turnstile 站点密钥

示例:

curl "hhttp://127.0.0.1:5000/turnstile?url=https://example.com&sitekey=3x00000000000000000000FF"

响应:

{"task_id": "a1b2c3d4"}

2. 查询验证结果

接口: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。

  • 合规性:本工具仅限用于合法的自动化测试及学术研究,请勿用于非法活动。

About

Cloudflare Turnstile Solver

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors