Clash Chinese Official Site · Downloads & Setup

Clash ClientsGet Connected

Choose a client for your platform, then import a subscription, set up routing rules and configure the proxy. See the DNS, TUN and configuration override guides as needed.

  • Setup Guide
  • Mihomo Core
  • Rule Mode

Clash Configuration & Connection Checks

Check the configuration source and core capabilities first, then decide how traffic enters the core and which rule matches it. These windows illustrate syntax and settings; they do not show the current state of your device.

config.yaml · Basic Structure
mixed-port: 7890
allow-lan: false
mode: rule
log-level: info

proxies: []

proxy-groups:
  - name: Proxy
    type: select
    proxies:
      - DIRECT

rules:
  - MATCH,Proxy

This structure example uses DIRECT only and does not configure a remote proxy. To use a proxy connection, import your own valid configuration.

For a first-time setup, follow this sequence: import a configuration → select a proxy group → choose rule mode → enable a traffic entry method → check connections. Saving a configuration only means the client accepted the input; it does not prove that the remote outbound, DNS or system routes are working. To verify, open a known destination and check its domain, matched rule and outbound on the Connections page. Then test other apps that need a proxy. This is more useful than checking toggles alone because it shows whether a request never reached the core or reached it but used the wrong policy.

The YAML snippets here explain individual syntax elements. Do not append several snippets to the end of a file without checking them. Merge duplicate top-level keys into the existing configuration; list order can also affect behavior. If the client manages your subscription, check whether local changes will be replaced on the next update. For a first connection, follow the Clash Installation and Setup Guide. If you are already connected and want to refine your policies, see Advanced Proxy Groups, Rule Sets and DNS.

Clash Clients for Every Platform

Choose your operating system, then select a client and processor architecture. Desktop apps, mobile apps and standalone cores install differently, and configuration fields may not be supported everywhere.

Windows

Start with Clash Plus, or compare Clash Verge Rev, FlClash and Clash Nyanpasu. For everyday desktop use, configure the system proxy first. To cover apps that ignore it, check TUN services and permissions. Avoid enabling traffic capture in multiple clients during initial setup.

Check your processor type in system information before downloading. After installing, import a configuration, select rule mode and check the Connections page. If your browser works but a terminal tool does not, check the tool's own proxy settings or environment variables before replacing your subscription. If you already use an older client, export your configuration and overrides before migrating.

Go to Downloads

macOS

Choose an installer for Apple Silicon or Intel. Start with Clash Plus, then compare other clients based on their interface and configuration management features. When you first enable the system proxy, a background service or a network extension, read the system prompt and make sure it names the client you just installed.

macOS may keep separate proxy settings for different network services. Check the active service's settings after switching between Ethernet and Wi-Fi. If you need TUN, check that its service is installed before reviewing DNS and routes. If the network stops working after you quit the client, first check whether proxy settings were restored rather than deleting the entire configuration and starting over.

Go to Downloads

Android

Start with Clash Plus, or choose Clash Meta for Android, FlClash or Surfboard. Make sure the app matches your device architecture. The first time the app connects, Android usually asks you to authorize a VPN connection. This is separate from whether your subscription is valid, so check each independently.

Battery-saving settings can prevent a client from running continuously in the background. If the connection drops when the screen locks, check background activity restrictions and VPN status before troubleshooting the outbound. Another VPN app may also be using the system's single VPN connection. Retest the same destination over Wi-Fi and mobile data to see whether the issue occurs on only one network.

Go to Downloads

iOS

Get Clash Plus for iPhone and iPad from the App Store. The product's official website is clashplus.io. After installing, import a configuration using an option supported by the client. When prompted on the first connection, allow the VPN configuration to be added, then return to the app and check the connection status.

Mobile devices use different system networking interfaces from desktop computers, so desktop instructions for installing a service may not apply. After importing a configuration, check the proxy groups and rules, then test the target app. If you use another network extension, check for conflicts caused by running both at once. Troubleshoot subscription update failures separately from VPN authorization issues: check the URL and response for the former, and system settings for the latter.

Go to Downloads

Linux

Desktop users can choose Clash Verge Rev or FlClash and download a package that matches their distribution and processor architecture. System proxy settings in a desktop environment may not cover every terminal app. For broader traffic capture, check TUN permissions, routes and DNS management.

Servers and routers usually run the Mihomo core directly, with users managing configuration paths, startup arguments and process services themselves. A graphical client and a core package serve different purposes: the client provides a configuration interface, while the core requires manual setup and maintenance of its runtime environment. Check whether the device has a desktop environment before choosing an installation method, so you do not expect an interface from a core-only install.

