Clash Verge Rev 作为支持 Mihomo (Clash Meta) 内核的现代化客户端,其最大的特色在于支持通过 JavaScript 扩展脚本(Extension Script) 动态修饰和合并订阅配置。
这使得用户无需每次更新订阅后手动修改 YAML 文本,即可自动注入个人专属的分流规则与节点配置。
一、扩展脚本的作用原理
当 Clash Verge Rev 更新机场订阅时,会在将 YAML 渲染交给内核运行之前,自动执行用户编写的 JavaScript 脚本。
脚本接收原始 config 对象,对其内部的 rules、proxies、proxy-groups 等属性进行编程修改,最后返回全新的配置。
二、实用脚本 1:自动向头部注入自定义规则
确保个人规则(如自定义代理网站或拦截广告)的优先级高于机场默认规则:
function main(config) {
// 1. 定义个人高优先级规则
const customRules = [
"DOMAIN-SUFFIX,shiyezhiwai.com,DIRECT",
"DOMAIN-KEYWORD,openai,🤖 AI 节点",
"GEOSITE,category-ads-all,REJECT"
];
// 2. 将个人规则置于最前端
config.rules = [...customRules, ...(config.rules || [])];
return config;
}
三、实用脚本 2:动态添加 AI 专项策略组
为 ChatGPT 与 Claude 自动建立专属选择分组:
function main(config) {
// 获取现有的所有节点名称
const proxyNames = (config.proxies || []).map(p => p.name);
// 过滤出包含 "美国" 或 "US" 的节点
const usProxies = proxyNames.filter(name => /美国|US|United States/i.test(name));
// 新增 AI 专属策略组
const aiGroup = {
name: "🤖 AI 节点",
type: "select",
proxies: usProxies.length > 0 ? usProxies : ["DIRECT"]
};
config["proxy-groups"] = [aiGroup, ...(config["proxy-groups"] || [])];
return config;
}
四、如何在 Clash Verge Rev 中启用扩展脚本
- 打开 Clash Verge Rev -> 进入
订阅 (Profiles)页面。 - 右键点击你的机场订阅卡片 -> 选择
编辑扩展脚本 (Edit Merge / Script)。 - 粘贴上述 JavaScript 代码,点击右上角
保存 (Save)。 - 重新刷新订阅,点击客户端日志查看规则注入结果。
* 点击复制包含绝对主地址的分享链接