Windows 上的 Chrome 经路由器透明代理访问境外服务时,会遇到一批看起来像客户端坏了、实际根因在网络层的问题:Gemini 页面只剩一个输入框、Chrome 扩展装不上并报 Image decode failed、Google 账号被判定为不支持的国家、流媒体打不开、社交媒体加载不全。
本仓沉淀的是客户端侧怎么查:用 CDP 接管你的浏览器,把「只剩一个输入框」变成一条明确的控制台错误;用 Chrome 地区种子清理摘掉账号与设备侧的残留因素;再用只读判定手法(服务方自己的国家标记 / 出口链路 / GET 判 302)查清「到底是谁在拦」,并留下可复核的证据。
一句话判据:症状能在你的浏览器里复现成一条明确的控制台错误,才轮得到本仓继续查;查不到就是网络层。路由器侧的排查(fake-IP 段、分流规则、策略组)不在本仓范围,按现象直奔 排错手册,每一节都给了「客户端问题还是路由器问题」的判据。
| 项 | 要求 |
|---|---|
| 操作系统 | Windows 10 / 11(工具链依赖 netsh / ssh / curl) |
| 浏览器 | Chrome 138+(LNA 拦截自这个版本起生效) |
| 运行时 | Node.js 22+ 与 Git Bash;使用者工具无第三方依赖(维护脚本 make_social_preview.py 例外,需 numpy + Pillow,见 docs/TOOLS.md) |
| 代理 | 一个你机器上可达的代理口;连通性测试必须走这个口 |
三步,顺序不能换:先清种子,再复测,最后才抓控制台 —— 种子没清就抓控制台,抓到的是带地区因子的噪声。
- 清 Chrome 地区种子 —— 先把 Chrome 完全退出(含后台进程),再跑第 ① 条;脚本写前会留
.bak-region-*备份。 - 复测 Gemini —— 跑第 ② 条;它会切 WiFi、起一个临时 Chrome、抓控制台并截图,结束后清理、切回热点,你日常那个 Chrome 全程不会被碰(其中的路由器侧检查需要 root 权限,没有就跳过那一步)。
- 抓控制台 / 网络失败 —— 跑第 ③ 条;只读,不改浏览器设置,前提是 9223 上已经有一个开着
--remote-debugging-port的 Chrome。
node tools/clear-chrome-region.js # ① 清地区种子(Chrome 需完全退出)
bash tools/verify-gemini.sh # ② 复测 Gemini
CDP_PORT=9223 node tools/cdp.js # ③ 抓控制台与网络失败三个工具的完整用法、副作用与前置条件见 工具清单;已知坑见 踩坑总汇;机制与判据见 LNA × fake-IP。
遇到对不上的现象、想要新的判定手法,或者某一步在你的环境里走不通,都可以到 Issues 反馈。请尽量带上:
- Chrome 版本号、Windows 版本、代理方式(路由器透明代理还是本机代理软件)
- 哪个工具、执行的哪一步,输出原文
- 控制台错误原文(
tools/cdp.js的输出)或复现步骤
想参与贡献,见 CONTRIBUTING;安全问题按 SECURITY 报告。
本项目仅供学习与个人排障使用。
- 不采集、不上传、不存储任何个人信息;本仓只有本地脚本与文档,不含任何统计或回传组件
- 本仓不提供任何绕过服务方地区限制的方案;它只做定位与取证,改不改、改在哪一侧由你自己按当地法律与各服务的用户协议判断
- 修改浏览器配置(地区种子)前请自行备份;脚本会留
.bak-region-*备份,但不替你恢复 - 请勿用于商业用途或任何违反服务方用户协议的场景
- 使用本工具产生的任何后果由使用者自行承担
「Chrome」「Google」「Gemini」「Chrome DevTools Protocol」「Node.js」等商标、标识与项目名称的权利均归其权利人所有。本项目与之不存在任何隶属、合作、授权、认可或支持关系。
本仓的脚本建立在这些开源项目之上:
| 项目 | 用途 |
|---|---|
| Chrome DevTools Protocol | 抓控制台、网络失败与页面渲染状态的标准协议;协议定义快照随仓 vendor,字段可用 node third-party/verify-cdp-fields.js 逐个核对 |
| Chrome | 被诊断的浏览器本体,提供 --remote-debugging-port 接入点 |
| Node.js | 跑全部 JS 工具(内置 fetch / WebSocket,无第三方依赖;Python 侧维护脚本依赖见 docs/TOOLS.md) |
本仓库以 MIT License 发布。第三方组件的版权与许可证声明见 NOTICE。
