Open source · Clients for all platforms, regularly updated

Clash Release PageClient Downloads and Setup

Choose a client for your platform and follow guides on importing subscriptions, routing rules, and configuration with the mihomo core.

Open sourceYAML configurationGuides in Chinese
Configuration Features

From Routing Rules to Traffic Capture

The client provides the controls; the core handles connections. Find the settings relevant to your needs, start with a minimal working configuration, then expand it one step at a time.

Rule-Based Routing: Choose an Outbound Route for Each Connection

Rule mode sends different destinations to different policies, so every connection does not have to use the same outbound route. The core checks rules from top to bottom and applies the proxy group or direct policy for the first match. Put specific domains before broader rules, then use MATCH at the end to catch everything else. Rule mode is better than global mode when you need to handle both local services and remote resources. Before editing rules, confirm that the policy names exist, then check the Connections page to see which rule matched. A webpage loading successfully alone does not tell you whether routing worked as intended.

rules:
  - DOMAIN-SUFFIX,github.com,PROXY
  - GEOIP,CN,DIRECT
  - MATCH,PROXY

In this example, PROXY is a policy name that must be defined separately in a proxy group. GeoIP matching depends on a local geolocation database and cannot replace all domain rules.

For your first connection, follow the getting started guide to set up a subscription and system proxy. For the full setup sequence and maintenance tips, continue to the user guide.

Platform Downloads

Choose an Installer by System and Architecture

The homepage provides a platform index; the download page lists specific clients, installers, and system requirements. Check your device's architecture first, then compare how each client integrates with your system.

Windows

A good fit for desktop users who want tray controls, a system proxy, and launch-at-startup options. The download page lists clients such as Clash Plus and Clash Verge Rev. Before downloading, check your processor and operating system in system settings; do not guess the installer architecture based on your computer's brand.

After installing, import your configuration before enabling the system proxy. Check service mode and TUN permissions only if you need to capture traffic from apps that ignore proxy settings. When migrating from an older client, keep your subscription source and custom rules, and avoid overwriting the new client's entire configuration directory.

Download Windows client

macOS

A good fit for users who manage proxies, switch subscriptions, and check connections from the menu bar. Apple Silicon and Intel Macs use different installers; check your chip in About This Mac. Choose a client that is actively maintained and supports your macOS version.

After installing, grant any required permissions and check that the system network proxy matches the client's status. If connections fail after waking from sleep, switching Wi-Fi networks, or connecting to another VPN, first check the current network interface and proxy status. You usually do not need to reimport the entire subscription.

Download macOS client

Android

A good fit for users who manage mobile connections through the system VPN interface. Choose an ARM64, ARM, or universal installer as appropriate and check the client's requirements. After installation, grant VPN permission so the client can capture local traffic.

If the connection drops when the screen locks, check battery optimization, background activity, and the manufacturer's auto-start settings first, then review the logs. Do not disable every background restriction at once. For per-app proxying, confirm that the target app is included and that no other VPN service is already running on the device.

Download Android client

iOS

The download page links to Clash Plus on the App Store and lists its official website, clashplus.io. After installation, confirm that the client recognizes your subscription format, add the VPN configuration when prompted, then choose the proxy policy you want to use.

After switching between mobile data and Wi-Fi, check the client status and test the connection in the app you want to use. A VPN icon alone does not confirm that the remote route is working. Check the subscription's validity, selected proxy group, and matched rule separately.

Download iOS client

Linux

Desktop users can compare Clash Verge Rev and FlClash, then choose a package for their distribution. After installation, check proxy support in your desktop environment, tray behavior, and required permissions. Command-line programs may not use the desktop system proxy; configure environment variables as documented or use another traffic capture method.

Server and router users can explore the mihomo core, but must manage startup arguments, configuration paths, and service lifecycle themselves. Restrict the control interface and proxy listening address to what you actually need. Before allowing LAN connections, check your firewall and access scope so local services are not exposed to untrusted networks.

Download Linux client

Browse all clients →

Open-Source Projects and Maintenance

Know the Difference Between the Core, Interface, and Configuration Source

Use public code, project documentation, and release notes as your references. Similar client names do not guarantee the same maintenance status, feature set, or configuration behavior.

From Clash to mihomo

The Clash ecosystem includes distinct projects such as proxy cores, graphical clients, and configuration tools. After the original Clash and some early clients stopped being maintained, community forks continued to evolve. The name Clash Meta also appears frequently in older guides and configuration notes. mihomo is now a widely used core project in the ecosystem. When reading older material, check which period and core it describes rather than relying on whether a filename contains Clash.

The core handles protocol support, rule matching, DNS, and connection routing. Graphical clients manage subscription imports, tray menus, system proxies, permissions, and logs. Products such as Clash Verge Rev wrap core features in a desktop interface, but interface toggles do not always map one-to-one to core configuration fields. The same subscription can also behave differently across clients because of default overrides and system traffic capture.

What Public Source Code Can Tell You

Project repositories can help you look up configuration fields, release notes, known issues, and proposed fixes. To determine whether an issue has been addressed, check its description, change history, and the released package—not just the repository's popularity. This site does not recommend clients based on unverified download counts or ratings. Choose based on device compatibility, ongoing maintenance, and the features you need.

The mihomo repository is licensed under GPL-3.0. Check each graphical client, bundled resource, and third-party dependency for its own license. Open-source code can be reviewed and studied, but installers, subscription services, and third-party configurations have separate sources. Before importing an unfamiliar configuration, inspect remote rules, scripts, and control interfaces to make sure they suit your needs, and protect the credentials in your subscription URL.

Update the Client, Core, and Configuration Separately

Client updates, core updates, subscription updates, and rule resource updates such as GeoIP are separate operations. Updating the client mainly affects its interface and system integration; updating a subscription changes remotely provided nodes or rules. Completing one update does not mean the others are up to date. When compatibility changes, read the release notes first and keep a copy of your previous configuration so you can restore it.

Back up custom rules and override files separately, note why you changed them, and verify only the affected features after an update. If you replace the core, DNS, and routing rules all at once, it is difficult to identify the cause even if the connection starts working again. For reliable day-to-day use, a configuration you can understand is usually more valuable than continually adding parameters.

Use Connection Logs to Verify What Actually Happened

When getting started, confirm in order that the configuration is active, a proxy group is selected, and system traffic capture is enabled. Then open the target app and check the destination domain, matched rule, and applied policy on the Connections page. Global mode can help briefly isolate a rule issue, but it does not guarantee that every program is routed through the client. The system proxy and TUN determine how traffic gets in; proxy mode determines how the core handles it.

If websites work but Store apps do not, see the guide to UWP loopback exemptions. If only domain lookups fail, focus on the DNS path. For more targeted steps, see frequently asked questions; for a complete learning path, read the user guide. Once everything works, remove temporary test settings to avoid leaving global mode or excessive logging enabled.

Recent Articles

Client Relationships and System Troubleshooting

Once the basic connection is working, explore guides that address your specific symptoms. The articles distinguish operating system restrictions, client settings, and core behavior to help avoid repeated trial and error across layers.

Browse all articles →