CF-Workers-CheckProxyIP 部署在 Cloudflare Workers 的 ProxyIP 验证工具
CF-Workers-CheckProxyIP 详细部署教程
CF-Workers-CheckProxyIP 是一个部署在 Cloudflare Workers 上的轻量级 ProxyIP 验证工具。它提供了一个可直接使用的 Web 界面,能快速检测单个或批量 IP、域名作为代理节点的可用性,并展示出口 IP 地理位置和网络信息。本教程将指导你从零开始完成部署与使用。
目录
- 项目功能概览
- 准备工作
- 快速部署(推荐方式)
- 配置与自定义
- 使用方法详解
- 核心API接口说明
- 常见问题与解决
项目功能概览
这是一个单文件 Worker 应用(核心文件仅为 _worker.js),集成了以下功能:
- 单目标/批量检测:支持单条输入或多行批量检测,批量模式下自动去重、分批解析域名,并以 32 并发检测。
- 多种输入格式:支持 IPv4、IPv6(加方括号)、域名,并可指定端口(默认 443)。
- 特殊解析能力:自动解析域名的 A/AAAA/TXT 记录,TXT 记录可按逗号拆分为多个目标,域名中含
.tp端口.可强制指定端口。 - 可视化结果:显示成功/失败状态、响应时间、出口 IP、国家旗帜、ASN 信息,并在地图上绘制出口到 Cloudflare 机房的连线。
准备工作
必备条件
- Cloudflare 账户:你需要有一个 Cloudflare 账号来管理 Workers。
- 可访问互联网的环境:部署和检测过程需要访问公共 DNS 和探针服务。
技术知识
- 基础:了解如何登录网站、复制粘贴文本。
- 进阶(可选):如果想自定义代码,具备基础的 JavaScript 知识会有帮助。
快速部署(推荐方式)
这是最直接的方式,通过 Cloudflare Workers 控制台完成。
第一步:获取 Worker 代码
- 访问项目 GitHub 仓库:https://github.com/cmliu/CF-Workers-CheckProxyIP
- 点击文件列表中的
_worker.js文件。 - 点击页面右侧的“Raw”按钮,或者直接选中所有代码(
Ctrl+A或Cmd+A),复制完整内容。
第二步:创建并部署 Worker
- 登录 Cloudflare Dashboard。
- 在左侧菜单中,点击 “Workers 和 Pages”。
- 点击 “创建应用程序” -> “创建 Worker”。
- 为你的 Worker 起一个名称(如
proxy-checker),然后点击“部署”。 - 部署成功后,点击 “编辑代码”。
- 在在线编辑器中,删除所有默认的示例代码。
- 将第一步复制的
_worker.js代码完整粘贴到编辑器中。 - 点击右上角的 “保存并部署”。
第三步:访问你的检测工具
部署完成后,Worker 会分配一个默认域名:https://<你的Worker名称>.<你的子域>.workers.dev。在浏览器中打开这个地址,你就能看到检测工具的 Web 界面了。
配置与自定义
本项目可以通过环境变量和修改代码进行简单定制。
环境变量(可选)
在 Worker 的“设置” -> “变量”中,可以添加以下环境变量:
| 变量名 | 说明 | 示例 |
|---|---|---|
BEIAN |
自定义页面底部的页脚 HTML 内容,可用于显示备案信息或版权声明。 | © 2026 我的网站 · 粤ICP备12345678号 |
设置后,页面底部的默认内容会被替换。
前端展示定制
你可以直接修改 _worker.js 中 generateHTML() 函数返回的 HTML 字符串,来调整页面标题、颜色、标志等。主要修改点:
- 页面标题:在
<title>标签中。 - 品牌标志:在页面顶部的标题区域。
更换检测探针(高级)
默认情况下,/check 接口通过访问 ipv4.090227.xyz 和 ipv6.090227.xyz 来判断代理出口能力。如需更换,可在 _worker.js 中搜索 PROBE_TARGETS 数组进行修改。
使用方法详解
1. 单条检测模式
- 操作:在输入框中输入一个目标(如
8.223.63.150或proxyip.example.com:8443),按下键盘Enter键或点击 “开始检测” 按钮。 - 结果:页面会显示检测状态、响应时间、出口 IP、国家旗帜、ASN 信息,并在地图上绘制从出口 IP 到 Cloudflare 检测机房的连线。
- 历史记录:你检测过的单条目标会被保存在浏览器本地,方便快速再次选择。
2. 批量检测模式
- 开启:点击输入区域下方的 “批量检测” 开关。
- 操作:在输入框中,每行输入一个目标。支持逗号(英文或中文)自动转换为换行。完成后,按下
Ctrl + Enter(Windows)或Cmd + Enter(Mac)组合键,或点击按钮开始。 - 处理流程:
- 前端会先对 IPv4/IPv6 进行本地识别和归一化。
- 对输入去重。
- 将域名目标按每批 15 个提交给后端解析(避免子请求数限制)。
- 解析成功后,所有候选目标以 32 个并发 进行检测。
- 结果:批量结果会以列表形式清晰展示每个目标的检测状态、响应时间和出口信息。
3. 路径直达检测(分享链接)
你可以通过 URL 路径直接触发对某个目标的检测,方便分享。格式为:https://<你的Worker域名>/<目标IP或域名>
例如:https://proxy-checker.xxx.workers.dev/8.223.63.150:8443
访问此链接,页面会自动加载并开始检测该目标。
核心API接口说明
该项目内置了几个 API 接口,供前端调用或外部集成。
GET / (页面)
返回完整的 Web 检测界面 HTML。
GET /resolve?proxyip=<目标>
用途:解析单个输入,返回候选目标列表(数组)。
示例:请求 /resolve?proxyip=example.com 可能返回 ["192.0.2.1:443", "[2001:db8::1]:443"]。
POST /resolve-batch
用途:批量解析域名列表。
请求体:{ "targets": ["example.com", "test.net:8080"] }
返回:每个输入对应的解析结果数组或错误信息。
GET /check?proxyip=<候选目标>[&timeoutMs=9999]
用途:这是核心检测接口。检测一个具体的候选目标(格式如 IP:端口)是否可用。
返回示例(成功):
1 | { |
前端会使用 success 字段判断是否可用,并从 exit 对象中提取位置和网络信息进行展示。
GET /locations
用途:代理 Cloudflare 官方的机房位置数据,供地图功能使用。
常见问题与解决
- Q: 部署后页面显示不正常,或地图/旗帜图标加载失败?
- A: 页面依赖外部资源(如 OpenStreetMap 地图、国旗图片、Google 字体)。如果你的网络环境无法访问这些资源,会导致显示异常。你可以考虑修改
_worker.js中的资源链接,替换为国内可访问的 CDN 或镜像地址。
- A: 页面依赖外部资源(如 OpenStreetMap 地图、国旗图片、Google 字体)。如果你的网络环境无法访问这些资源,会导致显示异常。你可以考虑修改
- Q: 检测结果总是失败(success: false)?
- A: 可能原因:
- 目标 IP/端口确实不可用。
- 检测依赖的探针服务
ipv4.090227.xyz或ipv6.090227.xyz不可达。 - Worker 运行环境网络问题。可以尝试更换探针地址(参考 配置与自定义 部分)。
- A: 可能原因:
- Q: 批量检测时,解析域名失败或进度卡住?
- A: 检查输入的域名是否正确。后端解析使用 Cloudflare DoH (
cloudflare-dns.com),请确保你的 Worker 可以访问此服务。另外,批量解析有并发和超时限制(每批15个,3秒超时),过多或响应慢的域名可能导致部分失败。
- A: 检查输入的域名是否正确。后端解析使用 Cloudflare DoH (
- Q: 如何将检测结果导出或分享?
- A: 当前版本没有内置导出功能。但你可以直接复制页面上的结果文本,或通过浏览器的“打印”功能保存为 PDF。分享检测链接可使用路径直达功能。
- Q: 这个工具安全吗?我的代理IP信息会泄露吗?
- A: 所有检测请求都通过你的 Cloudflare Worker 进行,代码是开源的。但请注意,Worker 的访问日志可能会被 Cloudflare 记录。同时,检测结果会通过浏览器展示,请注意不要在公开场合分享含有敏感信息的页面。
通过以上步骤,你应该已经成功部署并使用 CF-Workers-CheckProxyIP 来验证代理 IP 的可用性了。这个轻量级工具非常适合需要快速筛选或分享代理节点的场景。




