WG

wusuoweiju48/google-anti-cn-doctor

Research
1 stars Quality 49 Trend 25

☔ AI Passport — Google/Gemini 送中与锁区自诊工具箱:四阶状态机问诊 + 节点照妖镜 + 本机环境体检。给第一次触摸 AI 的人撑一把伞。

Overview

身边所有人都在聊 AI。有人说它能帮着改简历、学外语,有人说它能像最耐心的老师一样解答任何问题,甚至有人说,这是普通人抹平信息差最大的一次机会。 你也心动了。你跟着网上的零散教程,省吃俭用买好了订阅,折腾了一整晚好不容易登上了账号。你深吸一口气,满怀期待地在对话框里敲下第一句「你好」。 然后,屏幕冷冷地弹出一行字: 又或者,明明昨天还能正常聊天,今天再打开,却突然显示你的地区不受支持。 我永远记得自己被这行字挡在门外的那个深夜。 那时候,我的浏览器开了二十多个标签页,满屏都是我看不懂的黑话:"IP 送中"、"广播 IP"、"DNS 污染"、"WebRTC 泄露"、"Google Play 锁区"。我去论坛和群里小心翼翼地求助,老手们往往只轻飘飘地丢下一句: 可对于一个刚推开门的新手来说,什么叫"干净的 IP"? 我花钱买的订阅列表里,明明整整齐齐写着"日本"、"新加坡"、"美国",甚至我去查 IP 网站也显示在国外, 为什么我明明挂着代理、一步没敢走错,Google 却像长了天眼一样,精准地一口咬定我在中国? 那段日子里,我像个做错事又找不到答案的孩子,一遍遍清理浏览器缓存、切换节点、卸载重装,对着全英文的申诉表单发呆,用最笨的办法把所有的暗坑拿肉身踩了一遍。 后来,我终于摸透了 Google 判区的底层脾气,再也没有被挡在门外过。但每次看到有新朋友发帖问"为什么我的 Gemini 用不了",最后带着挫败感留下一句"算了太难了,我不配用",灰溜溜地关掉网页时—— 我一直在想: 一个完全不懂代码的文科生、一个想给自己找个免费家教的学生、一个下班后想学点新东西的普通人——他们离这个时代最棒的工具,明明只差最后一层窗户纸。他们不该因为没人教、看不懂黑话,就觉得"这东西不属于我"。

README

☔ AI Passport:留给门外人的一串钥匙

“因为自己淋过那场没人搭理的暴雨,所以想给后面来的人撑一把伞。” —— 献给第一次触摸 AI 的你

▍写在前面:凌晨两点,那行冷冰冰的字

你可能也是这样来到这里的吧:

身边所有人都在聊 AI。有人说它能帮着改简历、学外语,有人说它能像最耐心的老师一样解答任何问题,甚至有人说,这是普通人抹平信息差最大的一次机会。

你也心动了。你跟着网上的零散教程,省吃俭用买好了订阅,折腾了一整晚好不容易登上了账号。你深吸一口气,满怀期待地在对话框里敲下第一句「你好」。

然后,屏幕冷冷地弹出一行字: Sorry, this service is not available in your country/region. 又或者,明明昨天还能正常聊天,今天再打开,却突然显示你的地区不受支持。

我永远记得自己被这行字挡在门外的那个深夜。 那时候,我的浏览器开了二十多个标签页,满屏都是我看不懂的黑话:“IP 送中”、“广播 IP”、“DNS 污染”、“WebRTC 泄露”、“Google Play 锁区”。我去论坛和群里小心翼翼地求助,老手们往往只轻飘飘地丢下一句:“这有什么难的,换个干净的原生 IP 不就好了?”

可对于一个刚推开门的新手来说,什么叫"干净的 IP"? 我花钱买的订阅列表里,明明整整齐齐写着"日本"、“新加坡”、“美国”,甚至我去查 IP 网站也显示在国外,到底哪一个节点在骗我? 为什么我明明挂着代理、一步没敢走错,Google 却像长了天眼一样,精准地一口咬定我在中国?

那段日子里,我像个做错事又找不到答案的孩子,一遍遍清理浏览器缓存、切换节点、卸载重装,对着全英文的申诉表单发呆,用最笨的办法把所有的暗坑拿肉身踩了一遍。

后来,我终于摸透了 Google 判区的底层脾气,再也没有被挡在门外过。但每次看到有新朋友发帖问"为什么我的 Gemini 用不了",最后带着挫败感留下一句"算了太难了,我不配用",灰溜溜地关掉网页时——我总能看到当年那个在屏幕前手足无措的自己。

我一直在想:AI 本来应该是用来消灭信息差的,为什么连"跟它说上一句话"本身,都变成了一道筛掉普通人的残酷门槛? 一个完全不懂代码的文科生、一个想给自己找个免费家教的学生、一个下班后想学点新东西的普通人——他们离这个时代最棒的工具,明明只差最后一层窗户纸。他们不该因为没人教、看不懂黑话,就觉得"这东西不属于我"。

