Skip to main content
ClashX · macOS client · mihomo core

ClashX Official Site · Clash Clients
Downloads and Setup

Browse clients for every platform and learn how to import subscriptions and configure routing rules—from installation through connection checks.

  • Open source · Review the code in each project
  • Portable configs · Check core compatibility
  • Documentation · Find settings step by step
Supported platforms Windows Android iOS macOS Linux

Client selection / 01

Choose a Clash client for your operating system

ClashX is for macOS; other operating systems require a compatible client from the Clash ecosystem. Before installing, check your processor architecture and system requirements. Interfaces, permission prompts, and config override behavior vary by client, so menu steps from one platform may not apply to another.

Windows

Start with Clash Plus, or compare Clash Verge Rev, FlClash, and Clash Nyanpasu. Before migrating an existing config, quit the old client and disable any leftover system proxy to prevent competing processes from binding the same port.

Go to downloads →

macOS

Choose an installer for Apple Silicon or Intel, then pick a client that fits how you use the macOS menu bar. ClashX Meta is an archived, unmaintained option. For a new installation, compare Clash Plus, Clash Verge Rev, and FlClash.

Go to downloads →

Android

Choose an installer for your device architecture. Import a subscription before allowing the VPN connection. If the connection drops in the background, check battery optimization and background activity permissions. If another VPN is running, decide which connection to keep.

Go to downloads →

iOS

Open the Clash Plus App Store page from the downloads page; its official site is clashplus.io. After installing, import a trusted subscription and authorize the VPN configuration. Desktop system proxy toggles are not part of this workflow.

Go to downloads →

Linux

For desktop Linux, choose Clash Verge Rev or FlClash and select a package for your distribution. Server and router users can deploy the mihomo core separately, but must manage the config directory, service permissions, and listening address themselves.

Go to downloads →

Configuration workflow / 02

Subscriptions, rules, and traffic routing

First make sure the config loads, then check how traffic reaches the core and matches rules. The topics below follow the setup workflow. Select an item to see where to configure it and how clients differ; manually switching items stops autoplay.

Importing subscriptions: check the response first

A subscription provides nodes, proxy groups, and rules; installing a client does not create a working connection by itself. In the client’s Config or Subscription page, choose the option to import from a URL. Save it, run an update, and set it as the active config. If parsing fails, check that the response is compatible YAML rather than a login page. Clients handle subscription conversion, request headers, and update intervals differently, so whether a link imports successfully depends on the active core’s parser. Subscription URLs often contain credentials; never post them in public logs.

Read the full guide to rules and port settings →

First connection / 03

Quick Clash setup: install, import, and test

Get a subscription URL from a trusted source and note the current system proxy setting. For the first connection, change only what you need: start with Rule mode and the system proxy, then confirm websites load before considering TUN or LAN sharing for specific apps.

Step 01 / Install

Choose a platform and architecture

Check the system requirements on the downloads page, then install the version for your processor architecture. On first launch, make sure the config directory is writable and quit other proxy clients. Read permission prompts carefully; do not grant broader system access to fix an ordinary import error.

Step 02 / Import

Import and activate a config

Paste the subscription URL on the Config page and wait for the update to finish, then set it as the active config. Check that proxy groups appear and contain selectable nodes. If the list is empty, review the subscription update result. Turning on the system proxy will not restore missing config data.

Step 03 / Verify

Enable the proxy and verify rule matching

Select Rule mode, choose a node for the proxy group, then enable the system proxy. Visit a site and check the matched rule and outbound route in its connection details. Test a destination that should connect directly as well. After the browser works, check proxy settings separately for terminals and other apps.

Read the full guide → For OS-specific permissions and installation steps, see the user guide.

Source & maintenance / 04

ClashX, graphical clients, and the mihomo core

Clients and cores do different jobs

ClashX is a macOS menu bar client, while the Clash ecosystem also includes graphical clients for other operating systems. Clients handle config imports, the system proxy, permission prompts, and the user interface; the mihomo core handles protocol connections, rule matching, and network traffic. Not every legacy client with Clash in its name includes mihomo, and the interface alone does not reveal which protocols it supports.

Clash Meta was a former name for this core branch, which later continued development as mihomo. Project names, config fields, and menu screenshots in older guides may not match current clients. When consulting documentation, check which core is actually running and whether the client is maintained. In particular, distinguish the historical behavior of archived projects from the capabilities of actively maintained ones.

Open-source code and license scope

The mihomo source repository makes its implementation, issue history, and release notes public and is licensed under GPL-3.0. This license applies to the core project; it does not automatically cover every third-party client. Developers can review the source and config documentation to understand behavior. When choosing a client, users should also read that project’s system requirements and maintenance notes.

Public source code makes implementation review possible, but it does not replace evaluating a subscription service. The client itself does not provide nodes, and node operators, subscription content, and local apps have separate trust boundaries. Before using configs with remote rule sets, scripts, or external control settings, verify their purpose. Limit access to management interfaces and never include credentials in public screenshots.

Record a recoverable setup before updating

Client updates, core updates, and subscription updates are separate. Updating a subscription changes nodes and rules; it does not update the client. A client update may preserve local overrides. Before updating, back up the config and extended rules, note the mixed port, listening address, TUN, and DNS settings, and read the change notes. Afterward, check that the config loads, the system proxy works, and one direct and one proxied destination connect as expected.

The downloads page lists client options and maintenance status; software release information is not fixed on the homepage. When features differ, first determine whether the client interface or the core provides them, then consult the appropriate client guide or core documentation. An unmaintained client may be useful for understanding an old config, but historical compatibility does not guarantee support on a current operating system. When migrating, preserve the subscription source and local rules rather than copying the entire old app directory.

Configuration notes / 05

Clash config guides and troubleshooting

Find instructions for the issue at hand. Change one thing at a time, keep a copy of the original config, and retest the same destination to determine whether the cause is the port, a rule, or an upstream connection.

View all articles →

Download Clash