使用全局扩展脚本对任意 clash 节点组中所有节点添加前置代理,实现链式代理效果
全局扩展脚本 function main(config, profileName) { const DIALER_PROXY = "中转节点组"; // 这里需要填写完整的前置代理组名称 const GROUP_SUFFIX = "落地节点组"; // 这里填写需要通过前置代理连接的所有节点所在组后缀 // 用于存储需要添加 dialer 的代理名称(去重) const proxiesToDial = new Set(); // 第一步:遍历 proxy-groups,收集所有在 "IPLC节点" 组中的代理名 config["proxy-groups"]?.forEach(group => { if (group?.name?.endsWith(GROUP_SUFFIX)) { console.log(group.proxies); (group.proxies || []).forEach(proxyName => { if (typeof proxyName === 'string') { proxiesToDial.add(proxyName); console.log(proxyName); } // 如果是嵌套数组或其他结构,可扩展处理 }); } }); // 第二步:遍历全局 proxies,为匹配的代理添加 dialer-proxy config.proxies?.forEach(proxy => { if (typeof proxy === 'object' ...