这就是我做这个项目的全部原因。

▍我替你把路趟平了,你只管往前走

在这个仓库里,我不想再甩给你一篇几万字的网络协议科普让你自己去"悟"。我把当年折磨过我的所有问题,拆成了两件傻瓜式的工具:

  1. 🔍 替你揪出"假节点"的照妖镜(scripts/check_gemini_nodes.py) 很多时候不是你操作错了,而是你的节点在骗你——它的名字叫"日本",普通 IP 库也显示"日本",但在 Google 的内部系统(gl 判区)里,它早就因为被滥用而被打上了"中国"或不支持区的烙印。运行我们的零依赖脚本,它会自动通过 Clash/Mihomo 内核替你把所有节点挨个敲门验明正身:谁在裸泳、谁是假洋鬼子、谁能真正连通 Gemini,几秒钟出表,一目了然。
  2. 🩺 一位不会嫌你笨的"AI 主治医生"(skills/google-anti-cn-doctor) 哪怕换了好节点,如果你手机上的某个 App 偷偷开启了定位权限,或者账号里残留着以前的活动记录,Google 依然会把你拽回国内。我把全套"交叉确诊 → 节点测活 → 切断定位污染 → 虚拟定位锚定与官方改区申诉"浓缩成了可以直接喂给 AI 的 Skill 和提示词。哪怕你对技术一无所知,只要把它丢给任何你手头能用的 AI,它就会像老朋友一样,一步步带你把所有漏洞补上。

这不是什么高深莫测的极客工程,这只是一个曾经在门外吹过冷风的普通人,留给下一位敲门者的一串钥匙。 前路我替你踩过了,坑我也替你填上了。别怕,推开门吧。外面的世界很精彩,你本来就该在里面。


⚡ 3 分钟自救路线图

flowchart TD
    A[🙃 Gemini / Google 打不开了] --> B{手边有能用的 AI 吗?}
    B -- 有 --> C[复制 prompt-for-beginners.md 全文粘贴给任意 AI,开始 S0 问诊]
    B -- 没有 / 想自己动手 --> D[终端运行 scripts/local_env_check.sh看体检报告定位问题在哪一层]
    C --> E{诊断结果}
    D --> E
    E -- 网络侧:IP 送中 / 节点假货 --> F[运行 scripts/check_gemini_nodes.py逐节点验明正身,锁定存活节点]
    E -- 账号侧:被 Google 记成中国人 --> G[按 SKILL.md 阶段 3/4清污染 → 锁位置 → 官方表单改区]
    F --> H[✅ 恢复访问 + 30 天保温期]
    G --> H

极简三步(给不想看图的你):

  1. 先问诊 —— 打开 prompt-for-beginners.md,把里面虚线框中的全文复制,粘贴给任何你能用的 AI(ChatGPT/Claude/豆包/Kimi 都行),它会一步步带你查;
  2. 再验节点 —— 如果怀疑是节点问题,终端跑 python3 scripts/check_gemini_nodes.py,几秒钟告诉你哪些节点是真可用;
  3. 补浏览器课 —— 需要手动操作时,对照 guides/ 里的保姆级图文一步一步做。

🛠️ 核心工具使用指南

🔍 照妖镜:check_gemini_nodes.py

通过本地 Clash/Mihomo 的控制接口,自动遍历当前订阅的每一个节点,做四项体检:存活、Google 判区(YouTube gl 字段)、Gemini 实访、出口 IP 画像。

# 最简用法(自动发现 9090 等常见控制端口)
python3 scripts/check_gemini_nodes.py

# 指定控制器和密钥(在代理软件设置里能看到)
python3 scripts/check_gemini_nodes.py --controller http://127.0.0.1:9090 --secret 你的密钥

# 常用参数
python3 scripts/check_gemini_nodes.py --filter "日本|新加坡"   # 只测名字匹配的节点
python3 scripts/check_gemini_nodes.py --json > report.json    # 机器可读输出

零第三方依赖(纯 Python 标准库)。检测期间内核会临时切全局模式、流量依次 经过各节点(每个几秒),结束自动恢复原模式与原节点选择。

真实运行效果(作者本人订阅实测,绝无摆拍):

● 控制器 unix:///tmp/verge/verge-mihomo.sock | 代理口 http://127.0.0.1:7897 | 当前模式 rule
● 待测节点 4 个,预计耗时 ~24 秒

节点                        Google判区  Gemini    出口 IP / 国家 / ISP                结论
--------------------------------------------------------------------------------------------------
🇭🇰 [IPV6专用] 香港 ST1      HK         OK        220.246.89.204 HK Hong Kong Hong    ⚠️ 地区不支持
    └─ 出口国家 HK 不在 Gemini 支持区
🇭🇰 香港 ST1                 HK         OK        220.246.89.204 HK Hong Kong Hong    ⚠️ 地区不支持
    └─ 出口国家 HK 不在 Gemini 支持区
