Anthropic 检测地址?一个插件让浏览器地址符合 IP 所在
Chrome插件GeoMirror同步IP地理位置信息,避免账号被检测封禁。
📝 本文 AI 含量约 20%,主要用于封面制作及技术栈写作,正文内容基于个人实践与代码实现。
Anthropic 正在大规模封禁简体中文账号。不管注册地、IP、绑定的手机号是什么——只要简体中文对话量到达一定阈值,几乎全军覆没。

更离谱的是,封禁邮件里居然还带了地址检测。

这种做法不会止于 Anthropic。技术右翼在壮大,OpenAI、Google 迟早会跟进。
很多人都知道要买纯净 IP,但普遍忽视了地理位置、时区、系统语言这些浏览器层面的暴露信号。
于是我手搓了一个 Chrome 插件,上架了 GitHub。
GeoMirror:让浏览器画像跟随出口 IP
项目地址:GitHub - GeoMirror
只换 IP 远远不够。换了代理之后,浏览器依然在泄露大量矛盾信号:
| 信号 | 说明 |
|---|---|
navigator.geolocation | 可能暴露真实物理位置 |
Date.getTimezoneOffset() | 可能暴露本机时区 |
Intl.DateTimeFormat | 可能暴露系统时区 |
navigator.language | 可能暴露本机语言 |
HTTP Accept-Language | 请求头携带另一个语言环境 |
这些信号一旦矛盾,就形成典型的「代理/异常环境」画像。GeoMirror 把这条链补齐。
使用前 → 使用后:
→ 
三个核心功能
1. 修改地理位置
插件读取你的出口 IP,通过多个定位服务确定其所在地,然后在附近找一条住宅道路,选一个住宅坐标注入浏览器——不再是「IP 在洛杉矶、GPS 在北京」的可疑账户,而是「IP 在洛杉矶、GPS 在洛杉矶住宅区」的可信用户。
2. 修改时区
GeoMirror 只拦截 Chrome 内部的时间 API——Date、Intl.DateTimeFormat、DST 夏令时——浏览器内时区与 IP 一致,而电脑系统时区完全不受影响。
3. 修改语言
根据 IP 的国家码和时区推断语言设置,覆盖 navigator.language、navigator.languages、Intl locale,并通过 declarativeNetRequest 修改 HTTP 请求头的 Accept-Language。从 JS 到网络请求,语言身份与出口 IP 保持一致。
隐私设计
Local-first,不上传任何数据:
- 无账号、无遥测、无分析
- 不读取网页正文
- 无远程配置
- 所有设置存于本地
chrome.storage.local - 唯一外部请求:向公共 IP 定位和地图服务查询出口 IP 位置
安装
当前使用未打包扩展方式:
- GitHub 下载或克隆仓库
- 打开
chrome://extensions - 开启「开发者模式」
- 点击「加载已解压的扩展程序」,选择
geomirror文件夹 - 固定图标,打开弹窗点击 Refresh
后续计划上架 Chrome 应用商店。
如果你不想安装扩展
把这个 prompt 扔给任何一个 coding agent(Claude Code、Codex、Cursor 等),它能直接为你生成一个可用的本地版本:
请构建一个 Chrome Manifest V3 扩展,用于让浏览器可见的地区画像与当前出口 IP 保持一致。
要求:
- 通过 Chrome 网络栈检测浏览器当前可见出口 IP,使用多个 IP geolocation provider 做 fallback
- 保留 provider 返回的国家码、城市/地区/国家、经纬度、ISP、IANA timezone
- 不要直接使用 IP 中心点;优先用 OpenStreetMap Overpass 查询附近 highway=residential 住宅道路,并选择一个合理坐标;失败时使用安全 jitter fallback
- 根据国家码 + timezone 推断 locale bundle,包括 navigator.language、navigator.languages、Accept-Language
- 所有设置和计算出的 override 只存 chrome.storage.local。不要 telemetry,不要 analytics,不要账号系统,不要远程配置,不要收集网页内容
- 使用两个 content script:isolated-world bridge 读取 chrome.storage 把 JSON payload 发布到 DOM;MAIN-world injector 在 document_start 执行,patch 页面可见 API
- patch 以下内容:navigator.geolocation.getCurrentPosition / watchPosition / clearWatch;navigator.permissions.query 的 geolocation 结果;Date.prototype.getTimezoneOffset(使用调用者 Date 实例,支持 DST-aware IANA timezone);Intl.DateTimeFormat 默认 timezone 和 resolvedOptions().timeZone;navigator.language 和 navigator.languages;Intl.DateTimeFormat / Intl.NumberFormat / Intl.Collator 默认 locale
- 使用 chrome.declarativeNetRequest 在 language spoof 开启时设置 outgoing Accept-Language header
- 添加 popup,提供 location/timezone/language 开关、accuracy、refresh interval、可选 ipinfo token、手动刷新
- 添加测试,覆盖 timezone DST offset、locale 推断、provider parsing、manifest 注入顺序
- 写清楚隐私模型:无 telemetry,不读取页面内容,只本地存储;外部请求仅用于出口 IP / 地理位置匹配
你甚至可以把它微调成你自己的版本,加上你偏好的 provider、换掉地图源、改掉 fallback 策略——全部在你本地,代码完全可控。
技术右翼的封禁不会止于 Anthropic。只换 IP 已不够用,让浏览器在出口节点上变成一个真正的「本地人」,需要把地理位置、时区、语言全部拉齐。
GeoMirror 不追求成为一个完整的反指纹系统。但如果能帮你在使用海外服务时少踩几个坑、少被误封几个号——那就够了。