Clash Client · Downloads & Setup

Clash Clients Download & Set Up

Choose a client for your device and set it up with an existing subscription. Start with Rule mode, then enable System Proxy or TUN mode as needed.

  • Open-Source Core Ecosystem
  • Multi-Platform Clients
  • Setup Guides in Chinese

Choose Your Platform

Download by Platform

Choose a Device for Your Clash Client

The client provides the interface and system integration; the core handles connections. Check your operating system and processor architecture first, then compare features such as subscription management and service mode. Clash Plus is a good place to start; Linux users can also explore Clash Verge Rev and FlClash.

Whether an installer runs depends on more than the platform name. Check operating system support, processor architecture, desktop environment, and permissions. Keep an older client for migration reference if needed, but for a new device, consider a project that is actively maintained. The download page distinguishes available clients from archived projects, so you can choose with more than just a familiar name in mind.

If you already have a Clash for Windows configuration, back up your subscription URL, custom rules, and proxy group selections before importing them into a new client. Don’t overwrite the entire old program folder: client settings files and subscription YAML are often different formats. To compare workflows first, see the client comparison.

Browse all clients →

Quick Start Preview

From Subscription Import to Connection Test in 3 Steps

Installing a client doesn’t give you a usable proxy configuration. Get a compatible subscription from a trusted source, then follow these steps. For your first setup, keep the default port and DNS options to avoid changing several variables at once and make troubleshooting easier.

  1. Import and Select a Configuration

    Open “Subscription” or “Profiles,” choose import from URL, paste the full subscription URL, and update it. When the profile appears, select it as the active configuration. If you see a format error, check that you have a Clash-compatible YAML file rather than a link intended for another client. Never post a subscription URL containing credentials in a public forum.

  2. Choose a Routing Mode and Traffic Capture Method

    Start with Rule mode, then select an available node in a proxy group. On desktop, enable System Proxy. On mobile, allow the VPN connection when prompted. Rule mode determines where connections go; System Proxy or TUN determines which connections reach the core. They are not interchangeable, and you don’t need to turn everything on just to use Global mode.

  3. Check Connections and Matched Rules

    Visit a site that requires a proxy, then check the destination domain, matched rule, and outbound route under “Connections” or “Logs.” If your browser works but another app doesn’t, first check whether that app uses the system proxy, then consider TUN. Change one setting at a time, keep the configuration that works, and only adjust DNS or routing rules after confirming the result.

Read the full guide →

Settings Browser

Find Clash Settings by What You Need to Do

First distinguish between routing traffic through the core and choosing an outbound route, then adjust rules, ports, and configuration. These are examples of settings, not the current state of your device. Names and available options vary by client.

Rule Mode: Routes Are Evaluated in Order

Choose Rule mode when you want work sites to connect directly and other traffic to use a designated proxy group. The core usually checks rules from top to bottom; the first match determines the route, so put custom domain rules before catch-all rules. Global mode sends connections to the global proxy group—it doesn’t capture traffic from every app. Rule editing, overrides, and merging work differently across clients. Since subscriptions update regularly, keep long-term customizations in a supported override location to avoid losing them.

Domain suffix rule exampleDOMAIN-SUFFIX,example.com,DIRECT

Open-Source Ecosystem and Scope

Clients, Cores, and Subscriptions Each Have a Different Role

Clash Hub collects client downloads and setup guides in Chinese; it isn’t the development team behind any of the clients. To assess whether a project is suitable for long-term use, check its upstream repository, maintenance history, and configuration compatibility—not just whether its interface feels familiar.

From Clash to mihomo

The Clash ecosystem is built around configuration files that describe proxies, proxy groups, and routing rules, which the core uses to handle connections. The community has built desktop interfaces and mobile clients around this configuration model. Public maintenance of the original Clash has stopped. Successor projects aren’t the same program under a new name; their features, defaults, and configuration support can all differ.

Clash Meta has since been maintained under the name mihomo, now a commonly used core in the ecosystem. Similar names don’t mean every field is interchangeable, especially for newer proxy protocols, DNS options, and routing features. Older guides can explain the basics, but use the documentation for the core you’re actually running when configuring it. When troubleshooting, searching for the specific field and core details is more useful than searching only for the client name.

What Graphical Clients and Cores Do

Clients such as Clash Plus and Clash Verge Rev provide configuration management, proxy group selection, log viewing, and system integration. The core handles what happens after a connection arrives: matching rules, resolving domains, and establishing upstream connections. Client and core releases may follow different schedules, so a new toggle in the interface doesn’t mean every platform implements it in exactly the same way.

When choosing a client, start with device support, subscription compatibility, and how you need to route traffic; then consider interface preferences. New users can start by looking at Clash Plus. Linux users can compare Clash Verge Rev and FlClash. If migrating from Clash for Windows, keep the old configuration as a backup and check system proxy, ports, and override rules one by one. Don’t assume the old client’s data folder can be imported as a universal configuration.

Where Subscription Data Comes From

Downloading a client and getting proxy service are two separate things. A subscription may contain nodes, proxy groups, rules, and DNS settings; whether they work depends on the provider and your network. A successful import only means the file was recognized—it doesn’t mean every node can connect. Select the configuration, make sure the proxy group points to a working node, and then check the connection log.

Subscription URLs often contain access credentials. If leaked, they may let someone else retrieve your configuration. When asking for help, share redacted error messages, field names, and steps to reproduce the issue; never upload a full subscription URL or a configuration containing passwords. Before using a conversion service, find out how it handles your link. A simple list of nodes can’t recreate the original policy groups and full set of rules.

A Practical Order for Updates and Troubleshooting

Updating the client, core, and subscription addresses different problems. If the interface crashes, check the client logs; if a protocol isn’t supported, check the core documentation; if a node stops working, check the subscription first. Updating software, changing DNS and ports, and enabling TUN all at once can turn a simple issue into a difficult one. Keep a working configuration and change one thing at a time.

An open-source repository lets you review commit history, issue discussions, and release notes, but don’t treat a temporary setting from a discussion as a universal fix. Compare it with your operating system, client, and error location to judge whether it applies. The mihomo upstream repository’s clone command is below for readers who want to explore the source or follow its implementation. For everyday use, install a graphical client—you don’t need to learn how to build it first.

View the mihomo Upstream Source

MetaCubeX / mihomo ↗ · Source code, issues, and release notes

git clone https://github.com/MetaCubeX/mihomo.git

First Identify Which Layer the Problem Is In

If a website won’t load, first check that your regular internet connection works, then see whether the client logs a connection to that destination. If there’s no record, check the system proxy, the app’s own proxy settings, or TUN routing. If there is a record but the connection fails, check the selected proxy group and node. If the connection succeeds but takes the wrong route, review rule order and domain matching. This sequence is more effective than repeatedly switching to Global mode.

DNS is also part of the connection path. Fake-IP uses mapped addresses to help the core associate connections with domain names; it isn’t a universal fix for every problem. Adjust filtering and resolution settings based on what actually happens when using LAN services, another VPN, or a specific app. For protocol options, mobile battery behavior, and core compatibility details, see the protocol reference. Step-by-step instructions are in the quick start guide.

Recent Guides

TUN, System Proxy, and Startup Troubleshooting

Browse all articles →

Once the basic connection works, dig deeper based on the issue. If traffic capture isn’t working as expected, check System Proxy and TUN. If the app won’t open, start with the startup logs. Don’t use connection troubleshooting steps to fix configuration syntax errors, and don’t keep switching nodes before selecting a configuration.

Clash Download