Thanks to visit codestin.com
Credit goes to github.com

Skip to content

mcxiaochenn/clash-rules-cn

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Clash Rules CN GitHub Downloads (all assets, all releases) GitHub Downloads (all assets, latest release) jsdelivr stats

Clash 分流规则聚合系统,自动从多个上游源获取规则,合并去重后发布为 YAML rule-provider 文件。使用 GitHub Actions 每日自动构建,保证规则最新。

说明

本项目聚合以下上游数据源,生成适用于 mihomo 内核 的规则集(RULE-SET),同时适用于所有使用 mihomo 内核的图形用户界面(GUI)客户端,包括但不限于 clash-verge-revClash Meta for AndroidFlClashclash-partyclashmiOpenClash

上游数据源

本项目的规则数据全部来自以下上游仓库,没有这些项目作者的辛勤付出,就没有本项目。在此向所有上游作者致以诚挚的感谢 🙏

仓库 作者 用途
17mon/china_ip_list 17mon 中国大陆 IP 段
felixonmars/dnsmasq-china-list felixonmars 国内直连域名(dnsmasq 格式)
v2fly/domain-list-community v2fly 各分类域名列表(支持 include: 递归解析)
Loyalsoldier/clash-rules Loyalsoldier Clash 分流规则(域名 + IP CIDR)
Loyalsoldier/geoip Loyalsoldier GeoIP MMDB/ASN 数据
blackmatrix7/ios_rule_script blackmatrix7 iOS 分流规则脚本
gfwlist/gfwlist gfwlist GFW 域名列表
privacy-protection-tools/anti-AD privacy-protection-tools 广告域名拦截列表
dler-io/Rules dler-io AI 服务域名
SukkaW/Surge SukkaW AI 服务域名
ConnersHua/RuleGo ConnersHua AI 服务域名
blackmatrix7/ios_rule_script (AI) blackmatrix7 OpenAI/Gemini/Claude/Copilot 域名

规则文件地址及使用方式

在线地址(URL)

如果无法访问域名 raw.githubusercontent.com,可以使用第二个地址(cdn.jsdelivr.net),但是内容更新会有 12 小时的延迟。以下地址填写在 Clash 配置文件里的 rule-providers 里的 url 配置项中。

域名类规则(behavior: domain)

IP 类规则(behavior: ipcidr)

GeoIP 文件

使用方式

要想使用本项目的规则集,只需要在 Clash 配置文件中添加如下 rule-providersrules

Rule Providers 配置方式

rule-providers:
  direct-domain:
    type: http
    behavior: domain
    url: "https://cdn.jsdelivr.net/gh/mcxiaochenn/clash-rules-cn@rules/direct-domain.yaml"
    path: ./ruleset/direct-domain.yaml
    interval: 86400

  proxy-domain:
    type: http
    behavior: domain
    url: "https://cdn.jsdelivr.net/gh/mcxiaochenn/clash-rules-cn@rules/proxy-domain.yaml"
    path: ./ruleset/proxy-domain.yaml
    interval: 86400

  reject-domain:
    type: http
    behavior: domain
    url: "https://cdn.jsdelivr.net/gh/mcxiaochenn/clash-rules-cn@rules/reject-domain.yaml"
    path: ./ruleset/reject-domain.yaml
    interval: 86400

  private-domain:
    type: http
    behavior: domain
    url: "https://cdn.jsdelivr.net/gh/mcxiaochenn/clash-rules-cn@rules/private-domain.yaml"
    path: ./ruleset/private-domain.yaml
    interval: 86400

  apple-direct:
    type: http
    behavior: domain
    url: "https://cdn.jsdelivr.net/gh/mcxiaochenn/clash-rules-cn@rules/apple-direct.yaml"
    path: ./ruleset/apple-direct.yaml
    interval: 86400

  icloud-domain:
    type: http
    behavior: domain
    url: "https://cdn.jsdelivr.net/gh/mcxiaochenn/clash-rules-cn@rules/icloud-domain.yaml"
    path: ./ruleset/icloud-domain.yaml
    interval: 86400

  gfwlist-domain:
    type: http
    behavior: domain
    url: "https://cdn.jsdelivr.net/gh/mcxiaochenn/clash-rules-cn@rules/gfwlist-domain.yaml"
    path: ./ruleset/gfwlist-domain.yaml
    interval: 86400

  non-china-tld:
    type: http
    behavior: domain
    url: "https://cdn.jsdelivr.net/gh/mcxiaochenn/clash-rules-cn@rules/non-china-tld.yaml"
    path: ./ruleset/non-china-tld.yaml
    interval: 86400

  common-software:
    type: http
    behavior: domain
    url: "https://cdn.jsdelivr.net/gh/mcxiaochenn/clash-rules-cn@rules/common-software.yaml"
    path: ./ruleset/common-software.yaml
    interval: 86400

  ai-domain:
    type: http
    behavior: domain
    url: "https://cdn.jsdelivr.net/gh/mcxiaochenn/clash-rules-cn@rules/ai-domain.yaml"
    path: ./ruleset/ai-domain.yaml
    interval: 86400

  telegram-ip:
    type: http
    behavior: ipcidr
    url: "https://cdn.jsdelivr.net/gh/mcxiaochenn/clash-rules-cn@rules/telegram-ip.yaml"
    path: ./ruleset/telegram-ip.yaml
    interval: 86400

  lan-reserved-ip:
    type: http
    behavior: ipcidr
    url: "https://cdn.jsdelivr.net/gh/mcxiaochenn/clash-rules-cn@rules/lan-reserved-ip.yaml"
    path: ./ruleset/lan-reserved-ip.yaml
    interval: 86400

  china-ip:
    type: http
    behavior: ipcidr
    url: "https://cdn.jsdelivr.net/gh/mcxiaochenn/clash-rules-cn@rules/china-ip.yaml"
    path: ./ruleset/china-ip.yaml
    interval: 86400

