技术博客
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.language 和 navigator.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 检测器。