这是一个用于 Clash(如 Clash.Meta )等代理工具的规则集仓库,主要用于生成 sniffer
、rule-provider
和 rule-set
所需的数据文件。该仓库由 MetaCubeX 维护,是目前 Clash Meta 分支中使用的核心规则数据之一。
项目结构简介
进入该仓库的 meta
分支后,你可以看到如下主要目录和文件:
.
├── LICENSE
├── README.md
├── geosite
├── geoip
├── sniff
└── ruleset
1. geosite
- 包含基于域名的分类规则(例如:google、facebook、cn 等)。
- 格式为
.list
文件,每行一个域名或通配符域名。
- 被 Clash 用作
geosite
数据源,配合 geoip
判断流量是否属于中国大陆或国外。
2. geoip
- 包含 IP 地址段的地理位置信息。
- 主要是
CN.list
,记录了属于中国大陆的 CIDR IP 段。
- 用于识别目标 IP 是否是中国大陆地址。
3. sniff
- 包含用于 Sniffer(嗅探)的规则。
- 常见协议如 HTTP、TLS、QUIC 的特征匹配规则。
- Clash 使用这些规则来判断某些连接是否可以进行 sniff 并重写目标域名。
4. ruleset
- 规则集定义文件,通常用于生成 Clash 的
rule-set
。
- 支持多种格式输出(如 binary、yaml、srs),供 Clash 加载使用。
- 可以通过构建脚本将文本规则编译为二进制格式(
.srs
),提高性能。
如何使用?
这个仓库一般不会直接使用,而是通过 Clash Meta 编译时自动下载依赖或者手动构建生成 .srs
文件。以下是常见用法:
方法一:在 Clash Meta 中自动加载
如果你使用的是 Clash.Meta ,你可以在配置文件中引用远程规则集,例如:
rule-providers:
reject:
type: http
behavior: domain
url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/ruleset/reject.txt"
path: ./rulesets/reject.srs
interval: 86400
Clash 会自动下载并缓存 .srs
文件。
方法二:本地构建 .srs
文件
你需要安装 ruleset-compiler
工具来构建 .srs
文件:
安装编译器
go install github.com/Dreamacro/clash/cmd/ruleset-compiler@latest
构建示例
ruleset-compiler -t binary -i ./ruleset/reject.txt -o ./reject.srs
然后你就可以在 Clash 配置中使用这个 .srs
文件。
常见规则集说明
规则集名称 | 用途 |
reject.txt | 匹配广告、追踪、恶意网站,常用于拦截 |
apple.txt | 苹果相关服务 |
microsoft.txt | 微软服务 |
direct.txt | 直连规则(国内 + 常见 CDN) |
proxy.txt | 需要代理的境外域名 |
特点与优势
- 轻量高效 :支持
.srs
二进制格式,提升匹配效率。
- 模块化设计 :易于组合多个规则集,灵活适配不同需求。
- 持续更新 :由社区维护,定期更新域名和 IP 数据。
- 多行为支持 :domain、ipcidr、classical 多种匹配方式。
参考链接