Open-source ecosystem · New platform clients added continuously

Clash Client Downloads & Setup Guides for Every Platform

Covers working clients for five platforms — Windows, macOS, Android, iOS, and Linux — with English guides and troubleshooting references on rule-based routing, proxy modes, and DNS handling. Version info is updated continuously as upstream projects release new builds.

  • Always Free
  • Open Source
  • English Guides

features

Core Feature Modules

Pick a module on the left to see its full explanation and related parameters on the right. The descriptions below reflect common behavior across the mihomo core and mainstream GUI clients — individual clients may label things slightly differently in the UI, but the underlying fields are the same.

Rule-Based Routing Engine

The rule section matches every connection from top to bottom: domain suffixes, full domain names, destination IP ranges, process names, and other conditions can all serve as matching criteria. A match triggers the corresponding policy, and unmatched connections fall through to the MATCH rule at the end. Rule sets (RULE-SET) support external file references with scheduled updates, so common geo and domain lists don't need manual upkeep.

The routing outcome decides whether a connection goes through a proxy group or a direct connection. Combined with automatic latency testing and failover within proxy groups, this keeps the link usable without manual intervention. Custom rule syntax and priority rules are covered in this site's guides and technical notes.

The core problem it solves is letting different traffic take different paths: internal company domains go direct, streaming services stick to a specific regional node, and ad domains get rejected outright. Such fine-grained policies only need a few custom entries inserted at the top of the rule section, leaving the rest of the subscription untouched. Rule matching overhead is tiny — even thousands of rules won't become a bottleneck — which is the clearest difference between Clash-family clients and proxy tools that offer nothing but a simple on/off switch.

RULE-SETDOMAIN-SUFFIXGEOIPMATCH

Three Proxy Modes

Rule mode evaluates traffic against the rule section line by line and is the default for everyday use. Global mode sends all traffic through the currently selected proxy group, commonly used to test node connectivity. Direct mode bypasses all proxies, useful for checking whether an issue with a specific site is caused by the proxy.

All three modes can be switched instantly from the client interface, taking effect immediately without restarting the core. Switch back to rule mode after testing to avoid unnecessary traffic from global mode.

Mode switching is also the fastest binary search when troubleshooting: if a site still fails in direct mode, the problem has nothing to do with the proxy; if it works in global mode but not in rule mode, a rule is likely missing or hitting the wrong policy group. With this diagnostic order in hand, most "the internet suddenly stopped working" cases can be narrowed down to the right layer within a minute — no need to blindly reinstall the client or keep swapping nodes.

RULEGLOBALDIRECT

DNS & Fake-IP

The built-in DNS module supports encrypted upstreams such as DoH and DoT, and can route different domains to different resolvers to reduce the chance of tampered results. Fake-IP mode answers local queries instantly with virtual addresses from a reserved range, deferring the actual resolution until the connection is established, which noticeably cuts first-byte latency.

Fake-IP and Redir-Host each suit different scenarios: services on the local network, game consoles, and other cases sensitive to real IPs need to be added to the fake-ip-filter allowlist. See the technical notes for a detailed breakdown of how this works.

If an application misbehaves after resolving a domain to a virtual address starting with 198.18, add that domain to fake-ip-filter first instead of falling back to Redir-Host entirely — this keeps the low-latency benefit while accommodating the occasional stubborn app. Self-checks for DNS leaks and advice on choosing upstreams are covered in the corresponding FAQ entries.

FAKE-IPREDIR-HOSTDOHDOT

TUN Traffic Takeover

TUN mode creates a virtual network interface at the system level and takes over all outbound traffic, including command-line tools and games that ignore system proxy settings. Compared with the traditional system-proxy approach, TUN provides complete coverage without needing to configure proxy settings for individual programs.

Enabling TUN requires administrator or root privileges, and the client will guide you through installing a system service the first time it's turned on. You only need one of system proxy or TUN — running both at once offers no extra benefit. Mixed port (mixed-port) serves HTTP and SOCKS5 inbound traffic on the same port.

On Windows, TUN relies on the WinTun driver; macOS requires approving a system extension. If enabling TUN breaks connectivity instead, first confirm the client's service was installed with administrator rights, then check whether DNS hijacking is in effect. System proxy is enough for everyday browsing — only programs that ignore proxy settings, such as command-line tools and games, genuinely need TUN.

TUNMIXED-PORTHTTPSOCKS5

