Clash Rules Lite
https://cdn.jsdelivr.net/gh/zhanyeye/clash-rules-lite@release/rules.txt
工具介绍
- Clash 默认的GFW代理规则内容太多,使用过程中明显感觉到有延迟
- 该工具的目的是删除不必要的代理规则,方便用户自定义代理的内容
- 代理规则放在github仓库中方便多设备同步,只需编辑rules.txt即可
- 当用户更新规则后,使用Github Actions自动将规则缓存到免费CDN上
- 用户在 github 上更新规则后,在 clash 的 providers 上点击刷新即可拉取更新
使用方法
-
fork 本仓库:Fork zhanyeye/clash-rules-lite
-
鼠标右击订阅的配置文件选中“复制”,将复制的文件命名为
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: 'PROXY', type: select, proxies: ['1-香港', '2-香港'] }
rules:
- DOMAIN-KEYWORD,github,PROXY
- DOMAIN-KEYWORD,google,PROXY
- RULE-SET,pac,PROXY
rule-providers:
pac:
type: http
behavior: domain
url: "https://cdn.jsdelivr.net/gh/{YOUR-GITHUB-USERNAME}/clash-rules-lite@release/rules.txt"
path: ./rules/pac.yaml
interval: 86400
script:
code: |
def main(ctx, metadata):
keywords = ["google", "github"]
for key in keywords:
if key in metadata["host"]:
return "PROXY"
if ctx.rule_providers["pac"].match(metadata):
return "PROXY"
else:
return "DIRECT"
- 运行修改后的
local
配置,再切换成Rule
或Script
模式
自定义代理规则
修改仓库中rules.txt
,修改完后会自动更新并邮件提醒,然后在 Clash 上刷新 providers
高阶玩法
- 使用python脚本解析订阅链接,自动生成改配置文件,需要你在 Python 代码中设置好你的订阅链接,代码见:generate_config_quickly.py
- 注意该解析脚本是基于本人的订阅链接编写的,不一定适合所有机场,你可以自己修改代码,比较容易