什么是「Claude 中国用户」判定
Anthropic 的服务不面向中国大陆,官方入口会按地区拦下访问。但真正让人担心的不是「打不开」, 而是「打开了却被标记」:公开的逆向分析发现,Claude Code 在通过 ANTHROPIC_BASE_URL 指向非官方中转端点时,会读取操作系统时区与中转站的主机名, 再把判定结果用隐写的方式藏进 system prompt 里「Today's date is …」那一行—— 命中中国时区时,日期分隔符从 - 变成 /; 那个撇号则在四种视觉上几乎一样的 Unicode 变体之间切换,编码主机名有没有命中域名清单或 AI 实验室关键词。 这些标记随每一次请求发往服务端,肉眼看不出任何差别。
判定不是一个开关,而是把多个弱信号叠加成一个概率。系统时区是单项里最重的一环: 它伴随每一次请求,又很难无意中伪装;语言、字体、设备品牌与网络出口都会在它之上继续加权。 一个美国时区配上一整套中文字体和一个微信 WebView,照样会被读成可疑。 整个浏览器环境之所以会泄露这么多,是因为区域设置会渗透到方方面面—— 系统时区决定了 Intl 与 Date, 语言偏好决定了 navigator.languages 与 Accept-Language 请求头, 系统自带的字体可以被 canvas 逐像素量出来。
这次检测做了什么
- 读取 Intl.DateTimeFormat 解析出的系统时区。 这是网页与 Claude Code 唯一读到同一个值的信号,所以权重最高(24 分)。
- 依次检查浏览器语言列表、Intl locale 与 UTC 偏移这几项区域设置。
- 用 canvas 逐个量字宽,探测中文字体与国产厂商字体:字体装没装,画出来的宽度骗不了人。
- 从 UA 与 UA-CH 里识别国产浏览器、应用内 WebView 与设备品牌。
- 让 WebRTC 向 STUN 服务器收集一次 ICE 候选,看它会不会交出本机或公网地址,并与本站在 HTTP 层看到的地址对照。
- 每一项得到一个 0–1 的「中国相似度」,乘以各自的权重后相加。10 项权重合计 100,总分就是风险分。
所有探测只读浏览器 API,探到的值不会离开这个页面。之所以逐项点亮而不是一口气算完, 是为了让你看清楚分数是从哪几项上涨起来的——要改,也就知道先改哪一项。
怎么读检测结果
- 0–30 低风险:浏览器可见的指纹里没有明显的中国痕迹。 这不等于账号安全——出口 IP、支付方式、账号行为都不在本页的观察范围内。
- 31–60 中等风险:有几项指纹指向中国环境, 叠在一起足以让风控系统提高警惕。通常是时区或语言二者之一命中,加上一些字体。
- 61–100 高风险:多项高权重信号同时命中。 以已披露的机制看,这样的环境每一次请求都会带上「像中国用户」的标记。
- 单项的颜色:得分 ≥ 0.25 记为命中(琥珀),≥ 0.6 为强命中(红)。 右侧的「+N」是这一项实际贡献的分数,等于相似度乘以权重。
台湾不在 Anthropic 的限制名单内,所以 Asia/Taipei 时区与 zh-TW 语言 / locale 不计分,繁体中文字体只保留极低的模糊分(无法区分台湾与港澳)。 香港、澳门属于受限地区,相关信号保留部分风险分。
如何降低风险分
按权重从高到低排,每一步都对应上面的某一项信号,做完一步就回到本页重测一次:
- 改系统时区。把操作系统时区换到非中国时区(例如 America/New_York 或 Europe/London), 并确认 getTimezoneOffset() 不再是 UTC+8。这是单项收益最高的一步。 通过中转使用 Claude Code 且宿主机在中国时,还要用 TZ 环境变量把它覆盖掉。
- 调整语言顺序。把 zh-CN / zh-Hans 从浏览器与系统语言列表的首位移除, 让 navigator.languages 与 Accept-Language 以英文或其他非中文 locale 打头。
- 隔离中文与厂商字体。微软雅黑、苹方、MiSans、鸿蒙黑体这些字体一装上就会被 canvas 量出来。 用一个干净的浏览器 Profile 或独立的系统环境跑 Claude,比逐个卸载字体现实得多。
- 堵住 WebRTC,用住宅出口。先在本站的 WebRTC 泄露检测里确认真实地址没有漏出去; 出口尽量用原生住宅 IP 而不是数据中心 IP,避免一个本来干净的环境被网络那一头盖过去。
- 让中转的主机名保持中性。通过中转使用 Claude Code 时, ANTHROPIC_BASE_URL 的域名里不要出现敏感关键词或 AI 实验室的名字—— 主机名本身就是被读取的两个信号之一。
要留意一个反直觉的事实:把每一项都伪装到极致,本身也是一种指纹。 一个英文时区配上全套中文字体、或者一个语言列表里只剩一种语言的浏览器, 在统计上同样罕见。目标是「看起来像一个普通的海外用户」,而不是「什么都测不出来」。
常见问题
- Claude 真的会读我的时区吗?
- 据公开的逆向分析,Claude Code 在通过 ANTHROPIC_BASE_URL 指向非官方端点时,会读取操作系统时区与中转站的主机名,再把判定结果用几个视觉上几乎一样的 Unicode 字符藏进 system prompt 里「Today's date」那一行。本页通过 Intl.DateTimeFormat 读到的,正是同一个系统时区。
- 这个分数就是 Claude 的真实判定吗?
- 不是。十项里只有系统时区能与已披露的机制一一对应,其余九项是与之相关的「中文环境指纹」。Anthropic 真正的风控还会看出口 IP 的归属、支付方式、账号资历与使用模式,这些网页都看不到。分数是估计,不是定论。
- 分数低就一定不会被封吗?
- 不能保证。本页只衡量浏览器可见的指纹,一个数据中心出口、一张高风险的虚拟卡,照样可能让账号被标记。低分能消除的是本地环境里那些明显的破绽,不是全部风险。可以配合本站首页的 IP 检测,看看出口地址本身是不是家宽、有没有代理记录。
- 换了 IP、挂上 VPN,分数会变吗?
- 大多不会。时区、语言、字体、设备型号读的都是操作系统和浏览器本身,与网络出口无关——这正是很多「干净」的 VPN 配置在这里依然高分的原因。十项里只有 WebRTC 一项和网络有关。
- 本站会保存这次检测的结果吗?
- 不会。全部检测在你的浏览器里完成,探测到的时区、语言、字体、设备信息一个字节都不会发回本站。WebRTC 那一项会向 STUN 服务器发一次探测请求,取回的地址也只留在当前页面里,关掉即消失。
本页的信号清单、权重与打分规则来自开源项目 FuckClaude(MIT 协议,© LinXiaoTao), 按本站无构建、无框架的约定重新实现。检测结论仅供参考,基于对 Claude Code 早期中转指纹行为的公开逆向分析, 不构成 Anthropic 的官方说法,也不构成任何建议。