Clash Wiki · Basic Reference
Common Clash Terms and Configuration Concepts
From the mihomo core, nodes, and protocols to rule-based routing, subscriptions, TUN, and Fake-IP, this guide explains each concept by use case. When a client setting or configuration field is unclear, start here, then follow a tutorial to complete the task.
Category 01
Core and Clients
Distinguishing the core that processes network traffic from the client that provides the interface helps identify whether a problem lies in the configuration, UI, or underlying process.
- Clash
- Clash is an ecosystem of proxy tools built around rule-based routing and policy groups. In practice, the core reads the configuration and handles network connections, while a graphical client manages subscriptions, node selection, and controls. Clients may use different interfaces, but their core concepts are broadly similar. rule-based proxy
- mihomo
- mihomo is an actively maintained Clash Meta core that supports rule-based routing, TUN, enhanced DNS, and multiple proxy protocols. It can be called by a desktop client or run directly on a Linux server, router, or transparent gateway. If the client interface looks normal but the proxy does not work, core startup messages in the logs are an important troubleshooting entry point. Clash Meta core
- Core
- The core reads configuration, establishes proxy connections, matches rules, handles DNS, and forwards traffic. The graphical interface and core usually operate at different layers: the interface issues commands, while the core executes them. A port conflict, invalid configuration syntax, or insufficient permissions can leave the interface open while the core fails to run. core
- Graphical Client
- A graphical client provides a visual management interface for the core. Common features include importing subscriptions, switching configurations, selecting policy groups, viewing connection records, and controlling the system proxy. It is not the proxy service itself and cannot create usable nodes by itself. When choosing a client, check operating-system support, core type, and required features. GUI client
- Clash Plus
- Clash Plus is one of the Clash graphical clients available across several common platforms. After installation, its interface can manage subscriptions, policy groups, the system proxy, and TUN mode, making it suitable for users who want a similar workflow across devices. Visit the client downloads page to find the appropriate installation entry for each platform. cross-platform client
Category 02
Protocols and Transport
The protocol determines how the client communicates with a remote service, while the transport layer affects connection reliability, responsiveness, and application compatibility.
- Proxy Protocol
- A proxy protocol defines the communication rules used to establish a connection between a client and a remote server. Different protocols use different authentication fields, encryption methods, and transport parameters, so the client and server settings must match. The same protocol name does not mean every optional setting is interchangeable; after importing a configuration, rely on parsing results and connection logs. proxy protocol
- Proxy Node
- A node is a selectable proxy server connection entry in a configuration, usually containing a server address, port, protocol, and authentication parameters. Its name is only an identification label and does not directly determine connection quality. A subscription can contain multiple nodes, with a policy group handling manual selection, automatic testing, or failover. proxy node
- Latency
- Latency is the time between sending a probe from the local device and receiving a response, usually measured in milliseconds. Lower latency often means faster interactive response, but does not by itself indicate download bandwidth, congestion, or long-term stability. Client speed-test results also depend on the test address, current network, and node load. latency
- TCP
- TCP is a network transport protocol designed for reliable, ordered delivery. Web browsing, file transfers, and most connections requiring complete data typically use TCP, with lost packets retransmitted as needed. Connection timeouts, handshake failures, and resets in proxy configurations are often related to the TCP path or remote service status. Transmission Control Protocol
- UDP
- UDP transmits datagrams without first establishing a reliable connection, keeping overhead low. Real-time audio and video, games, some DNS queries, and newer network protocols may use UDP. If the node or client lacks the required support, webpages may work while game voice chat or certain apps fail to connect properly. User Datagram Protocol
Category 03
Rules and Policies
Rules determine what kind of traffic a connection represents; policies decide whether it ultimately uses a proxy, a direct connection, or a specific node.
- Rule-Based Routing
- Rule-based routing directs traffic according to conditions such as domain, IP address, port, process, or other criteria. Rules are usually checked from top to bottom, and the first match determines the handling policy, making order as important as rule content. Before adding a custom Clash rule, make sure a broader rule higher in the list will not match it first. rule routing
- Rule Mode
- Rule mode makes the client process connections according to the configured rule list. Common outcomes include sending traffic to a policy group, connecting directly, or rejecting the connection, making it suitable for fine-grained routing of sites and apps. Traffic not covered by earlier rules usually falls through to the final catch-all rule. Rule
- Global Mode
- Global mode sends all traffic entering the client through a specified proxy policy instead of applying ordinary rules one by one. It is useful for temporarily testing whether a node works or determining whether rule matching is the cause of a problem. Switch back to rule mode after testing so every connection does not use the same exit. Global
- Direct Connection
- A direct connection sends traffic to the destination through the current network without passing through a remote proxy server. Configuration files and policy groups usually use
DIRECTto represent this handling method. Success still depends on the local network, DNS resolution, and the destination service.
DIRECT
- Policy Group
- A policy group combines multiple nodes or other policies into a logical exit that rules can reference. Common types include manual selection, automatic testing, failover, and load balancing, each with different selection logic. Node changes are usually made within the policy group rather than by editing every rule directly. proxy-groups
- GeoIP
- GeoIP is a data set that matches rules according to IP address ownership information and can send traffic from a particular region to the corresponding policy. Its database needs regular updates, and ownership can change as addresses are reassigned. It is useful for routing decisions but does not represent a device’s exact geographic location. IP geolocation database
Category 04
Configuration and Subscriptions
Configuration files describe how the client operates, while subscriptions and Providers update some or all of that content from remote sources.
- Subscription
- A subscription is a remote configuration endpoint published and periodically updated by a service provider. After reading it, the client may receive a node list or a complete configuration containing DNS, policy groups, and rules. A successful import does not guarantee a working connection; after updating, check the configuration status, policy-group selection, and core logs. subscription
- YAML
- YAML is the structured text format commonly used for Clash configuration files, using indentation to express field hierarchy. Spaces after colons, list hyphens, and indentation at the same level all affect parsing; Tab characters can also cause formatting errors. After editing manually, use the client’s configuration checker before reloading the core. YAML Ain't Markup Language
- Configuration File
- A configuration file stores settings such as ports, operating mode, DNS, nodes, policy groups, and rules. When starting or switching configurations, the client has the core read and validate these fields; structural errors can prevent the core from starting. For the full structure, see the complete configuration reference. config.yaml
- Provider
- Provider is a configuration mechanism that loads node collections, rule sets, and similar content from separate files or remote URLs.
proxy-providersis commonly used to maintain node sources, whilerule-providersloads rule sets. Splitting these sources allows separate update intervals without replacing the entire main configuration.
proxy-providers / rule-providers
- Override
- An override appends, replaces, or adjusts selected fields alongside the original subscription configuration. It is commonly used to preserve local DNS, ports, custom rules, or policy-group settings while continuing to receive subscription updates. Before editing, check whether the client merges, prepends, or directly replaces values to avoid duplicate fields or changed rule order. override / merge
Category 05
Networking Basics
The system proxy, virtual network interface, DNS, and local listening ports together determine whether traffic enters the client and how it is identified and forwarded.
- TUN Mode
- TUN mode captures system traffic at the IP layer through a virtual network interface, usually covering more traffic than the system proxy. It can handle apps that ignore system proxy settings and is often used to capture UDP traffic, but typically requires extra permissions and correct routing. If enabling it breaks connectivity, check permissions, DNS, route conflicts, and other network tools. virtual network interface
- System Proxy
- The system proxy is the proxy address and port exposed by the operating system for apps to read. Browsers and most desktop apps that follow system network settings use it, but some games, command-line programs, and software with its own networking stack may ignore it. For broader coverage, evaluate TUN mode based on the operating system. system proxy
- DNS
- DNS converts domain names into reachable IP addresses and is a basic step before visiting a website. Clash can take over, forward, or enhance DNS queries so results stay aligned with domain rules. An unreachable resolver, bad cache, or conflicting settings can make a domain inaccessible even when the node itself works. Domain Name System
- DNS Leak
- A DNS leak occurs when an app’s domain lookup bypasses the intended resolution path and is sent directly to another DNS server. This can make DNS results inconsistent with proxy rules, causing connection failures or unexpected routing. Troubleshooting should check system DNS, browser Secure DNS, TUN settings, and client logs rather than changing only one server address. DNS leak
- Fake-IP
- Fake-IP is a DNS enhancement mode that first returns a mapped address from a reserved pool for a domain. When the core receives a connection to that address, it restores the original domain from the mapping for more accurate domain-rule matching. For LAN devices, special apps, or incompatible domains, a filter list can preserve real resolution. fake-ip mode
- Proxy Port
- A proxy port is the local listening endpoint used by apps to send requests to the client. HTTP, SOCKS, and
mixed-portaccept traffic differently; a mixed port can usually accept both HTTP and SOCKS requests on the same port. If another program already uses the port, the core may fail to start or bind successfully.
port / mixed-port