Multi-Profile Management

A profile centrally defines ports, proxy groups, and rule sections. Clients support importing multiple subscriptions and switching between them; each subscription is saved independently with its own update interval, and updates only overwrite the fields provided by that subscription — making it easy to compare node quality across sources.

Custom rules meant to persist long-term should be injected through the client's override or merge mechanism rather than edited directly into the subscription source, otherwise the changes will be wiped out on the next subscription update. Field structure and backup methods are covered in the technical notes' profile breakdown.

When comparing node quality across subscriptions, apply the same override content to both profiles so the test conditions stay identical; back up manually before switching or deleting a subscription so you can roll back instantly if something breaks. A subscription URL is effectively a credential — never paste it anywhere public.

PROFILEPROXY-GROUPURL-TESTINTERVAL

download

Get the Client for Your Platform

All five platforms have actively maintained clients available. Click a platform to jump to its section in the download center for details, versions, and system requirements. Not sure which to pick? Follow the note under each card — the same subscription works across clients on every platform.

Windows

x64 / ARM64

Clash Verge Rev suits daily use on Windows 10/11; older systems can consider the archived build of the discontinued Clash for Windows.

Download

macOS

Intel / Apple Silicon

ClashX Meta lives quietly in the menu bar; download the installer matching your chip — Intel or Apple Silicon.

Download

Android

ARM64 / ARMv7

FlClash and Surfboard take over traffic via the VPN service API — no root required; install the APK and import your subscription.

Download

iOS

App Store

On iOS, compatible clients such as Stash are only available through the App Store and typically require a non-Chinese account to purchase.

Download

Linux

deb / rpm

Desktop users can install the Clash Verge Rev deb package; servers and routers run the mihomo core binary directly.

Download
View All Clients ->

open-source

Open-Source Ecosystem & Site Data

The Clash client ecosystem is built from several independent open-source projects, and the source code for both the core and mainstream GUI clients is publicly auditable. This site only lists builds with verifiable sources and tracks the maintenance status of each project; every download entry states its source repository and matching release version so you can verify checksums yourself.

Clients Listed

9

Platforms Covered

5

Site Languages

5

Leading Core

mihomo

Start From Source

Clash began as an open-source rule-based proxy core released in 2018. After the original repository stopped maintenance in November 2023, the community's mihomo (formerly Clash Meta) carried the protocol and configuration format forward, adding broader protocol support and more rule types to become the de facto standard core of today's ecosystem. Desktop client Clash Verge Rev, macOS client ClashX Meta, and Android client FlClash are all independent open-source projects that embed or drive the mihomo core, and profiles are largely interchangeable across them.

The rule engine, DNS module, and TUN implementation are all open in the mihomo repository. Users with build experience can pull the source and compile the core themselves; precompiled core binaries for servers and routers are also available in the download center. This site tracks each project's release page — listed version numbers and maintenance status follow upstream releases, discontinued projects (such as Clash for Windows) are clearly flagged, and we never redistribute unsourced "boosted" or "cracked" builds.

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

Clone the core repository — most users can simply use the GUI clients from the download center. Building from source suits those who need to audit the code, trim features, or run on niche architectures.

faq

Frequently Asked Questions

The questions new users ask most, each answered in one line — full explanations live on the linked pages.

Clash for Windows is discontinued — what should I use instead?

The original author deleted the repository in November 2023. On Windows, the actively maintained Clash Verge Rev is now the recommended replacement, and your existing profiles carry over directly — see the client comparison for each project's maintenance status.

What's the first thing to do after installing?

Import the subscription URL from your provider, enable system proxy, and confirm the mode is set to "Rule" — the three-step walkthrough with screenshots for each platform is in the quick start guide.

How do I make Clash launch on startup?

Mainstream clients all offer a "launch at startup" toggle in settings. On Windows, if the toggle doesn't work, the service usually wasn't installed with administrator rights — troubleshooting steps are in the FAQ.

I want to edit the config file myself — where are the fields documented?

Field meanings for ports, DNS, proxy groups, and rule sections, plus override/merge syntax, are organized in this site's config reference — worth reading through before editing.

blog

Latest Technical Notes

Long-form English articles on configuration structure, proxy modes, and troubleshooting, organized by topic and updated continuously. Each one starts from first principles and provides copy-ready config snippets and a diagnostic order — for readers who want to truly understand Clash rather than just toggle it on and off.

View All Articles ->
Download Clash