Clash ecosystem · Clients and setup guides

Clash Client Downloads ·
All Platforms

Choose a client by platform and follow the steps for the mihomo core, routing rules, and subscription imports.

  • Open-source core
  • Documentation
  • YAML configuration

CONFIGURATION / Config flow

Clash Configuration Basics

Follow four steps, from choosing where traffic goes to resolving domain names. Select a tab to explore each one.

Rule modes and traffic policies

Rule mode checks connections against rules in the order they appear in the configuration, then routes them to a direct connection, a proxy group, or a reject policy. Start with the rules included in your subscription, select an available node, and check the connection log to see which rule matched. Unlike Global mode, which sends all requests through one outbound route, Rule mode can handle local network traffic, everyday websites, and specific domains differently. Put specific conditions first and fallback rules last. Changing a policy group does not reorder rules or mean that all apps are being routed through the proxy.

mode: rule
rules:
  - DOMAIN-SUFFIX,example.com,DIRECT
  - MATCH,PROXY
See how to choose a mode

This config snippet illustrates how fields relate; it is not a complete working setup. The example’s PROXY policy group must exist in your configuration. Before enabling it, check the client’s config validation results.

CLIENTS / Downloads by platform

Clash Client Downloads

Choose your operating system, then check your processor architecture. The download page lists installers, app store links, and core tools separately.

For a first setup, start with Clash Plus or choose a client such as Clash Verge Rev or FlClash based on its interface and configuration workflow. Check your processor type under “System Information” in your system settings, then choose the matching installer. After launching the client, import a config, confirm the local port, and enable the system proxy.

If your browser works but some apps still connect directly, check whether those apps follow the system proxy. For broader traffic routing, read the TUN and permissions guides. Do not run multiple clients that compete for the same listening port.

Go to downloads

Check your chip under “About This Mac” to distinguish Apple Silicon from Intel. The download page lists the matching files; do not rely on the file extension alone to determine compatibility. A graphical client makes it easy to switch policies, update subscriptions, and review connection logs.

After installation, grant any permissions requested by macOS, then check proxy settings for the active network service. After switching between Wi-Fi, Ethernet, or another service, verify that the proxy is still working. Turn off traffic routing before quitting the client to restore your normal network path.

Go to downloads

Choose Clash Plus, Clash Meta for Android, FlClash, or Surfboard. Check the device architecture and the config formats supported by the client, then install the right build. When connecting for the first time, approve the VPN interface when prompted, then select a policy group in the client.

If background connections stop working, check battery optimization, background activity permissions, and whether another VPN app is using the interface. App-based routing and domain rules operate at different levels. After changing either one, reopen the app and check its connection log.

Go to downloads

iOS

The download page links to Clash Plus on the App Store and its official site, clashplus.io. Before installing, check the system requirements on the store page. Import your subscription, follow the prompts to add a VPN configuration, then return to the client and connect.

A VPN icon in the status bar only confirms that the interface is enabled; it does not verify your node or rules. Test one destination expected to connect directly and another expected to use the proxy, then check the selected policies. If something fails, keep the error message and follow the mobile troubleshooting steps.

Go to downloads

On desktop Linux, choose Clash Verge Rev or FlClash and select the package format for your distribution. Running only the mihomo core is suited to servers, routers, and command-line environments; you will need to set up the config directory, startup options, and service management yourself.

Starting a process and routing desktop app traffic through a proxy are separate tasks. First confirm the listening address and port, then configure the system or app proxy. Command-line tools may also need their own environment variables. For long-running use, test in the foreground to catch config errors before managing the process with systemd.

Go to downloads

FIRST CONNECTION / Getting connected

Clash Setup Guide: 3 Steps to Get Started

