关于数据
数据方法
数据只有在讲清楚怎么来的时候才有用。这一页说明 cdnping 上每个数字的含义和局限。
三类数据来源
1. 边缘探测
一个运行在 Cloudflare Workers 上的定时任务每 5 分钟执行一次,依次向每个 AI 模型 API 的官方入口发出不带密钥的 HTTPS 请求(例如 GET https://api.openai.com/v1/models)。我们记录从发出请求到收到响应头的时间,以及 HTTP 状态码。
- 可达:返回任何低于 500 的状态码。未鉴权请求返回 401 或 403 是正常现象,说明 API 网关在线并能处理请求。
- 不可达:返回 5xx、8 秒内未响应或连接失败。
- 每轮对同一入口连续请求两次并取较快的一次,以减少探测端自身连接建立带来的偏差。
- 任务执行的 Cloudflare 节点由平台调度,页面上会标注节点代码(如 LAX、HKG)。
边缘探测反映的是服务端网关的连通性,不包含模型推理时间,也不代表你本地网络的体感延迟。
2. 访客实测
首页“开始测速”在你的浏览器中直接向各个目标发起请求:先请求一次,记为首次连接(包含 DNS 解析、TCP 与 TLS 握手);随后在同一连接上再请求三次,取中位数记为往返。请求超过 6 秒视为失败。
勾选“匿名汇入公共统计”时,浏览器会把每个目标的耗时与成败提交给我们。服务端只附加 Cloudflare 提供的国家/地区、省份与运营商网络编号(ASN),据此归类为电信、联通、移动等。我们不保存 IP 地址;为防止刷数据,仅保留一个按天加盐、48 小时后清除的 IP 摘要用于频率限制。
样本少于 5 条的分组不展示结论。统计窗口为过去 7 天。
3. 官方状态页
每 15 分钟同步 OpenAI、Anthropic、Moonshot AI、Groq、Cloudflare、GitHub 公开状态页的当前状态与事件记录,原文链接保留在事件列表中。
IP 与网络环境检测
IP 检测页面分为服务端的 IP 情报和浏览器本地检测两部分。
IP 情报(服务端)
- 多库定位:Cloudflare、ip-api、ipinfo、DB-IP、ipwho.is、GeoJS、IP.SB、MaxMind GeoLite(经 RIPEstat)、ipapi.is、IP2Location、ipapi.co、freeipapi 分别给出国家与城市,按国家多数票、再按城市多数票得出结论,置信度为与结论国家一致的数据库占比。检测自己的 IP 时,免 key 的数据库由你的浏览器直接查询。
- 网段注册信息:按 IANA RDAP 引导表找到对应的区域互联网注册机构(ARIN、RIPE NCC、APNIC 等),查询网段名称、注册组织与注册国家。
- 原生 / 广播:注册国家与多库定位国家一致为原生 IP,不一致为广播 IP;ARIN 网段在美国、加拿大定位视为原生。
- 风险信号与权重:Tor 出口(Tor Project、proxycheck、StopForumSpam、dan.me.uk 任一,60);代理 / VPN(ip-api 30、proxycheck 30、IP2Location 20、freeipapi 20,合计上限 45);proxycheck 风险分 ≥ 33(风险分 ÷ 5,上限 20);机房特征(ip-api 托管 25、proxycheck Hosting 20、托管 ASN 名单 15、注册信息或使用方含机房关键词 15,合计上限 35);StopForumSpam 滥用记录(上限 25);DNS 黑名单 DroneBL、SpamCop、Mailspike、Barracuda、UCEPROTECT、s5h(每个 8,上限 24);广播 IP 10;各库定位分歧大 5。风险值为命中权重之和,上限 100;“IP 纯净度” = 100 − 风险值。
浏览器本地检测
- 大陆分流:网易、腾讯、抖音、微博、优酷、小红书等国内厂商的 CDN 会在响应头中返回客户端 IP,并通过 CORS 允许网页读取;浏览器各请求两次,记录它们看到的 IP 与往返时间,再结合 IPIP.NET 判断国内流量是直连还是绕出了大陆。
- 多出口分流:同时请求多个允许跨域的公开端点(Claude、ChatGPT、Grok 与 1.1.1.1 的 Cloudflare trace,ipify、ipinfo、IP.SB、GeoJS、BigDataCloud),比较它们各自看到的出口 IP 与国家。
- DNS 泄漏:由浏览器解析若干随机子域名,再向 bash.ws 查询是哪些 DNS 服务器完成了解析。
- WebRTC:向 Cloudflare 与 Google 的 STUN 服务器收集候选地址,比较公网地址与网页出口 IP。
- 延迟特征:浏览器到本站的往返时间(取 5 次中位数)与 Cloudflare 记录的出口 TCP 往返时间之差超过 60 ms 且超过后者两倍时,判定为疑似中转。
- 内核版本反推:依次检测 Chromium、Gecko、WebKit 各版本新增的 JavaScript / CSS 特性,得出内核版本区间。只有 UA 版本比特征上限高出 2 个大版本以上才判为不一致,以容忍个别特性的发布差异。
- 一致性评分:从 100 分起,每个“严重”项扣 20 分,“警告”扣 10 分,“提示”扣 3 分。
浏览器指纹、字体与硬件信息只在本地计算和显示,不上传、不保存。
模型监测、官网动态与“挂了吗”
- 模型监测:每 30 分钟读取 OpenRouter 公开 API,记录各家最新模型在每个推理供应商上的 5 分钟 / 30 分钟 / 1 天可用率、延迟、吞吐与量化精度;每 6 小时比对模型目录,记录上架、下架、调价与上下文变化。
- 官网动态:轮流抓取各家官方更新日志、价格页与新闻(均遵守 robots.txt,优先使用官方提供的 Markdown 版本),提取正文逐行比对,记录新增与删除的行。
- 挂了吗:综合官方状态页、我们的 API 探测和用户报告。过去 1 小时报告数 ≥ 5 且超过平时每小时均值的 3 倍加 3 时,标记为“大量用户报告问题”。
- 额度重置时间线:人工收录有可靠来源的事件,并从官方更新日志中自动识别新的重置公告。
指标定义
- 中位延迟 / P95:时间窗口内成功请求耗时的第 50 / 95 百分位。
- 可达率:可达次数 ÷ 总探测次数。
- 成功率(访客实测):6 秒内完成请求的比例。
局限
- 边缘探测点数量有限,无法覆盖所有地区。
- 访客实测受访客自身网络、代理与浏览器扩展影响,样本分布也不均匀;我们用中位数降低极端值影响,但不能完全消除偏差。
- 一个 API 网关可达不代表模型推理一定成功。
开放数据
最新状态以 JSON 形式公开:/api/status。欢迎引用,请注明来源 cdnping.org。数据按 CC BY 4.0 授权。
发现数据问题?写信到 hello@cdnping.org。