ClaudeSignal

技术博客

Claude Code 地区信号深度分析:14 项检测指标详解

ClaudeSignal 使用 14 项信号进行地区画像评分。本文逐项解析每项指标的权重分配逻辑、检测原理和实际表现。

评分体系概览

ClaudeSignal 的评分体系由 14 项信号组成,总分 100 分(有上限)。信号分为两大类:客户端指纹(97 分理论满分)和服务端 IP 信号(43 分理论满分)。由于各项信号可能重叠,实际最高分被限制在 100。

权重分配反映了每项信号的"信息量"——即该信号能在多大程度上帮助区分不同国家的用户。权重越高的信号,区分能力越强。

第一梯队:核心信号(25 分)

系统时区(25 分):这是权重最高的客户端信号。检测 Intl.DateTimeFormat().resolvedOptions().timeZone,匹配预定义的时区家族。例如 Asia/Shanghai、Asia/Chongqing、Asia/Harbin 都命中中国时区家族。

IP 归属地(25 分):这是权重最高的服务端信号。通过 ip-api.com 查询请求 IP 的国家归属。如果国家代码匹配目标国家,命中 25 分。

这两个信号分别代表客户端和服务端的最强地区指示器。它们的独立性使交叉验证成为可能——如果两者都指向同一国家,画像的可信度大幅提升。

第二梯队:语言与字体(15+12 分)

浏览器语言(15 分):检测 navigator.languagenavigator.languages。如果语言代码包含目标国家代码(如 zh-CN 中的 CN),命中。语言信号的权重仅次于时区和 IP,因为它是用户主动设置的偏好。

地区字体(12 分):通过 Canvas API 测量特定字符的渲染宽度来检测。中文字体(PingFang SC、Microsoft YaHei、Noto Sans CJK)的检测是通过比较中文字符和英文字符的渲染宽度比来实现的。

语言和字体信号的组合特别有效:如果浏览器语言是 zh-CN 并且系统安装了中文字体,两项同时命中,总共 27 分。这种"语言+字体"组合是第二强的客户端信号组合。

第三梯队:辅助信号(5-8 分)

Intl 区域(8 分):读取 Intl.DateTimeFormat().resolvedOptions().locale 中的区域代码。这个信号与浏览器语言相关但不完全相同——它反映的是浏览器的区域格式偏好。

WebGL/GPU 渲染器(8 分):读取 WEBGL_debug_renderer_info 扩展返回的 GPU 型号。虽然 GPU 本身不直接暴露地区,但特定型号的市场分布可以提供辅助信息。

住宅/代理 IP 标记(12 分):通过 IP 地理定位服务判断 IP 是否来自住宅宽带、VPN 或数据中心。住宅 IP 得 12 分,VPN 或数据中心 IP 得 6 分。这个信号帮助区分真实用户和代理用户。

第四梯队:微信号(2-5 分)

数字格式(5 分)Intl.NumberFormat 检测小数点和千位分隔符。

日期格式(5 分)Intl.DateTimeFormat 检测日期排列顺序(YMD/MDY/DMY)。

运营商区域(5 分):检查 IP 的 ASN/ISP 注册国家。

键盘布局(4 分):通过 Keyboard API 检测键盘类型(QWERTY/QWERTZ/AZERTY)。

屏幕 DPI(3 分)window.devicePixelRatio 检测显示设备的像素密度。

Emoji 渲染(2 分):Canvas 测量 Emoji 字符的渲染宽度。

这些信号虽然单独权重较低,但在多信号组合时可以提供额外的区分能力。当核心信号已经明确时,这些微信号可以进一步强化画像的一致性。

交叉验证方法

ClaudeSignal 的核心价值在于将客户端信号与服务端信号进行交叉对比。检测逻辑如下:

1. 先独立计算每个国家的客户端得分和服务端得分。

2. 将两者相加,得到每个国家的总分。

3. 按总分降序排列,得分最高的国家就是最匹配的画像。

4. 如果客户端最高分和服务端最高分指向不同国家,在报告中标记为"不一致"。

这种交叉验证能发现两种重要模式:一致性(所有信号指向同一国家)和不一致(客户端和服务端信号矛盾)。后者在 VPN 使用场景中尤其常见。

评分限制与局限

真实的服务端内部审核还可能包含:账号历史行为、手机号归属地、支付方式国家、设备信誉评分、请求频率模式、异常使用记录等。ClaudeSignal 只能看到外部可见信号。

想查看你的实际评分?运行 ClaudeSignal 检测器