Windows
Best for desktop users who need a graphical interface, system proxy, and rule logs.
Go to downloadsA central guide to Clash client downloads, Mihomo core configuration, and subscription-based routing, with system-specific steps for installation, import, and proxy connection checks.
The client is only the control surface. Connection results are shaped by the core, configuration, proxy mode, and rule order. The topics below cover the areas that most often cause confusion in everyday use.
Mihomo is a widely used core in the Clash Meta ecosystem. It reads YAML configuration, establishes proxy connections, resolves DNS, matches rules, and applies the final policy. On Windows, macOS, and Linux, graphical clients are usually management layers: the proxy groups, rule providers, logs, and connection status shown in the interface are ultimately handled by the core. When choosing a client, confirm that it supports Mihomo rather than relying on the app name alone.
For everyday troubleshooting, separate the problem into two layers: the interface imports configuration, selects modes, and saves settings; the core handles subscription nodes, proxy groups, rule order, and network requests. If a configuration imports successfully but access still fails, check the core log and current mode first, then determine whether the issue is the subscription, DNS, or system permissions. This is more effective than repeatedly switching clients.
Client versions change, and core capabilities may differ. After downloading, check the core name and running status in the settings page.
A subscription usually returns a configuration file containing nodes, proxy groups, rules, and DNS settings. Import the subscription URL supplied by your provider, confirm that the client reports a successful update, and then check that proxy groups and nodes appear in the configuration. Pasting a URL into an input field does not by itself mean the configuration is active; also verify the update time, node list, and logs.
When a subscription update fails, first confirm that the URL opens in a browser, then check the system clock, network proxy, and client permissions. If the response is a web page rather than a YAML or JSON configuration, you may have copied a management-page URL. After a successful update, reload the configuration and make sure the selected proxy group is not empty. Client support for subscription formats varies, so use the Clash or Mihomo format supplied by the provider when necessary.
A subscription URL is account configuration data. Paste it only into trusted clients and check periodically whether your provider has changed the URL.
Rule-based routing matches rules from top to bottom. Common types include DOMAIN, DOMAIN-SUFFIX, DOMAIN-KEYWORD, IP-CIDR, and GEOIP, which evaluate domains, keywords, IP ranges, and geographic databases. Once a rule matches, it sends the request to DIRECT, a proxy group, or the REJECT policy. If no earlier rule matches, the final MATCH rule handles the remaining requests.
When troubleshooting routing, do not rely only on whether a page opens. Open the connection or log panel and inspect the target domain, matched rule, and final policy. The client may need a configuration reload after rule providers update. For LAN devices, services in mainland China, and domains that must always connect directly, add more specific rules before the fallback rule. The more specific a rule is, the earlier it should appear; MATCH usually belongs at the end.
rules:
- DOMAIN-SUFFIX,example.com,PROXY
- GEOIP,CN,DIRECT
- MATCH,PROXY
Rule mode assigns a policy to each request according to the configuration file and is suited to long-term use. Global mode sends requests to the currently selected proxy group and is useful for verifying a node and its egress. Direct mode bypasses the proxy and helps test the local network or determine whether a problem comes from the proxy path. These are request-routing methods, not speed levels.
For an initial setup, use global mode to verify the client, node, and system proxy, then switch to rule mode to inspect routing results. If a site behaves unexpectedly in rule mode, temporarily use global mode for comparison. Restore rule mode afterward and check the proxy-group selection, DNS settings, and connection logs. Android and iOS may show an additional system authorization step; follow the current client’s instructions when a VPN or proxy permission request appears.
A system proxy usually affects browsers and apps that follow the operating system’s proxy settings. It is simple to configure, requires fewer permissions, and is a good first step on desktop systems. Some command-line tools, games, virtual machines, and apps that ignore system proxy settings will not use this path automatically. TUN captures a broader range of traffic through a virtual network interface, while Mihomo handles DNS and rule-based routing. It requires elevated system permissions and may conflict with other VPNs or network filters.
Before enabling TUN, disable other VPNs, confirm that the client has administrator or system-extension permission, and record the existing network settings. If the network goes offline, disable TUN first, restore the system proxy, and then inspect the core log. On desktop systems, start with the system proxy for basic validation, and consider TUN only after the rules and nodes work correctly. Mobile VPN services also require system authorization, and battery-saving policies may interrupt background connections.
Permission models and client types vary by operating system. Open the relevant platform first, then choose a graphical client or core file according to the download page instructions.
Best for desktop users who need a graphical interface, system proxy, and rule logs.
Go to downloadsChoose a client for Apple Silicon or Intel devices, with desktop routing support.
Go to downloadsPay special attention to VpnService authorization, battery restrictions, and background connection status.
Go to downloadsGet the client from the App Store, then import your configuration and grant proxy authorization.
Go to downloadsChoose a graphical client or the Mihomo core for desktops, servers, and router devices.
Go to downloadsClash clients are not simply different installers for one piece of software. The ecosystem combines graphical interfaces, configuration formats, and proxy cores. The clients listed on the download page mainly provide system integration, subscription management, log viewing, and policy selection; Mihomo parses configuration, matches rules, establishes connections, and handles DNS. Understanding this relationship makes it easier to keep the same configuration approach when switching clients.
Open-source project releases usually focus on bug fixes, system compatibility, and core updates. A graphical interface update does not necessarily change the subscription format, and a core update does not mean every client will integrate it at the same time. Before installing a new version, read the client’s release notes, keep a recoverable copy of the current configuration, and recheck the system proxy, TUN permissions, and rule-provider status after updating.
This site organizes its resources in the order of platform entry point, configuration steps, and underlying concepts. The download page answers “What should I install?”, Getting Started explains “How do I connect it?”, and the user guides cover rules, DNS, proxy groups, and troubleshooting in greater depth. If Clash is new to you, complete a basic installation on one platform first, then consult the relevant topic as questions arise instead of editing an entire YAML file from the start.
When you need to inspect source code, release notes, or configuration examples, use Git locally to retrieve the public repository. The command below only demonstrates the standard operation format.
git clone https://github.com/MetaCubeX/mihomo.git
The repository URL in the command points to the Mihomo project. For a specific client, follow the repository linked from its release page.
Latency tests, node selection, Android permissions, Fake-IP, and iOS configuration are explained separately for continued reading after the basic installation.
Breaks down the differences between TCP, URL Test, and the actual access path, explaining how jitter, packet loss, and the destination server’s response affect the experience.
Read the full article →Build a repeatable node-selection method based on latency stability, traffic multipliers, egress regions, and protocol compatibility.
Read the full article →Explains Android system-proxy dependencies, VpnService permissions, battery restrictions, and background-connection settings to reduce unexpected disconnects.
Read the full article →