Choose the right Clash GUI client or mihomo core for your device, then import a subscription, select a proxy group, and enable the proxy. This site brings together multi-platform installers, Chinese configuration steps, and YAML field references, so you can move from first launch to traffic routing and troubleshooting in one place.
Free forever
Open source
Multi-platform clients
Chinese documentation
Rules and YAML reference
SETUP.EXE / Ready
C
Clash Setup Wizard
_□×
Step 2 of 3
Choose a platform
Check your device operating system, then open the matching client list.
Select a target platform:
The setup wizard will open the download tab for the selected platform.
WindowsClash Plus / Clash Verge Rev
macOSClash Plus / ClashX Meta
AndroidClash Meta / FlClash
iOSClash Plus
LinuxClash Verge Rev / mihomo
Component check completeReady
CONTROL PANEL / Feature Browser
Clash Core Features and Scope
A Clash client does more than switch connections. It organizes subscription settings, proxy nodes, proxy groups, rules, and system network settings into a workflow you can inspect. Understand what each module does before changing the configuration; this is usually more effective than repeatedly reinstalling the client.
SUBSCRIPTION / PROVIDERS
Subscription Import: Load a Remote Configuration into the Client
A subscription URL usually returns a configuration maintained by the service provider. It may include proxy nodes, proxy groups, rules, and DNS settings. To import it, open the client's configuration or subscription page, paste the complete URL, download or update it, and confirm that the new configuration is selected. Seeing a configuration name does not mean it is handling your connection; you still need to check the proxy group and system proxy status.
Compared with entering nodes one by one, subscriptions are better suited to keeping server lists and policy structures up to date. If no nodes appear after import, first confirm that the URL is reachable and that the configuration's update time has changed. Check the client logs for YAML or network errors instead of repeatedly adding the same URL.
Confirm that the imported configuration is currently enabled.
Keep the last working configuration before updating a subscription.
Review proxy group selections after the subscription content changes.
RULES / POLICY GROUPS
Traffic Routing: Choose an Exit by Domain, Address, or Process
Rule mode matches requests from top to bottom, then sends traffic to the relevant proxy group, direct action, or reject action. Common rules include domain suffixes, domain keywords, IP ranges, and rule-set references. Order directly affects the result: place more specific conditions first and fallback rules last, or broad conditions may intercept traffic meant for later rules.
A proxy group is not a node; it is a container for selecting nodes, direct actions, or other proxy groups. When changing a node, first confirm which proxy group the current rule points to, then see what that group ultimately selects. Unlike basic proxy tools with only a global switch, Clash focuses on routing relationships that can be composed and traced.
Rules are matched in order, and matching stops after the first hit.
Rule targets must match proxy groups that already exist.
When troubleshooting incorrect routing, start with the matched rule in the connection log.
SYSTEM PROXY / TUN
System Proxy: Connect Apps That Honor Proxy Settings to Clash
When system proxy is enabled, the client points the operating system's HTTP or SOCKS proxy address to a locally listening port. Browsers and desktop apps that honor system proxy settings usually connect through it, but some games, command-line programs, and software with an independent network stack may ignore the setting. In those cases, specify a proxy for the application separately, or evaluate TUN mode after understanding its permission and routing implications.
The system proxy and the Clash core are separate states. Starting the core only means that a local port is listening; enabling the system proxy changes the operating system's proxy entry point. If Clash is running but web pages still connect directly, check the listening port, system proxy switch, the browser's independent proxy settings, and the rule mode separately rather than treating them as one switch.
When the default port changes, check the system proxy address as well.
Restore the operating system's proxy state before closing the client.
For LAN sharing, separately verify the listening address and firewall settings.
CONFIG.YAML / RELOAD
Configuration Management: Save, Switch, and Reload YAML
A complete configuration usually includes listening ports, run mode, proxy nodes, proxy groups, rules, and DNS settings. GUI clients turn common options into forms or switches, but advanced rules, overrides, and provider structures may still require inspecting the YAML directly. Copy the original file before editing; afterward, check indentation, field hierarchy, and referenced names before reloading it.
The configuration file must match the core's capabilities. An older Clash configuration may be readable by mihomo, but newer fields may not be recognized by an earlier core. When startup fails, begin with the specific field and line number in the log rather than changing several modules at once. This site's YAML guide breaks the structure down by field and works well as a step-by-step checklist.
YAML uses spaces for indentation, not tabs.
Node or provider names referenced by proxy groups must match exactly.
After editing, reload the configuration and watch the first error in the log.
Selected: Subscription ImportUse arrow keys to switch · Home/End to jump
PLATFORM SELECT / Choose a Device
Clash Installers for Five Platforms
Open the tab for your current device first, then check the processor architecture, package format, and maintenance status. Desktop users will usually prefer a GUI client; servers, routers, and automated environments are better suited to running the mihomo core directly.
Windows
For Windows 10 and Windows 11 desktops. Confirm the x64 architecture before downloading, then import a subscription, choose a proxy group, and enable the system proxy after first launch. If you need full GUI management, compare Clash Plus, Clash Verge Rev, FlClash, and Clash Nyanpasu.
Apple Silicon and Intel Macs require different installers. If macOS prompts for network extension or proxy permissions, approve them in System Settings. Common GUI clients include Clash Plus, Clash Verge Rev, and FlClash; when migrating an older configuration, also check core field compatibility.
Android packages are usually separated by ARM64, ARM, or universal architecture; most recent phones use ARM64. After importing a subscription, allow the system to create a VPN connection. Choose among Clash Plus, Clash Meta for Android, FlClash, and Surfboard based on interface preferences and configuration compatibility.
iPhone and iPad users can install Clash Plus through the App Store. After installation, add a configuration from the subscription entry point, allow the system to create a VPN configuration, and select a proxy group in the app. The download center also lists the Clash Plus store link and its official site, clashplus.io, for app verification.
On the Linux desktop, use Clash Verge Rev or FlClash; servers, soft routers, and container environments typically run mihomo directly. When choosing a core binary, verify the architecture, such as AMD64, ARM64, ARMv7, or MIPS, and prepare your own service management, configuration path, and startup parameters. For a first deployment, run it in the foreground to confirm that the configuration loads before connecting it to systemd or another process manager.
After installation, avoid changing many options at once. Confirm each step in order—import the configuration, choose a proxy group, then enable the proxy—and check the interface after every step. This makes it easier to identify where a problem begins.
01
Import a Subscription or Local Configuration
Open the client's Profiles, configuration, or subscription page, paste the complete subscription URL, and import it. For a local YAML file, use the file import entry point to select the configuration. Then check its name, update time, and load status to ensure the new configuration is enabled rather than a blank example bundled with the client.
When import fails, start with the error message: a network failure, an address returning web-page content, invalid YAML indentation, and an unsupported field are different problems. Keep the original URL and old configuration so you can restore and cross-check them.
02
Choose a Mode, Proxy Group, and Node
Beginners will usually start with Rule mode. Open the Proxies page, check the main proxy groups one by one, and select an available node or an automatic selection group. Proxy group names are defined by the configuration provider and may differ completely between subscriptions, so judge them by their options and purpose rather than copying labels from someone else's interface.
A latency test reflects only one probe result and does not directly represent the real-world speed of every website. After choosing a node, open the target site to verify it and inspect the connection log to see whether traffic matched the expected rule.
03
Enable the System Proxy and Verify the Connection
Once the core is running, enable System Proxy. Visit a target site that you want to verify, check whether a new entry appears in the client's connection list, and confirm that its rule, proxy group, and node match expectations. If the browser produces no entry, check whether it uses an independent proxy or secure DNS setting.
After basic verification, adjust DNS, TUN, LAN sharing, and custom rules one at a time. If something goes wrong, you will then know which new setting changed network behavior.
The Clash Open-Source Ecosystem and the mihomo Core
From the Clash Configuration Model to Community Clients
Clash established a configuration structure that is widely used: proxy nodes describe connection methods, proxy groups organize selection relationships, rules route different traffic to the appropriate policy, and DNS and listening ports determine how the local device connects. Although the original project is no longer under active development, its configuration model remains in use, with the community continuing to maintain tools around compatible cores, GUI clients, and cross-platform installation.
Today's desktop and mobile clients are not simply different skins for the same program. They may use different UI technologies, update channels, and configuration workflows, while their underlying cores may include mihomo or another compatible implementation. When choosing a client, check platform support, core origin, configuration compatibility, and maintenance status—not just whether its name contains Clash.
How mihomo and GUI Clients Work Together
mihomo handles core tasks such as configuration parsing, rule matching, proxy protocols, DNS processing, and network listening. GUI clients sit on top of it and provide subscription management, proxy selection, log viewing, system proxy controls, and update entry points. Desktop users can usually install a GUI client directly; server and router users may deploy only the core, managing it through configuration files, the command line, and an external control interface.
Core capabilities and GUI features must be evaluated separately. Whether a YAML field works depends first on core support; whether a feature is easy to enable depends on whether the client exposes it in the interface. When behavior differs, identify the client's core and configuration format before checking field documentation. This is more likely to produce an accurate answer than broadly searching “Why doesn't Clash work?”
What to Check When Updating
A client update usually involves the UI program, the integrated core, and configuration migration. Before updating, record the working configuration, listening ports, system proxy status, and important overrides. Afterward, load the original configuration, review the startup log, and test proxy groups and commonly used websites. If crossing several major versions, do not replace the client, core, and entire configuration at the same time; otherwise, it will be difficult to identify the source of a problem.
The download center lists maintained clients and archived projects by platform, with version details shown on each client card. Version data is loaded from a unified manifest; when an upstream project temporarily provides no usable version field, the page keeps the client name and installer link without displaying an empty version label.
HELP TOPICS / Common Questions
Four Checks to Make After Installation
Most first-use problems can be investigated in layers: configuration, proxy groups, system proxy, and application coverage. Confirm the current state before changing settings, so a subscription problem is not mistaken for a client installation problem.
Why don't any nodes appear after importing a subscription?
First confirm that the subscription update succeeded and that the selected configuration is the one you just imported. If the update time has not changed, check whether the URL is reachable; if loading failed, inspect the log for YAML field or indentation errors. Some configurations load nodes through proxy providers with a delay, so you may need to wait for the provider update to finish. See the full subscription import steps.
Clash is running—why can't my browser connect?
A running core, an enabled system proxy, and an available proxy group are three separate requirements. Check that the system proxy is enabled and that the local listening port matches the system setting, then see whether the browser uses an independent proxy. Next, inspect the connection list: no entry usually means traffic never reached the client; an entry that fails points to the rule match, proxy group, or node status.
How should I choose between Rule, Global, and Direct mode?
For everyday use, Rule mode is usually best: the configuration's rules decide which traffic uses a proxy and which connects directly. Global mode sends most traffic to one proxy group and is useful for briefly testing a node; Direct mode temporarily bypasses the proxy. You can switch modes briefly for comparison while troubleshooting, but restore the mode suited to the current configuration afterward.
What is the difference between System Proxy and TUN mode?
System Proxy mainly covers applications that honor the operating system's HTTP or SOCKS proxy settings; it is simple to enable and has a clear scope. TUN mode uses a virtual network interface to capture a wider range of traffic and may involve administrator permissions, routing, and DNS settings. For a first setup, verify System Proxy first, then evaluate TUN for applications that ignore proxy settings.
Clash Configuration and Network Troubleshooting Notes
These technical notes follow real-world usage: they explain concepts beginners encounter most often, then break down the relationship between system proxy, TUN, proxy routes, and local settings. They do not replace client documentation; they explain why a setting works this way and where to start when something goes wrong.
Answers common beginner questions about subscription imports, node selection, Rule mode, system proxy, and failed connections, with a step-by-step troubleshooting sequence.
Compares the two traffic-capture methods by application coverage, permissions, DNS handling, and use cases, explaining when broader traffic capture is necessary.
Trace slowdowns layer by layer through node quality, network routes, DNS, proxy mode, and device settings instead of drawing conclusions from a single latency test.