🇯🇵 [IPV6专用] 日本 ST1      US         OK        64.118.149.77 JP Japan Eons Data    ✅ 可用
🇯🇵 日本 ST1                 US         OK        64.118.149.77 JP Japan Eons Data    ✅ 可用

✅ 完全可用 2 个: 🇯🇵 [IPV6专用] 日本 ST1, 🇯🇵 日本 ST1
⚠️ 地区不支持 2 个: 🇭🇰 [IPV6专用] 香港 ST1, 🇭🇰 香港 ST1

看懂这张表,你就懂了"送中"的本质:

  • 那两条"日本 ST1"节点,IP 地理库(出口列)说它在 JP 日本,但 Google 判区列赫然写着 US——同一个 IP,两套数据库给出了不同答案。这正是本项目双库对比的价值:以 Google 的意见为准,因为拦你门的是它;
  • 如果哪天你看到"出口 JP、Google 判区 CN"的组合,那就是教科书级的送中——节点名字和普通 IP 网站都在骗你,只有 Google 说了实话;
  • 香港节点双双被标"地区不支持":名字再诱人也别用,Gemini 不服务该地区。

🩺 体检仪:local_env_check.sh

不碰节点、只看你本机环境的七项体检:直连画像、代理端口探测、代理生效性、IPv6 泄露风险、DNS 污染检测、Google 判区、浏览器侧风险清单。

bash scripts/local_env_check.sh        # macOS / Linux / Windows Git Bash 均可

真实运行效果(同样来自作者本机):

▶ [1/7] 直连出口画像(不走代理时,世界看到的你)
     检测到 TUN 虚拟网卡(utun1024)已接管全局:本项"直连"实际也走代理隧道
  [i] 直连出口:220.246.89.204(Hong Kong HK)ISP:Hong Kong Telecommunications (HKT) Limited Mass Internet

▶ [2/7] 本地代理端口探测
  [OK] 发现本地代理端口:127.0.0.1:7897(HTTP(mixed)),可出网

▶ [3/7] 代理出口画像与生效性
  [OK] 出口与[1]一致属 TUN 模式下的正常现象(所有流量本就经隧道)
  [❌] 代理出口国家 HK 属于 Gemini 不支持/高风险区,请换节点

▶ [4/7] IPv6 泄露风险
  [i] 检测到全局 IPv6:240e:688:...;当前 TUN 已接管全局流量
     v6 是否裸奔取决于代理软件 TUN 设置里的 IPv6 开关:开着=接管,关着=可能绕行

▶ [5/7] DNS 健康与污染检测(以 www.youtube.com 为探针)
  解析来源   系统           223.5.5.5        8.8.8.8(明文)
  youtube.com → 198.18.0.85      198.18.0.85      198.18.0.85
  [OK] 系统解析返回 198.18.x(Clash fake-ip)→ 已被代理接管,正常且健康

▶ [6/7] Google 判区(YouTube gl 字段,Google 对你 IP 的官方意见)
  [OK] Google 判区 JP,网络侧干净
     若此时 Gemini 仍拒绝你 → 问题在账号侧,按 SKILL.md 阶段 3/4 处理
  [⚠️ ] 有趣:地理库说 HK,Google 说 JP(双库分歧,以 Google 的 JP 为准)

结尾的解读表会直接告诉你下一步:判区 CN → 跑照妖镜换节点;判区干净仍被拒 → 账号侧问题,走阶段 3/4。

🩺 AI 主治医生:SKILL.md 与小白提示词

📂 仓库目录结构

google-anti-cn-doctor/
├── README.md                          # 你正在看的这份
├── prompt-for-beginners.md            # 🎫 小白自救提示词(复制粘贴即用)
├── skills/
│   └── google-anti-cn-doctor/
│       └── SKILL.md                   # 🩺 四阶状态机问诊逻辑(喂给任意 AI)
├── scripts/
│   ├── check_gemini_nodes.py          # 🔍 订阅节点批量测活(照妖镜)
│   └── local_env_check.sh             # 🩺 本机环境七项体检(体检仪)
└── guides/                            # 📖 保姆级图文(编写中,持续补充)
    └── how-to-lock-location.md        #   虚拟定位扩展安装与坐标锁定

规划中的 guides:60 秒快速自诊、四阶详解(01–04)、Clash/手机客户端专项、 反重力桌面端 TUN 专项。欢迎在 Issues 里告诉作者你最需要哪一篇。

🙏 写在最后

本项目只做网络诊断、官方设置引导与 Google 官方表单申请,不涉及任何账号 交易或绕过审查的技术;请遵守你所在地区的法律法规,理性使用。

如果这串钥匙真的帮你推开了那扇门,欢迎点一个 Star,让下一个正在深夜里 手足无措的人,能更早一点看到它。

MIT License · Made with ☔ by someone who’s been there

View this README on GitHub

Recommended Tools

Try a different keyword or remove a filter.

Install

npx skillfish add wusuoweiju48/google-anti-cn-doctor