Follow these steps after installation. Change one type of setting at a time to make issues easier to track down.

  1. Import a subscription and enable the config

    Open the client’s “Subscription” or “Configuration” page, add a remote config, and paste in a compatible URL. After it downloads, select the config and check that its nodes and policy groups appear. To import a file, choose the YAML file provided by your service; do not save a web page as a config file.

    Subscription URLs often contain account credentials. When troubleshooting, hide personal identifiers in the URL and never post the full address in public comments or screenshots. If an import fails, read the error line and field name first to determine whether the request failed or the config could not be parsed.

  2. Select Rule mode and an outbound policy

    Switch the operating mode to Rule and select a node in the policy group used for proxy traffic. A policy group may reference other groups, so check which node is ultimately selected. Keep the subscription’s default rules and DNS settings for now; avoid adding custom overrides until you have a baseline you can test repeatedly.

    On desktop, try the system proxy first. On mobile, enable the VPN interface when prompted. TUN is another way to route traffic, not a speed boost for nodes, and it cannot fix an unavailable remote service. Confirm the basic connection before deciding whether your apps need it.

  3. Check connection logs and verify routing

    Open one destination expected to connect directly and another expected to use the proxy. In the connection view, check the domain, matched rule, and final policy. A successful node latency test only means that a specific test request received a response; it does not guarantee the target app can use the same route. Compare app behavior with the connection log.

    If there are no logs, check whether traffic is being routed through the client. If a connection is logged but fails, check the node, DNS, and remote response. Note the steps you took and any error messages, then use the troubleshooting guide to investigate by symptom. Save a copy of your config before restoring defaults so you do not lose a working baseline.

SOURCE / Open-source resources

The Clash ecosystem and mihomo core

Use source code, configuration docs, and release notes to understand what features do. Do not infer implementation details from interface labels.

Project history and how clients relate

The Clash ecosystem includes cores, graphical clients, configuration tools, and rule sets. The original Clash project and later ecosystem projects are not simply the same product. mihomo continues the development of Clash Meta as a proxy core that supports Clash-style configuration. Some clients bundle this core; others use a different implementation. Check each project’s documentation for details.

Interface toggles call system features or generate core configuration. If options with the same name behave differently, first identify the client, core, and platform in use, then check the relevant documentation. Before migrating an old config to a new client, do not simply copy files and replace your working setup. Check supported fields, path references, and policy group names, then verify each one before switching.

Open-source licensing and community contributions

mihomo is released under the GPL-3.0 license. Its source repository lets you review the implementation, discussions, and the context behind changes. Before distributing or modifying code, read the license and follow its applicable requirements. The core’s open-source license does not automatically apply to every graphical client, rule set, or subscription service; check each project’s terms separately.

When reporting an issue, include steps to reproduce it, your platform, relevant config fields, and redacted logs. Remove personal subscription credentials, node credentials, and other private information, keeping only the smallest excerpt needed to explain the problem. A screenshot saying “Unable to connect” is usually not enough to distinguish between local traffic routing, DNS resolution, and a remote service issue.

Updates and configuration compatibility

Client, core, and subscription updates are three separate actions. A client update may change the interface or system integration; a core update may change field behavior or protocol support; a subscription update may replace nodes, policy groups, and rules. When troubleshooting, identify which one changed most recently. Rolling back several things at once makes it harder to find the cause.

Before updating, save your current config and personal overrides, then read the project’s release notes. Retest your usual apps afterward. The homepage explains client selection and setup; installers are listed on the download page. Check that page and the relevant project documentation for system requirements. If an older guide no longer matches the interface, follow the current client’s setting names and config validation results.

Scope and responsible use

Clients and cores handle connections on your device; they do not provide working remote services. Check your subscription source, service authorization, node availability, and local network conditions separately. A config that loads successfully has passed syntax and some reference checks; that does not mean every node is reachable or every app is following the routing rules.

Start with a minimal setup on one device before considering multi-device syncing, local network sharing, or router deployment. Before enabling LAN access, understand the listening address and access controls; when sharing, specify which devices are allowed. Follow local laws and network service terms when using network tools. Get the necessary authorization before making changes to a work network.

FIELD NOTES / Setup guides

Platform Setup and Troubleshooting

Sorted by publication date, newest first. Find platform installation, connection timeouts, and LAN deployment in separate guides; avoid changing unrelated settings while troubleshooting.