问题根源 100%锁定
你的 Gemini 流量依然走美国,核心原因是:订阅自带的规则集(rule-providers)默认开启了前置(prepend),它的规则优先级比我们写的规则更高。
日志里已经写得很清楚:gemini.google.com 先被订阅规则集里的 DomainKeyword(google) 匹配到,直接走了 Youtube 组的美国 04 节点,我们写的 Gemini 专属规则根本没机会执行——因为订阅的规则被强制放到了所有规则的最顶部,我们的规则被挤到了后面。
终级解决方案(强制锁死优先级,100%让 Gemini 走香港)
这个方案直接从底层强制改写规则顺序,让 Gemini 的规则永远排在全量规则的第 1 位,彻底无视订阅的规则集,绝对不会再被其他规则抢走流量。
操作步骤
- 彻底关闭「全局扩展覆写」:清空所有内容,关闭右上角的启用开关,全程不启用。
- 打开「全局扩展脚本」:清空所有旧内容,先打开右上角的启用开关。
- 把脚本里的
HK_NODE = "香港 08",替换成你手动验证过、能正常打开 Gemini 网页版的香港节点完整名称(一字不差,包括空格、数字)。 - 粘贴脚本,点击右下角「保存」,看到保存成功提示后,进入「订阅」页面刷新订阅,再进入「设置」页面重启 Clash 内核。
function main(config) {
// ===================== 这里替换成你能用的香港节点名 一字不差 =====================
const HK_NODE = "香港 08";
// ===============================================================================
// 1. 最高优先级规则:必须放在全量规则的最顶部,命中即停
const topRules = [
// 阻断UDP 443 QUIC逃逸,强制Gemini走TCP,避免连接中断
"AND,((NETWORK,UDP),(DST-PORT,443)),REJECT",
// Gemini网页版专属规则,强制走香港节点,精准匹配,优先级拉满
`DOMAIN-SUFFIX,gemini.google.com,${HK_NODE}`,
`DOMAIN-SUFFIX,gemini.gstatic.com,${HK_NODE}`,
`DOMAIN-SUFFIX,fonts.gstatic.com,${HK_NODE}`,
`DOMAIN-SUFFIX,www.gstatic.com,${HK_NODE}`,
];
// 【核心操作】把我们的规则强制插到所有规则的最最前面,无视订阅规则集
config.rules = [...topRules, ...config.rules];
// 【关键】禁用所有订阅规则集的前置权限,彻底杜绝规则集抢优先级
if (config["rule-providers"]) {
for (const provider in config["rule-providers"]) {
// 强制关闭规则集的前置,让它的规则永远排在我们的规则后面
config["rule-providers"][provider]["prepend"] = false;
// 可选:如果还是抢优先级,直接注释掉上面一行,取消下面一行的注释,禁用整个规则集
// delete config["rule-providers"][provider];
}
}
return config;
}生效后必做操作
- 彻底关闭所有浏览器窗口,清除浏览器全部缓存、Cookie、历史记录,重启浏览器,全程用无痕模式测试(避免旧的连接缓存影响结果)。
- 打开 Clash Verge「日志」页面,点击「清除」清空旧日志。
- 无痕模式访问
gemini.google.com,回到日志页面搜索gemini,确认:- 流量命中了我们写的
DOMAIN-SUFFIX,gemini.google.com规则; - 最终走的节点是你设置的香港节点,而不是美国节点。
- 流量命中了我们写的
- 同时验证 VS Code 里的 Antigravity,全程走美国节点,正常登录、正常运行,完全不受影响。
终极兜底方案(如果上面的脚本还是被规则集覆盖)
如果还是不行,直接用最暴力的方案:直接改写 Youtube 组的默认节点,因为日志里 Gemini 流量最终走到了 Youtube 组,我们直接把 Youtube 组改成香港节点,同时保留 Antigravity 的美国流量兜底。
function main(config) {
// ===================== 替换成你自己的节点名 一字不差 =====================
const HK_NODE = "香港 08"; // 能打开Gemini的香港节点
const US_NODE = "美国 01"; // Antigravity能用的美国节点
// =======================================================================
// 1. 强制把Youtube组的默认节点改成香港,解决Gemini流量走Youtube组的问题
for (const group of config["proxy-groups"]) {
if (group.name === "Youtube") {
group.proxies = [HK_NODE, ...group.proxies];
}
}
// 2. Antigravity流量强制锁死美国节点,优先级最高
const topRules = [
"AND,((NETWORK,UDP),(DST-PORT,443)),REJECT",
// Antigravity全量进程/域名 强制美国节点
`PROCESS-NAME,Code,${US_NODE}`,
`PROCESS-NAME,Code Helper,${US_NODE}`,
`PROCESS-NAME,node,${US_NODE}`,
`DOMAIN-SUFFIX,antigravity.google,${US_NODE}`,
`DOMAIN-SUFFIX,generativelanguage.googleapis.com,${US_NODE}`,
`DOMAIN-KEYWORD,googleapis,${US_NODE}`,
// Gemini网页版兜底规则
`DOMAIN-SUFFIX,gemini.google.com,${HK_NODE}`,
`DOMAIN-SUFFIX,gemini.gstatic.com,${HK_NODE}`,
];
config.rules = [...topRules, ...config.rules];
// 禁用规则集前置
if (config["rule-providers"]) {
for (const provider in config["rule-providers"]) {
config["rule-providers"][provider]["prepend"] = false;
}
}
return config;
}