# loyalsoldier/clash-rules architecture

> Architecture diagram of the GitHub repository loyalsoldier/clash-rules, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-09). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/loyalsoldier/clash-rules
- Repository: https://github.com/loyalsoldier/clash-rules

## Overview

Clash Rules is a published collection of rule sets for Clash Premium clients: users configure rule providers to consume domain, IP-range, and application rules. The README documents upstream data sources, named rule files, and raw GitHub/jsDelivr delivery options. The available tree contains only the README and workflow metadata, with no rule-generation or runtime source, so the graph describes documented product capabilities rather than implementation internals; output nodes therefore have no source path.

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_domain["Domain rules"]
  node_direct["Direct domains"]
  node_proxy["Proxy domains"]
  node_reject["Reject domains"]
  node_private["Private domains"]
  node_apple["Apple domains"]
  node_icloud["iCloud domains"]
  node_google["Google domains"]
  node_gfw["GFW domains"]
  node_tld["Non-CN TLDs"]
end

subgraph group_network["IP rules"]
  node_telegram["Telegram CIDRs"]
  node_lan["LAN CIDRs"]
  node_cn["China CIDRs"]
end

subgraph group_apps["Application rules"]
  node_applications["Applications"]
end

node_user(("Clash user"))
node_clash["Clash Premium"]
node_domain_sources["Domain data sources"]
node_apple_source["China DNS list"]
node_google_source["China DNS list"]
node_china_ip_source["China IP list"]

node_user -->|"configures providers"| node_clash
node_clash -->|"fetches rules"| node_direct
node_clash -->|"fetches rules"| node_proxy
node_clash -->|"fetches rules"| node_reject
node_clash -->|"fetches rules"| node_private
node_clash -->|"fetches rules"| node_apple
node_clash -->|"fetches rules"| node_icloud
node_clash -->|"fetches rules"| node_google
node_clash -->|"fetches rules"| node_gfw
node_clash -->|"fetches rules"| node_tld
node_clash -->|"fetches rules"| node_telegram
node_clash -->|"fetches rules"| node_lan
node_clash -->|"fetches rules"| node_cn
node_clash -->|"fetches rules"| node_applications
node_domain_sources -.->|"supplies data"| node_direct
node_domain_sources -.->|"supplies data"| node_proxy
node_domain_sources -.->|"supplies data"| node_reject
node_domain_sources -.->|"supplies data"| node_private
node_domain_sources -.->|"supplies data"| node_icloud
node_domain_sources -.->|"supplies data"| node_gfw
node_domain_sources -.->|"supplies data"| node_tld
node_apple_source -->|"supplies domains"| node_apple
node_google_source -->|"supplies domains"| node_google
node_china_ip_source -->|"supplies addresses"| node_cn

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_direct,node_proxy,node_reject,node_private,node_apple,node_icloud,node_google,node_gfw,node_tld,node_user toneBlue
class node_telegram,node_lan,node_cn toneAmber
class node_applications toneMint
class node_clash,node_domain_sources,node_apple_source,node_google_source,node_china_ip_source toneIndigo
```

## Components

### Domain rules

- **Direct domains**
- **Proxy domains**
- **Reject domains**
- **Private domains**
- **Apple domains**
- **iCloud domains**
- **Google domains**
- **GFW domains**
- **Non-CN TLDs**

### IP rules

- **Telegram CIDRs**
- **LAN CIDRs**
- **China CIDRs**

### Application rules

- **Applications**

### Other components

- **Clash user**
- **Clash Premium**
- **Domain data sources**
- **China DNS list**
- **China DNS list**
- **China IP list**

## Connections

- Clash user → Clash Premium: configures providers (evidence: `README.md`)
- Clash Premium → Direct domains: fetches rules (evidence: `README.md`)
- Clash Premium → Proxy domains: fetches rules (evidence: `README.md`)
- Clash Premium → Reject domains: fetches rules (evidence: `README.md`)
- Clash Premium → Private domains: fetches rules (evidence: `README.md`)
- Clash Premium → Apple domains: fetches rules (evidence: `README.md`)
- Clash Premium → iCloud domains: fetches rules (evidence: `README.md`)
- Clash Premium → Google domains: fetches rules (evidence: `README.md`)
- Clash Premium → GFW domains: fetches rules (evidence: `README.md`)
- Clash Premium → Non-CN TLDs: fetches rules (evidence: `README.md`)
- Clash Premium → Telegram CIDRs: fetches rules (evidence: `README.md`)
- Clash Premium → LAN CIDRs: fetches rules (evidence: `README.md`)
- Clash Premium → China CIDRs: fetches rules (evidence: `README.md`)
- Clash Premium → Applications: fetches rules (evidence: `README.md`)
- Domain data sources → Direct domains: supplies data (evidence: `README.md`)
- Domain data sources → Proxy domains: supplies data (evidence: `README.md`)
- Domain data sources → Reject domains: supplies data (evidence: `README.md`)
- Domain data sources → Private domains: supplies data (evidence: `README.md`)
- Domain data sources → iCloud domains: supplies data (evidence: `README.md`)
- Domain data sources → GFW domains: supplies data (evidence: `README.md`)
- Domain data sources → Non-CN TLDs: supplies data (evidence: `README.md`)
- China DNS list → Apple domains: supplies domains (evidence: `README.md`)
- China DNS list → Google domains: supplies domains (evidence: `README.md`)
- China IP list → China CIDRs: supplies addresses (evidence: `README.md`)
