Glossary

Clash Glossary: Cores, Rules and Subscription Terms Explained

Every switch in a client interface and every field in a config file maps to a specific technical term. This glossary organises common terms into six categories, each with a definition, where it appears and how it differs from related concepts, so you can check configs and troubleshoot faster.

32 terms 6 categories Anchor per term

Execution Layer

Cores and Versions: What Parses the Config

Features you see in a client interface are ultimately implemented by the core. This group of terms decides whether a config parses correctly and whether a protocol is supported.

Core

Cores and Versions

The program that reads configuration, opens connections and executes rules; subscriptions, nodes and proxy groups are all parsed by it. The GUI client is only a shell around it, providing the interface and switches; changing clients does not change routing results, only changing the core changes what features are available.

mihomo

Cores and Versions

The open-source core renamed from Clash Meta, and the default core in most new clients today. It keeps the Clash configuration format while extending protocol support and rule capabilities; fields such as mixed-port, tun and proxy-providers in the config file are all parsed and executed by it.

Clash Meta

Cores and Versions

The former name of mihomo, still used in many community tutorials and config files. When a core is labelled meta, it usually refers to an earlier build of the same core, and its config fields are largely compatible with mihomo; if you hit an unknown field, check the core version first.

GPL-3.0 Open-Source License

Cores and Versions

The free-software license used by the mihomo core, which allows use, modification and redistribution, provided derivative versions keep the same terms. This licensing arrangement is a direct reason the client ecosystem has been maintained in parallel for so long.

Connection Layer

Protocols and Transport: How Nodes Connect

The protocol decides the handshake, where encryption sits and the resource cost. Switching one server to a different protocol can change speed and battery use completely.

Shadowsocks

Protocols and Transport

An early, widely adopted proxy protocol designed to be lightweight and low-overhead: the config usually holds only a cipher, a password and a port. It has no built-in multiplexing or extra transport layer, so its feature set is clearly bounded, and it uses few resources on low-end devices and routers.

VMess

Protocols and Transport

The main protocol in the early V2Ray project, with a built-in user ID and time check that requires client and server clocks to stay roughly in sync. It has many config fields, and a wrong parameter often means the connection simply fails; it has largely been replaced by the leaner VLESS.

VLESS

Protocols and Transport

A simplified successor to VMess that drops built-in encryption and the time check, leaving security to the underlying transport, so configs are shorter and handshakes faster. It usually appears together with TLS, WebSocket or gRPC, and is one of today's mainstream protocols.

Trojan

Protocols and Transport

A proxy protocol wrapped in TLS, where the server looks like an ordinary HTTPS server and the config is mainly a password and a domain. Its strength is reusing standard TLS ports and simple deployment; the trade-off is slightly higher handshake overhead than a bare protocol.

Hysteria2

Protocols and Transport

A QUIC-based proxy protocol with congestion control implemented in user space, so it keeps throughput on lossy links. It is UDP-friendly with stable latency, at the cost of higher CPU use, so watch heat and battery on low-power devices.

TUIC

Protocols and Transport

Another QUIC-based protocol, focused on low latency and connection migration, so connections rarely drop when you switch networks. It has fewer config options than Hysteria2 but narrower client support, so check whether your client bundles it before choosing.

Routing Layer

Configuration and Rules: How Traffic Is Routed

Rules, proxy groups and the config file format together decide where each connection goes, and they are the parts you touch most when troubleshooting.

Rule-Based Routing

Configuration and Rules

A set of rules decides which proxy group each connection uses: when a domain, IP or process condition matches, the rule applies; if nothing matches, traffic falls through to the final MATCH rule. This is the heart of the config, deciding what goes direct and what goes through a proxy.

Rule Set

Configuration and Rules

A file or remote URL that keeps a large rule list separate from the main config, referenced through rule-providers. The upside is that updating rules does not touch the main config and several configs can share one rule set; the cost is an extra load and cache management.

Proxy Group

Configuration and Rules

A set of selectable outbounds in the config, with common types select, url-test and fallback: manual choice, automatic choice by latency, and ordered failover. Rules point to a proxy group when they match, and what you switch in the UI is really the node currently selected by that group.

YAML

Configuration and Rules

The format Clash config files are written in, using indentation for hierarchy and hyphens for list items. It is indentation-sensitive: mixing spaces and tabs or misaligning levels breaks parsing, which is the most common cause of config errors.

Match Order

Configuration and Rules

Rules are compared one by one from top to bottom and stop at the first match, so order is itself part of the policy. Putting broad rules first hides precise rules below them; when routing looks wrong, check the order first, then the rules themselves.

Resource Layer

Subscriptions and Nodes: Where Nodes Come From

Subscriptions bring remote nodes to the local machine, and the profile stores the result. The two fail in different ways, so troubleshooting points in different directions.

Subscription Link

Subscriptions and Nodes

A URL from your provider that the client fetches on a schedule to build nodes and proxy groups. The link usually carries a token parameter that works like account credentials, so do not share it publicly; if the link expires or returns nothing, the node list is cleared with it.

Node

Subscriptions and Nodes

A connectable server and its parameters, including address, port, protocol and cipher. A subscription usually contains several nodes, and the client places them in proxy groups for manual switching or automatic latency testing.

Profile

Subscriptions and Nodes

