本文仅做技术探讨,请遵守法律法规
规则的作用
可以对网络流量进行分流,如访问 Youtube 时,使用代理;访问微信时,使用直连
从而使流量扣得慢一些、访问速度也更快一些(很多国内软件使用代理访问时会变慢)
如何配置
找一些规则(一般机场也会自带,但是效果并不是很好)
推荐 Loyalsoldier/clash-rules: 🦄️ 🎃 👻 Clash Premium 规则集(RULE-SET)
复制规则
也可以直接复制下面的规则(我从仓库搬过来的):
rule-providers: reject: type: http behavior: domain url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/reject.txt" path: ./ruleset/reject.yaml interval: 86400 icloud: type: http behavior: domain url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/icloud.txt" path: ./ruleset/icloud.yaml interval: 86400 apple: type: http behavior: domain url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/apple.txt" path: ./ruleset/apple.yaml interval: 86400 google: type: http behavior: domain url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/google.txt" path: ./ruleset/google.yaml interval: 86400 proxy: type: http behavior: domain url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/proxy.txt" path: ./ruleset/proxy.yaml interval: 86400 direct: type: http behavior: domain url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/direct.txt" path: ./ruleset/direct.yaml interval: 86400 private: type: http behavior: domain url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/private.txt" path: ./ruleset/private.yaml interval: 86400 gfw: type: http behavior: domain url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/gfw.txt" path: ./ruleset/gfw.yaml interval: 86400 tld-not-cn: type: http behavior: domain url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/tld-not-cn.txt" path: ./ruleset/tld-not-cn.yaml interval: 86400 telegramcidr: type: http behavior: ipcidr url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/telegramcidr.txt" path: ./ruleset/telegramcidr.yaml interval: 86400 cncidr: type: http behavior: ipcidr url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/cncidr.txt" path: ./ruleset/cncidr.yaml interval: 86400 lancidr: type: http behavior: ipcidr url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/lancidr.txt" path: ./ruleset/lancidr.yaml interval: 86400 applications: type: http behavior: classical url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/applications.txt" path: ./ruleset/applications.yaml interval: 86400打开 Clash 规则配置目录中的
config.yaml,并将规则粘贴到末尾打开
订阅→全局拓展脚本替换脚本:
const prependRule = [ "RULE-SET,applications,DIRECT", "DOMAIN,clash.razord.top,DIRECT", // 访问 clash.razord.top 时,直连 "DOMAIN,yacd.haishan.me,DIRECT", "DOMAIN,storage.live.com,DIRECT", "DOMAIN-SUFFIX,bing.com,DIRECT", // 访问带有 bing.com 的域名时,直连 "DOMAIN-SUFFIX,bing.net,DIRECT", "DOMAIN-SUFFIX,microsoft.com,DIRECT", "DOMAIN-SUFFIX,msn.com,DIRECT", "RULE-SET,private,DIRECT", "RULE-SET,reject,REJECT", "RULE-SET,icloud,DIRECT", "RULE-SET,apple,DIRECT", "RULE-SET,google,🚀 节点选择", // 设置规则:访问谷歌时(谷歌的相关域名已经在上一步的配置文件中进行了配置),使用「🚀 节点选择」线路 "RULE-SET,proxy,🚀 节点选择", "RULE-SET,direct,DIRECT", "RULE-SET,lancidr,DIRECT", "RULE-SET,cncidr,DIRECT", "RULE-SET,telegramcidr,🚀 节点选择", "GEOIP,LAN,DIRECT", "GEOIP,CN,DIRECT", "MATCH,DIRECT" // 其他域名,直连 ]; function main(config) { config['rules'] = prependRule; console.info(config['rules']); return config; }需要将
🚀 节点选择替换为你实际要访问的线路注意,prependRule 数组的规则生效顺序是:靠前的覆盖靠后的,如果你想覆盖规则集中的某几条规则,应该放在数组最前面(比如配置文件
config.yaml中的proxy规则存在了微软域名,脚本中加了"RULE-SET,proxy,🚀 节点选择",此时如果不作任何修改,当我访问微软时,就会使用🚀 节点选择线路。但我只想让微软走直连,因此我又在前面添加了"DOMAIN-SUFFIX,microsoft.com,DIRECT"等自定义规则)





