自 Clash 作者删库停更后,现已将代理客户端更换为 Clash Verge Rev。
在 Clash Verge Rev 的订阅界面中可配置 “全局扩展脚本” 来覆盖节点提供商提供的代理规则,该脚本主要是一个 main() 函数,需要注意的是变更此文件后要恢复初始设置并不能直接清空此文件,可以直接返回原 config 变量:
function main(config, profileName) {
return config;
}
以下是我正在使用的2个全局扩展脚本。使用此脚本后使用规则模式,选择代理节点即可。
(这两个规则其实是 Google Gemini 帮我写的,自己稍微调整即可)
1:国内网络直连,国外网络使用指定代理。
| 1 | function main(config) {
|
| 2 |
|
| 3 |
|
| 4 |
|
| 5 | const proxyGroupName = "Proxy";
|
| 6 |
|
| 7 |
|
| 8 | const newRules = [
|
| 9 |
|
| 10 | "GEOSITE,private,DIRECT",
|
| 11 | "GEOIP,private,DIRECT,no-resolve",
|
| 12 |
|
| 13 |
|
| 14 |
|
| 15 | "GEOSITE,cn,DIRECT",
|
| 16 |
|
| 17 |
|
| 18 |
|
| 19 | "GEOIP,CN,DIRECT,no-resolve",
|
| 20 |
|
| 21 |
|
| 22 | `MATCH,${proxyGroupName}`
|
| 23 | ];
|
| 24 |
|
| 25 |
|
| 26 |
|
| 27 | config.rules = newRules;
|
| 28 |
|
| 29 |
|
| 30 |
|
| 31 |
|
| 32 | return config;
|
| 33 | }
|
2: 在脚本 1 的基础上,对各种 AI 的请求使用特殊规则。
这样就可以将通用境外网络使用 香港 区域代理,将 AI 类代理使用 台湾、新加坡 等区域代理。
| 1 | function main(config) {
|
| 2 |
|
| 3 |
|
| 4 |
|
| 5 | const mainProxyGroup = "Proxy";
|
| 6 |
|
| 7 |
|
| 8 | const targetAiNode = "🇨🇳 台湾 IEPL [06] [AC]";
|
| 9 |
|
| 10 |
|
| 11 | const aiGroupName = "🤖 AI 专用";
|
| 12 |
|
| 13 |
|
| 14 |
|
| 15 |
|
| 16 | if (!config['proxy-groups']) {
|
| 17 | config['proxy-groups'] = [];
|
| 18 | }
|
| 19 |
|
| 20 |
|
| 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 |
|
| 33 |
|
| 34 | const newRules = [
|
| 35 |
|
| 36 | "GEOSITE,private,DIRECT",
|
| 37 | "GEOIP,private,DIRECT,no-resolve",
|
| 38 |
|
| 39 |
|
| 40 |
|
| 41 | `GEOSITE,openai,${aiGroupName}`,
|
| 42 | `DOMAIN-SUFFIX,chatgpt.com,${aiGroupName}`,
|
| 43 | `DOMAIN-SUFFIX,auth0.com,${aiGroupName}`,
|
| 44 | `DOMAIN-KEYWORD,openai,${aiGroupName}`,
|
| 45 |
|
| 46 |
|
| 47 | `GEOSITE,anthropic,${aiGroupName}`,
|
| 48 | `DOMAIN-SUFFIX,claude.ai,${aiGroupName}`,
|
| 49 |
|
| 50 |
|
| 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}`,
|
| 55 |
|
| 56 |
|
| 57 |
|
| 58 |
|
| 59 |
|
| 60 | "GEOSITE,cn,DIRECT",
|
| 61 | "GEOIP,CN,DIRECT,no-resolve",
|
| 62 |
|
| 63 |
|
| 64 | `MATCH,${mainProxyGroup}`
|
| 65 | ];
|
| 66 |
|
| 67 |
|
| 68 | config.rules = newRules;
|
| 69 |
|
| 70 | return config;
|
| 71 | }
|