# liandu2024/clash architecture

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

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

## Overview

This repository is a collection of OpenClash configuration profiles and routing lists, rather than an application with an inspected runtime. The apparent workflow is for a user to choose a profile for a router and use it with OpenClash; the README names OpenClash but does not document how profiles and lists are connected. Components below are grouped by their filenames and directories, and uncertain internal links are omitted.

Main entry points: [`Clash-Full.ini`](https://github.com/liandu2024/clash/blob/main/Clash-Full.ini) (Full profile), [`Clash-mini.ini`](https://github.com/liandu2024/clash/blob/main/Clash-mini.ini) (Mini profile), [`Clash-LIAN.ini`](https://github.com/liandu2024/clash/blob/main/Clash-LIAN.ini) (LIAN profile), [`Clash-Dev.txt`](https://github.com/liandu2024/clash/blob/main/Clash-Dev.txt) (Dev profile)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_profiles["Configuration profiles"]
  node_full["Full profile<br/>[Clash-Full.ini]"]
  node_mini["Mini profile<br/>[Clash-mini.ini]"]
  node_lian["LIAN profile<br/>[Clash-LIAN.ini]"]
  node_dev["Dev profile<br/>[Clash-Dev.txt]"]
  node_cash["Cash profile<br/>[Cash-All.ini]"]
  node_proxy["Proxy variants"]
end

subgraph group_router["Router variants"]
  node_router_main["Main router config"]
  node_router_second["Second router config"]
  node_router_ini["INI router config"]
end

subgraph group_rules["Routing lists"]
  node_ai_lists["AI service lists<br/>[AI.list]"]
  node_media_lists["Media lists<br/>[YouTube.list]"]
  node_network_lists["Network lists<br/>[Direct.list]"]
  node_security_lists["Block lists<br/>[Block.list]"]
  node_regional_lists["Regional lists<br/>[china.list]"]
end

node_user(("Router user"))
node_service["OpenClash"]

node_user -->|"selects profile"| node_full
node_user -->|"selects profile"| node_mini
node_user -->|"selects profile"| node_lian
node_user -->|"selects profile"| node_dev
node_user -->|"selects profile"| node_cash
node_user -->|"selects variant"| node_proxy
node_user -->|"selects config"| node_router_main
node_user -->|"selects config"| node_router_second
node_user -->|"selects config"| node_router_ini
node_full -->|"configures"| node_service
node_mini -->|"configures"| node_service
node_lian -->|"configures"| node_service
node_dev -->|"configures"| node_service
node_cash -->|"configures"| node_service
node_proxy -->|"provides variants"| node_service
node_router_main -->|"configures"| node_service
node_router_second -->|"configures"| node_service
node_router_ini -->|"configures"| node_service

click node_full "https://github.com/liandu2024/clash/blob/main/Clash-Full.ini"
click node_mini "https://github.com/liandu2024/clash/blob/main/Clash-mini.ini"
click node_lian "https://github.com/liandu2024/clash/blob/main/Clash-LIAN.ini"
click node_dev "https://github.com/liandu2024/clash/blob/main/Clash-Dev.txt"
click node_cash "https://github.com/liandu2024/clash/blob/main/Cash-All.ini"
click node_proxy "https://github.com/liandu2024/clash/tree/main/proxy"
click node_router_main "https://github.com/liandu2024/clash/blob/main/main_router/openclash"
click node_router_second "https://github.com/liandu2024/clash/blob/main/second_router/openclash"
click node_router_ini "https://github.com/liandu2024/clash/blob/main/ini/openclash"
click node_ai_lists "https://github.com/liandu2024/clash/blob/main/list/AI.list"
click node_media_lists "https://github.com/liandu2024/clash/blob/main/list/YouTube.list"
click node_network_lists "https://github.com/liandu2024/clash/blob/main/list/Direct.list"
click node_security_lists "https://github.com/liandu2024/clash/blob/main/list/Block.list"
click node_regional_lists "https://github.com/liandu2024/clash/blob/main/list/wv/china.list"

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_full,node_mini,node_lian,node_dev,node_cash,node_proxy,node_user toneBlue
class node_router_main,node_router_second,node_router_ini toneAmber
class node_ai_lists,node_media_lists,node_network_lists,node_security_lists,node_regional_lists toneMint
class node_service toneIndigo
```

## Components

### Configuration profiles

- [Full profile](https://github.com/liandu2024/clash/blob/main/Clash-Full.ini): `Clash-Full.ini`
- [Mini profile](https://github.com/liandu2024/clash/blob/main/Clash-mini.ini): `Clash-mini.ini`
- [LIAN profile](https://github.com/liandu2024/clash/blob/main/Clash-LIAN.ini): `Clash-LIAN.ini`
- [Dev profile](https://github.com/liandu2024/clash/blob/main/Clash-Dev.txt): `Clash-Dev.txt`
- [Cash profile](https://github.com/liandu2024/clash/blob/main/Cash-All.ini): `Cash-All.ini`
- [Proxy variants](https://github.com/liandu2024/clash/tree/main/proxy): `proxy`

### Router variants

- [Main router config](https://github.com/liandu2024/clash/blob/main/main_router/openclash): `main_router/openclash`
- [Second router config](https://github.com/liandu2024/clash/blob/main/second_router/openclash): `second_router/openclash`
- [INI router config](https://github.com/liandu2024/clash/blob/main/ini/openclash): `ini/openclash`

### Routing lists

- [AI service lists](https://github.com/liandu2024/clash/blob/main/list/AI.list): `list/AI.list`
- [Media lists](https://github.com/liandu2024/clash/blob/main/list/YouTube.list): `list/YouTube.list`
- [Network lists](https://github.com/liandu2024/clash/blob/main/list/Direct.list): `list/Direct.list`
- [Block lists](https://github.com/liandu2024/clash/blob/main/list/Block.list): `list/Block.list`
- [Regional lists](https://github.com/liandu2024/clash/blob/main/list/wv/china.list): `list/wv/china.list`

### Other components

- **Router user**
- **OpenClash**

## Connections

- Router user → Full profile: selects profile
- Router user → Mini profile: selects profile
- Router user → LIAN profile: selects profile
- Router user → Dev profile: selects profile
- Router user → Cash profile: selects profile
- Router user → Proxy variants: selects variant
- Router user → Main router config: selects config
- Router user → Second router config: selects config
- Router user → INI router config: selects config
- Full profile → OpenClash: configures
- Mini profile → OpenClash: configures
- LIAN profile → OpenClash: configures
- Dev profile → OpenClash: configures
- Cash profile → OpenClash: configures
- Proxy variants → OpenClash: provides variants
- Main router config → OpenClash: configures
- Second router config → OpenClash: configures
- INI router config → OpenClash: configures
