🍒 自定义代理规则,精简匹配规则。
- Clash 默认的GFW代理规则内容太多,使用过程中明显感觉到有延迟
- 本工具的想法是代理规则一边用一边添加,毕竟我们访问的网站应该很有限
- 该工具的目的是删除不必要的代理规则,方便用户自定义代理的内容
- 代理规则放在github仓库中方便多设备同步,只需编辑rules.txt即可
- 当用户更新规则后,使用Github Actions自动将规则缓存到免费CDN上
- 用户在 github 上更新规则后,在 clash 的 providers 上点击刷新即可拉取更新
- fork 本仓库:https://github.com/LIghtJUNction/CONFIG_RULE_DIY
- 触发 GitHub Action 中的
Generate Rules for Clash
工作流 - 编辑
xx-rules.txt
以自定义规则 - 在对应的 Clash 上刷新配置文件
Tips:
a. 可通过访问进行验证
https://cdn.jsdelivr.net/gh/{你的GITHUB用户名}/clash-rules-lite@release/
c. 该仓中以 rules.txt 结尾的文件,都会缓存到 jsdelivr CDN中,可以自定义!
- 鼠标右击订阅的配置文件选中“复制”,将复制的文件命名为
local
(因为更新订阅链接时会覆盖你的修改)
- 在你复制的
local
配置中,修改配置如下,注意proxies
,proxy-groups
和{YOUR-GITHUB-USERNAME}
修改为你的配置(加粗的部分)
mixed-port: 7890
allow-lan: true
bind-address: '*'
mode: rule
log-level: silent
external-controller: '127.0.0.1:9090'
proxies:
- { name: '1-香港', type: *, server: **, port: *, cipher: **, password: **, udp: true }
- { name: '2-香港', type: *, server: **, port: *, cipher: **, password: **, udp: true }
- ...
proxy-groups:
- { name: '🔰 节点选择', type: select, proxies: ['1-香港', '2-香港'] }
- { name: '🎯 全球直连', type: select, proxies: ['DIRECT'] }
- { name: '🛑 全球拦截', type: select, proxies: ['REJECT'] }
- { name: 'Ⓜ️ 微软服务', type: select, proxies: ['🎯 全球直连', ] }
- { name: '🐟 漏网之鱼', type: select, proxies: ['🔰 节点选择'] }
- ...
rules:
- RULE-SET,Backlist,🛑 全球拦截
- RULE-SET,Proxy,🔰 节点选择
- RULE-SET,Microsoft,Ⓜ️ 微软服务
- GEOIP,CN,🎯 全球直连
- MATCH,🐟 漏网之鱼
rule-providers:
Proxy:
type: http
behavior: classical
url: "https://cdn.jsdelivr.net/gh/zhanyeye/clash-rules-lite@release/proxy-rules.txt"
path: ./providers/rule-proxy.yaml
interval: 86400
Microsoft:
type: http
behavior: classical
url: "https://cdn.jsdelivr.net/gh/zhanyeye/clash-rules-lite@release/microsoft-rules.txt"
path: ./providers/rule-microsoft.yaml
interval: 86400
Backlist:
type: http
behavior: classical
url: "https://cdn.jsdelivr.net/gh/zhanyeye/clash-rules-lite@release/blacklist-rules.txt"
path: ./providers/rule-backlist.yaml
interval: 86400
- 运行修改后的
local
配置,再切换成Rule
模式
OpenWrt 是一个软路由系统,如果你没有用到,请忽略”
需要更新配置文件的rules
和 rule-providers
, 注意:
- 用户名需要替换成用户自己的!!!
- rules 中所属的group需要替换成自己的
proxy-groups
!!!
rules:
- RULE-SET,Backlist,🛑 全球拦截
- RULE-SET,Proxy,🔰 节点选择
- RULE-SET,Microsoft,Ⓜ️ 微软服务
- GEOIP,CN,🎯 全球直连
- MATCH,🐟 漏网之鱼
rule-providers:
Proxy:
type: http
behavior: classical
url: "https://cdn.jsdelivr.net/gh/zhanyeye/clash-rules-lite@release/proxy-rules.txt"
path: ./providers/rule-proxy.yaml
interval: 86400
Microsoft:
type: http
behavior: classical
url: "https://cdn.jsdelivr.net/gh/zhanyeye/clash-rules-lite@release/microsoft-rules.txt"
path: ./providers/rule-microsoft.yaml
interval: 86400
Backlist:
type: http
behavior: classical
url: "https://cdn.jsdelivr.net/gh/zhanyeye/clash-rules-lite@release/blacklist-rules.txt"
path: ./providers/rule-backlist.yaml
interval: 86400
- 修改代码仓中以 rule.txt 结尾的文件即可, 也可以自己新增以rule.txt结尾的配置,都会生效
- 修改后需要在clash中刷新,并重启clash才能生效
clash desktop 中刷新操作
OpenClash 中刷新操作
配置文件管理 -> 规则集文件列表 -> 删除所有文件 -> 返回概览 -> 应用配置
- jsdelivr CDN 缓存没有更新怎么办?
这是因为 jsdelivr CDN 缓存的原因,一般来说是 24小时刷新缓存,但是这样太慢了!
不过 jsdelivr CDN 也提供手动刷新缓存的方法:
# 假设你的文件 URL 是这样:
https://cdn.jsdelivr.net/xxx/xxx...
# 那么把域名中的 cdn 改为 purge 即可:
https://purge.jsdelivr.net/xxx/xxx...
然后访问这个文件新 URL 就会提示你刷新成功!