更好上网杂谈

  • By 王小帅
  • 2 min read

自 Clash 作者删库停更后,现已将代理客户端更换为 Clash Verge Rev
Clash Verge Rev 的订阅界面中可配置 “全局扩展脚本” 来覆盖节点提供商提供的代理规则,该脚本主要是一个 main() 函数,需要注意的是变更此文件后要恢复初始设置并不能直接清空此文件,可以直接返回原 config 变量:


function main(config, profileName) {
  return config;
}

以下是我正在使用的2个全局扩展脚本。使用此脚本后使用规则模式,选择代理节点即可。
(这两个规则其实是 Google Gemini 帮我写的,自己稍微调整即可)

1:国内网络直连,国外网络使用指定代理。

1function main(config) {
2 // 1. 定义你的代理组名称
3 // 注意:请去“代理(Proxies)”界面看你的主策略组叫什么
4 // 常见的名字有:"Proxy", "节点选择", "Select", "🚀 节点选择" 等
5 const proxyGroupName = "Proxy";
6
7 // 2. 定义新的规则列表
8 const newRules = [
9 // --- 基础防泄露与局域网直连 ---
10 "GEOSITE,private,DIRECT",
11 "GEOIP,private,DIRECT,no-resolve",
12
13 // --- 中国大陆域名 -> 直连 ---
14 // 使用 geosite 数据库中的 cn 列表
15 "GEOSITE,cn,DIRECT",
16
17 // --- 中国大陆 IP -> 直连 ---
18 // 使用 geoip 数据库中的 cn 列表
19 "GEOIP,CN,DIRECT,no-resolve",
20
21 // --- 剩下的所有流量 -> 走代理 ---
22 `MATCH,${proxyGroupName}`
23 ];
24
25 // 3. 覆盖原有规则
26 // 我们直接替换 config.rules,以确保没有其他规则干扰
27 config.rules = newRules;
28
29 // 4. (可选) 确保 DNS 配置通过 nameserver-policy 优化解析
30 // 如果你不懂 DNS 配置,可以保留默认,通常 Clash Verge 会自动处理好
31
32 return config;
33}

2: 在脚本 1 的基础上,对各种 AI 的请求使用特殊规则。

这样就可以将通用境外网络使用 香港 区域代理,将 AI 类代理使用 台湾、新加坡 等区域代理。

1function main(config) {
2 // ================= 配置区域 =================
3
4 // 1. 主策略组名称 (通常叫 "Proxy", "节点选择" 等)
5 const mainProxyGroup = "Proxy";
6
7 // 2. 你想要指定的具体节点名称 (必须与列表中显示的完全一致)
8 const targetAiNode = "🇨🇳 台湾 IEPL [06] [AC]";
9
10 // 3. 为 AI 流量起一个新的组名
11 const aiGroupName = "🤖 AI 专用";
12
13 // ===========================================
14
15 // 1. 确保 proxy-groups 数组存在
16 if (!config['proxy-groups']) {
17 config['proxy-groups'] = [];
18 }
19
20 // 2. 创建一个新的自定义策略组
21 // 我们将 "目标节点" 和 "主策略组" 放入其中
22 // 这样如果 "目标节点" 名字变了或挂了,你还可以手动切回主策略组,不会导致断网
23 const newAiGroup = {
24 name: aiGroupName,
25 type: "select",
26 proxies: [targetAiNode, mainProxyGroup]
27 };
28
29 // 将新组插入到策略组列表的最前面 (方便你在界面操作)
30 config['proxy-groups'].unshift(newAiGroup);
31
32 // 3. 定义规则列表
33 // 注意顺序:先 private -> 然后 AI -> 然后 CN -> 最后 Match
34 const newRules = [
35 // --- 1. 基础直连 ---
36 "GEOSITE,private,DIRECT",
37 "GEOIP,private,DIRECT,no-resolve",
38
39 // --- 2. AI 规则 (优先级高于 CN) ---
40 // OpenAI / ChatGPT
41 `GEOSITE,openai,${aiGroupName}`,
42 `DOMAIN-SUFFIX,chatgpt.com,${aiGroupName}`,
43 `DOMAIN-SUFFIX,auth0.com,${aiGroupName}`, // OpenAI 登录常涉及
44 `DOMAIN-KEYWORD,openai,${aiGroupName}`,
45
46 // Anthropic (Claude)
47 `GEOSITE,anthropic,${aiGroupName}`,
48 `DOMAIN-SUFFIX,claude.ai,${aiGroupName}`,
49
50 // Google Gemini (尽量精确匹配,避免误伤 YouTube)
51 `DOMAIN-SUFFIX,gemini.google.com,${aiGroupName}`,
52 `DOMAIN-SUFFIX,bard.google.com,${aiGroupName}`,
53 `DOMAIN-SUFFIX,aistudio.google.com,${aiGroupName}`,
54 `DOMAIN-KEYWORD,generativeai,${aiGroupName}`, // Google API 常含此关键词
55
56 // Microsoft Copilot (可选,如果需要也走该节点)
57 // `GEOSITE,bing,${aiGroupName}`,
58
59 // --- 3. 中国大陆直连 ---
60 "GEOSITE,cn,DIRECT",
61 "GEOIP,CN,DIRECT,no-resolve",
62
63 // --- 4. 兜底 (其余走主代理) ---
64 `MATCH,${mainProxyGroup}`
65 ];
66
67 // 4. 应用规则
68 config.rules = newRules;
69
70 return config;
71}