白名单模式 Rules 配置方式(推荐)

  • 白名单模式,意为「没有命中规则的网络流量,统统使用代理」,适用于服务器线路网络质量稳定、快速,不缺服务器流量的用户。
  • 以下配置中,除了 DIRECTREJECT 是默认存在于 Clash 中的 policy(路由策略/流量处理策略),其余均为自定义 policy,对应配置文件中 proxiesproxy-groups 中的 name。如你直接使用下面的 rules 规则,则需要在 proxiesproxy-groups 中手动配置一个 namePROXY 的 policy。
  • 如你希望 Apple、iCloud 和 Google 列表中的域名使用代理,则把 policy 由 DIRECT 改为 PROXY,以此类推,举一反三。
  • 如你不希望进行 DNS 解析,可在 GEOIP 规则的最后加上 ,no-resolve,如 GEOIP,CN,DIRECT,no-resolve
rules:
  - RULE-SET,common-software,DIRECT
  - DOMAIN,clash.razord.top,DIRECT
  - DOMAIN,yacd.haishan.me,DIRECT
  - RULE-SET,private-domain,DIRECT
  - RULE-SET,reject-domain,REJECT
  - RULE-SET,icloud-domain,DIRECT
  - RULE-SET,apple-direct,DIRECT
  - RULE-SET,proxy-domain,PROXY
  - RULE-SET,ai-domain,PROXY
  - RULE-SET,direct-domain,DIRECT
  - RULE-SET,lan-reserved-ip,DIRECT
  - RULE-SET,china-ip,DIRECT
  - RULE-SET,telegram-ip,PROXY
  - GEOIP,LAN,DIRECT
  - GEOIP,CN,DIRECT
  - MATCH,PROXY

黑名单模式 Rules 配置方式

  • 黑名单模式,意为「只有命中规则的网络流量,才使用代理」,适用于服务器线路网络质量不稳定或不够快,或服务器流量紧缺的用户。通常也是软路由用户、家庭网关用户的常用模式。
  • 以下配置中,除了 DIRECTREJECT 是默认存在于 Clash 中的 policy(路由策略/流量处理策略),其余均为自定义 policy,对应配置文件中 proxiesproxy-groups 中的 name。如你直接使用下面的 rules 规则,则需要在 proxiesproxy-groups 中手动配置一个 namePROXY 的 policy。
rules:
  - RULE-SET,common-software,DIRECT
  - DOMAIN,clash.razord.top,DIRECT
  - DOMAIN,yacd.haishan.me,DIRECT
  - RULE-SET,private-domain,DIRECT
  - RULE-SET,reject-domain,REJECT
  - RULE-SET,non-china-tld,PROXY
  - RULE-SET,gfwlist-domain,PROXY
  - RULE-SET,ai-domain,PROXY
  - RULE-SET,telegram-ip,PROXY
  - MATCH,DIRECT

本地构建

# 克隆仓库
git clone https://github.com/mcxiaochenn/clash-rules-cn.git
cd clash-rules-cn

# 构建
go build -o builder ./cmd/builder

# 运行
./builder

构建产物输出到 rules/ 目录(域名和 IP 规则文件)和 geoip/ 目录(GeoIP MMDB/ASN 文件)。

项目结构

clash-rules-cn/
├── cmd/builder/main.go        # 入口
├── internal/
│   ├── config/                # 配置加载
│   ├── fetcher/               # HTTP 并发拉取(3 次重试)
│   ├── parser/                # 8 种解析器
│   ├── merger/                # 合并去重排序
│   ├── writer/                # YAML 流式输出
│   └── types/                 # 共享类型
├── sources.yaml               # 上游源 + 输出规则配置
├── rules/                     # 生成的规则文件(.gitignore)
└── geoip/                     # GeoIP 文件(.gitignore)

许可证

AGPL-3.0

About

Clash 分流规则聚合系统,自动从多个上游源获取规则,合并去重后发布为 YAML rule-provider 文件。适用于 mihomo 内核,每日自动构建。

Topics

Resources

License

Stars

Watchers

Forks

Contributors

Languages