A complete configuration stored in the client, holding both subscription-generated nodes and local rules, DNS and proxy group settings. Most clients keep several profiles side by side, so when troubleshooting you can create a minimal profile to rule out interference.

Subscription Conversion

Subscriptions and Nodes

An intermediary service that translates one subscription format into another, most often turning a generic link into Clash-readable YAML. The conversion rewrites node parameters and rules, so when something breaks, compare the raw content before and after conversion first.

Subscription Provider

Subscriptions and Nodes

A service that supplies subscription links and server resources; from the user side you see a link and a set of nodes. When comparing options, look at protocol types, node regions and update frequency — a large node count does not mean good usable quality.

Network Layer

Network and Modes: How Traffic Is Captured

System proxy and TUN decide whether traffic reaches the core; DNS and Fake-IP decide at which step domain resolution happens.

System Proxy

Network and Modes

The client points the system HTTP and HTTPS proxy at a local port, and the core takes over that traffic. It only covers programs that honour system proxy settings; terminal commands, some desktop apps and UDP traffic do not go through the proxy automatically, which is the first place to check when nothing connects.

TUN Mode

Network and Modes

The client creates a virtual network adapter and takes over all traffic at the system level, covering programs that ignore the system proxy and UDP traffic as well. Turning it on usually needs administrator rights, and DNS and routing must be handled properly, or you can end up with loops or a dropped connection.

DNS Leak

Network and Modes

Domain lookups that should be handled by the core are sent straight to a local DNS by the system or browser, leaving routing decisions without a basis. Common sources are the browser's own encrypted DNS, multi-adapter setups and port 53 that is not being intercepted.

Fake-IP

Network and Modes

The core first returns a virtual address from a reserved range for a domain, then matches rules by domain and opens the real connection. It removes the wait for a real lookup so the first packet responds faster, but programs that need the real IP must be excluded separately.

Latency

Network and Modes

The time a request takes to make a round trip; the figure a client shows in a latency test usually comes from probing a test address. It reflects current line quality rather than download speed, and since clients use different test addresses, the numbers are not directly comparable.

Rule Mode and Global Mode

Network and Modes

The three takeover modes in a client: rule mode routes by config, global mode sends all traffic through the proxy, and direct mode bypasses the proxy entirely. Rule mode is the everyday choice; switching modes is a quick way to tell whether a problem lies in the rules or the line.

GeoIP

Network and Modes

A database mapping IP addresses to countries or regions; the GEOIP conditions in rules and the region labels in the UI both come from it. The database needs regular updates, or newly allocated address blocks get classified as the wrong region.

Interface Layer

Clients and Interfaces: Which Layer You Work In

The client handles subscription management, toggles and log display. When choosing one, look first at platform coverage and the bundled core version, then at whether the interface fits your habits.

Client (GUI)

Clients and Interfaces

The graphical shell around the core, handling subscription management, node switching, mode toggles and launch at startup. It translates user actions into configuration for the core to execute, so interface differences do not affect routing results — the core version is what defines the feature set.

Clash Verge Rev

Clients and Interfaces

A Tauri-based desktop client for Windows, macOS and Linux, where you can edit configuration and inspect connections and logs right in the interface. It bundles the mihomo core and suits desktop users who manage several profiles at once.

FlClash

Clients and Interfaces

A cross-platform client whose desktop and Android builds share the same interface logic, with config import and proxy group switching on the home screen. It supports multiple profiles and rule editing, which suits users who want the same habits on phone and computer.

Clash for Windows

Clients and Interfaces

The most widely used Windows client in the early days; the original project is no longer maintained and does not follow new cores or protocols. Existing configs can still be exported and migrated to other clients, but it is not recommended as a first choice on a new install.

Clash Plus

Clients and Interfaces

An all-platform client covering Windows, macOS, Android and iOS, with the iOS build available on the App Store and the official site at clashplus.io. It bundles the mihomo core, and subscription import and rule switching live in one interface.

Quick Comparison

Easily Confused Terms Compared

The pairs below are the ones most often mixed up when configuring and troubleshooting. First sort out what each one describes, then decide whether to change the config, the mode or the client.

Commonly Confused Terms
Terms Key Difference
Core / Client The core handles connections and routing, the client handles the interface and subscription management; changing clients does not change routing results, only changing the core changes the feature set.
Rule Mode / TUN Mode The first decides which line traffic takes, the second decides whether all system traffic is captured; they can be enabled at the same time and do not replace each other.
System Proxy / TUN Mode System proxy only covers programs that honour system settings, while TUN mode captures all traffic at the adapter level, including UDP.
Subscription Link / Profile The subscription link is a remote address, the profile is the locally saved result; an expired link does not immediately delete existing nodes.
DNS Leak / Resolution Failure A leak means lookups went through a channel they should not have; a resolution failure means no result came back at all — the two call for different fixes.
Fake-IP / Real IP Fake-IP is a virtual address returned by the core and is only valid inside the client; programs that need the real address must be excluded separately.

First Work Out Which Layer a Term Belongs To

When you meet an unfamiliar field in a config, first decide whether it belongs to the core, the client or the subscription layer, then choose which reference to check. A field written at the wrong layer often produces an error message that points somewhere else.

Keep Reading

Next Steps After the Glossary

The glossary explains what the terms mean; the actual steps and configuration details are covered on the pages below.

Download Clash