用 Serv00 搭建自己的反代检测合集

用 Serv00 搭建自己的反代检测合集

先放原作者 CMLiu 的三个仓库

整合效果见此 DEMO

✨ 项目特点

  • 多功能合一: 集成了 ProxyIPSOCKS5/HTTP 代理 和 NAT64/DNS64 三大检测模块。
  • 高性能: 基于 php,不受 CF worker CPU 挂钟时间限制,高并发处理能力。
  • 优雅的界面: 每个工具都拥有独立、美观且响应式的前端页面,并提供一个精美的导航主页。
  • 标准化 API: 为所有检测功能提供了一致的 RESTful API 接口,方便自动化和集成。
  • 高度可定制: 支持通过环境变量自定义网站图标、背景、页脚内容,并可设置密码保护或全局跳转。
  • 零依赖: 无需外部数据库或缓存服务,部署简单。

❓ 已知问题

  • 若服务器没有 ipv6,则本工具也不支持 ipv6 的检测

部署步骤

1. 登录 Github,Fork 我的项目并下载源码

项目仓库:GitHub - yutian81/CF-Proxy-Checker

下载仓库中的全部文件:仓库中依次点击右上角 CodeDownload ZIP

2. 需要一个支持 PHP 的服务器

Serv00 也可以,其他虚拟主机也可以,甚至使用 VPS 也可以。但服务器必须在境外

今天只以 Serv00 为例,其他虚拟主机理论上应该是一样的步骤

3. 登录服务器控制台,创建一个网站

非常简单,不截图了,文字表述一下核心流程

  • 依次点击 WWW websitesAdd new website
  • 填入一个 域名,也可以使用主机商默认的域名
  • 找到类似 Manage SSL certificates 这样的证书设置,给域名申请一个证书

如果主机不支持申请证书,填域名的时候可以填写托管在 CF 的域名,从 CF 下载域名的 15 年源服务器证书上传到主机的证书管理板块

4. 在服务器控制台找到文件管理,上传文件

找到类似 File manager 这样的按钮,点击进入文件管理

展开以下目录:domains/你上一步设置的域名/public_html

将从 github 现在的源码压缩包解压,将全部文件上传到这里

到这里,其实部署已经完成了,现在访问 https://虚拟主机绑定的域名 已经可以打开主页了

项目设置

环境变量

所有环境变量设置均在 config.php 文件中

变量名 是否必须 说明 示例值
TOKEN 可选 为整个应用设置一个访问密码。设置后,访问主页或各工具页面都需要在 URL 后添加 ?token=您的密码 my-secret-password-123
ICO 可选 自定义网站的 favicon 图标地址。 https://example.com/favicon.ico
IMG 可选 背景图片地址,支持多个背景图随机切换,地址之间用 , 分隔 https://images.unsplash.com/photo-1513542789411-b6a5abb4c291
BEIAN 可选 自定义所有页面底部的页脚 HTML 内容,例如备案信息或版权声明。 config.php 中示例
URL302 可选 设置一个全局 302 跳转地址。一旦设置,所有访问都会被重定向到此 URL,可用于临时下线或域名迁移。 https://new-domain.com

📚 API 调用指南

所有 API 的基础路径都基于根地址,如 https://your-subdomain.serv00.net

1. ProxyIP 模块

  • 路径: /proxyip/check
  • 方法: GET
  • 参数: proxyip (必须) - 要检测的 IP 地址和端口。
  • 示例: GET /proxyip/check?proxyip=1.2.3.4:443
  • 响应: 返回一个 JSON 对象,包含检测结果、响应时间、国家等信息。
  • 路径: /proxyip/resolve
  • 方法: GET
  • 参数:
    • domain (必须) - 要解析的域名。
    • token (必须) - 访问令牌(后端动态生成,由前端页面自动提供)。
  • 示例: GET /proxyip/resolve?domain=example.com&token=…
  • 响应: 返回一个 JSON 对象,包含解析出的所有 IP 地址。
  • 路径: /proxyip/ip-info
  • 方法: GET
  • 参数:
    • ip (必须) - 要查询的 IP 地址。
    • token (必须) - 访问令牌(后端动态生成,由前端页面自动提供)。
  • 示例: GET /proxyip/ip-info?ip=8.8.8.8&token=…
  • 响应: 返回 ip-api.com 提供的详细地理位置和 ASN 信息。

2. SOCKS5/HTTP 模块

  • 路径: /socks5/check
  • 方法: GET
  • 参数: proxy (必须) - 完整的代理 URL,支持 socks5://http:// 协议。此参数也接受 socks5http 作为别名。
  • 示例: GET /socks5/check?proxy=socks5://user:pass@1.2.3.4:1080
  • 响应: 返回代理出口 IP 的详细地理位置和 ASN 信息。
  • 路径: /socks5/ip-info
  • 方法: GET
  • 参数:
    • ip (必须) - 要查询的 IP 地址或域名。
    • token (必须) - 访问令牌(后端动态生成,由前端页面自动提供)。
  • 示例: GET /socks5/ip-info?ip=google.com&token=…
  • 响应: 返回 IP 的详细信息。如果输入是域名,会自动解析并附加 DNS 信息。

3. NAT64/DNS64 模块

  • 路径: /nat64/check
  • 方法: GET
  • 参数:
    • nat64dns64 (可选) - 自定义的 DNS64 服务器或 NAT64 前缀。代码会优先使用 dns64 参数, 默认为 dns64.cmliussss.net
    • host (可选) - 用于测试的目标主机。默认为 cf.hw.xyz
  • 示例: GET /nat64/check?nat64=2001:67c:2960:6464::/96
  • 响应: 返回检测结果,包括合成的 IPv6 地址、NAT64 前缀以及 /cdn-cgi/trace 的信息。
  • 路径: /nat64/ip-info
  • 方法: GET
  • 参数:
    • ip (必须) - 要查询的 IP 地址或域名。
    • token (必须) - 访问令牌(后端动态生成,由前端页面自动提供)。
  • 示例: GET /nat64/ip-info?ip=1.1.1.1&token=…
  • 响应: 返回 IP 的详细信息。如果输入是域名,会自动解析并附加 DNS 信息。

#建站 #反代