Go to Downloads

Clash clients, proxy services and subscription providers are separate parts of the setup. After downloading a client, you still need a valid configuration source. If you already have a Clash proxy subscription, check that its output format is compatible with your client. Similar client names do not guarantee that configurations containing extended protocols, rule sets or specific DNS fields can be migrated directly. Actual parsing support depends on both the core and the client implementation.

The download page lists installers, platform requirements and maintenance status. Archived clients may be useful for compatibility with existing setups; for new configurations, prefer an actively maintained implementation that meets your needs. Keep installers, subscription content and local overrides separate so you can tell what needs to be retrieved again and what is your own configuration when migrating.

Browse All Clients → View the Client Selection Guide →

The Clash Ecosystem, Cores and Configuration Sources

To decide whether a client suits your environment, distinguish its graphical interface, the core it runs and the content provided by its remote subscription. A project name alone does not tell you how these fit together.

Project History and Compatibility

Clash's rule-based proxy configuration has led to a broad client ecosystem. After the original project and some early clients stopped being maintained, the community continued developing compatible implementations. Mihomo is one core that continues to evolve. Different clients may use similar interface terms while relying on different cores and configuration handling. When consulting documentation, identify the core currently in use before looking up fields. In particular, do not assume limitations in an old guide apply to every current client.

Being able to import an older configuration does not mean every extended field is supported. If you encounter an unknown field, unsupported protocol or failed rule set, compare the error with the documentation for your current core instead of judging compatibility by the client icon. Maintenance status also matters when choosing a client: archived software may be appropriate for reproducing a specific older setup, but should not be assumed to meet evolving requirements for new configurations.

How the Graphical Client and Mihomo Work Together

The core accepts connections, handles DNS, applies rules and establishes outbound connections. The graphical client manages configuration imports, proxy group selection, system proxy toggles, service installation and log display. Whether a toggle is available often depends on the client wrapper; whether a configuration field is supported depends on the core. When troubleshooting, first determine whether the issue lies in the interface, generated configuration or core runtime. This avoids repeated changes at the wrong layer.

Even when different clients use the same core, they may generate different final configurations. Clients may inject ports, external controller settings and TUN fields, and a remote subscription is only one part of the result. To verify actual behavior, check the effective configuration and logs rather than relying only on the original subscription. Advanced users running the core on its own must also manage service startup, permissions and configuration updates.

Open-Source Resources and Community Issue Reports

You can browse Mihomo's source code, issues and release history in its public repository. Source code and documentation help clarify what fields mean, whether an issue has been discussed and what a feature requires. When searching or reporting an issue, include the operating system, core details, a minimal configuration and steps to reproduce it. This is more useful than simply saying the connection does not work. Before posting publicly, remove subscription URLs, authentication parameters and unnecessary personal browsing records.

The repository clone command is for users who want to read the source or study its implementation. You do not need to compile the core to install a graphical client. The command below downloads source code only; it does not install a proxy service or change system network settings. For open-source resources, refer to the repository's own license, documentation and release notes. Do not mistake descriptions of third-party interfaces for specifications of the core's APIs.

Update the Client, Core and Subscription Separately

Updating the client mainly affects the interface, system integration and bundled core. Updating the core can affect protocol support, rule behavior and DNS handling. Updating a subscription changes remote proxy resources and configuration content. These are separate operations. Before upgrading, save a working configuration and local overrides. Afterward, use the same destination to check DNS resolution, rule matching and outbound selection before returning to your usual setup.

If you have many custom settings, record the purpose of each change—for example, excluding a LAN domain from Fake-IP or moving a direct rule ahead of a fallback rule. If something regresses, a change log makes it easier to roll back than resetting everything at once. A client reporting that an update is complete does not necessarily mean the running core has reloaded the configuration. Check the effective state in the client when needed.

Clash Configuration and Troubleshooting Notes

Follow the steps for the specific issue. Keep your current working configuration, then make changes one at a time as you follow the guide. Avoid changing system permissions, DNS capture and routes simultaneously.

Pay attention to which stage the issue occurs in: subscription updates happen during configuration retrieval, YAML errors occur during parsing, and TUN or system proxy settings control traffic entry. Identify the stage first, then consult the relevant guide; this is usually more effective than repeatedly switching clients. If terms such as DNS, proxy groups or Fake-IP are unclear, check the Glossary before returning to the relevant settings.

View All Articles →