一个专为 Cloudflare Workers / VLESS 用户设计的全自动化工具。
本项目旨在实现从 FOFA 获取 IP 到 本地双重验证,再到 Cloudflare DNS 自动部署 的“一条龙”全自动流程。它可以帮助你筛选出高质量、低延迟、且指定地区(默认芬兰/Hetzner)的 Clean ProxyIP,并自动更新到你的域名解析中,实现自建节点的“自动维护”。
- 📋 剪贴板无缝集成:无需手动保存文件,直接在 FOFA 网页点击“复制”,运行脚本即可读取。
- 🔍 双重核心验证:
- HTTP 400 诱导验证:模拟向 HTTPS 端口发送 HTTP 请求,精准识别 Cloudflare 反代特征。
- TLS 握手测速:通过发送 ClientHello 数据包验证握手响应,确保 IP 真实可用并计算延迟。
- 🌍 智能 GeoIP 筛选:集成
RealIP.cc接口,支持按国家代码(如 FI, DE, SG)筛选 IP,防止“假 IP”混入。 - 🛡️ API 保护机制:内置重试与速率限制策略,防止因并发过高导致 GeoIP 查询接口封禁。
- ☁️ Cloudflare DNS 自动同步:
- 自动识别 IPv4 (A记录) 和 IPv6 (AAAA记录)。
- 轮询更新:自动删除旧的无效记录,添加新验证通过的 IP,实现客户端负载均衡。
- 💻 多平台支持:基于 Python 编写,完美运行于 Windows、Linux 和 macOS。
确保你的项目目录包含以下文件:
.
├── run.py # [入口] 总指挥脚本:读取剪贴板 -> 调度检测 -> 调度更新
├── check.py # [核心] 验证脚本:HTTP/TLS 验证 + GeoIP 筛选
├── update_dns.py # [部署] 更新脚本:调用 Cloudflare API 修改 DNS
├── ips.txt # [自动生成] 存放从剪贴板读取的原始 IP
└── valid_ips.txt # [自动生成] 存放经过验证的有效 IP
- 安装 Python 3.x
- 安装依赖库:
pip install requests pyperclip
在运行之前,请务必修改脚本顶部的配置区域:
设置你想要筛选的目标国家(例如芬兰):
# ================= 配置区域 =================
MAX_THREADS = 20 # 线程数 (建议保持 20 以保护 API)
TARGET_COUNTRY = "FI" # 🎯 目标国家代码 (芬兰=FI, 德国=DE, 新加坡=SG)
# ===========================================填入你的 Cloudflare 账户信息:
# ================= 配置区域 =================
CF_API_TOKEN = "你的_CF_API_Token" # 在 CF 后台申请 "Edit zone DNS" 权限的 Token
CF_ZONE_ID = "你的_Zone_ID" # 域名的 Zone ID
DNS_RECORD_NAME = "best.yourdomain.com" # 你想使用的完整子域名
PROXIED = False # ⚠️ 必须设为 False (仅DNS,不开小黄云)
# ===========================================- 打开 FOFA。
- 使用以下语法搜索(推荐寻找 Hetzner 芬兰机房的漏网之鱼):
server=="cloudflare" && port="443" && banner="HTTP/1.1 400 Bad Request" && org="Hetzner Online GmbH" && country="FI"快捷链接: 点击此处直接跳转 FOFA 搜索
- 点击 FOFA 页面上的 “复制 IP” 按钮(或使用页面提取插件复制所有 IP)。
- 双击运行
run.py(或在终端输入python run.py)。 - 脚本会自动读取你刚才复制的 IP 并显示预览。
- 输入
y确认。
脚本将按顺序自动完成以下工作:
- Check: 启动多线程验证,剔除假死 IP,并筛选出指定国家的 IP。
- Update: 连接 Cloudflare API,清空旧记录,将新 IP 解析到你的域名。
在你的 V2RayN / Clash / Shadowrocket 中,将 VLESS 节点的地址(Address/Host)填写为你配置的域名(例如 best.yourdomain.com),即可享受自动轮询的高质量节点。
- 本工具仅供技术研究和教育学习使用。
- 请勿用于非法用途。
- ProxyIP 的可用性取决于网络环境,不保证 100% 长期稳定。
- 核心逻辑参考: cmliu/CF-Workers-CheckProxyIP
- 搜索思路: Dugong's Tutorial
- GeoIP 数据: RealIP.cc & IP.SB