Clash for Windows — Start
Open source · clients updated continuously across platforms

Clash for Windows
Official Download & Setup Guide

Download links for Clash clients on Windows, macOS, Android, iOS and Linux, built on the open-source mihomo core, with rule-based routing, subscription management and one-click system proxy switching, plus step-by-step setup and troubleshooting guides.

Free Forever Open Source English Docs 5 Platforms
Core — mihomo

The open-source core adopted by mainstream clients, actively maintained.

mihomo core
License — Open Source

The core and main clients are released under the GPL-3.0 open-source license.

GPL-3.0
Rule-based routing Subscription management One-click system proxy switch Node latency testing

Get the Client for Your Platform

Each of the five platforms has several client options. The links below jump straight to the matching tab on the download page. If you're not sure which to pick, the first card under each platform is the current recommendation.

Windows

Supports 64-bit Windows 10/11, with installer and portable builds available. Well suited to desktops and laptops, and the most visited platform on this site.

Go to Download

macOS

Builds are available for both Apple Silicon (M-series) and Intel chips. Confirm your chip type before downloading to avoid an installer that won't launch.

Go to Download

Android

A direct APK download is available, supporting ARM64 and other common architectures. Built on VpnService to capture traffic, and works on Android 7.0 and above.

Go to Download

iOS

Installed through the App Store, with updates pushed automatically. Works on both iPhone and iPad, so there's no manual installer to update.

Go to Download

Linux

Desktop client packages are available in deb and other formats, covering major distributions. Command-line users can also run the core directly with a config file.

Go to Download

mihomo Core

A standalone core binary for servers, routers and automated setups, distributed as multi-architecture archives. Desktop users should generally use a graphical client above instead.

Download Core

View all clients →

Core Features

Switch tabs on the left to see what each feature does, how it's used in the client, and how it differs from a plain proxy toggle.

Feature Details — Info Browser

Rule-based routing: different traffic, different exits

A traditional proxy is all-or-nothing — either every connection is rerouted, or you're flipping the switch manually. Rule-based routing matches traffic by domain, IP range, geolocation, even process name: local sites connect directly for low latency, specific services route through a chosen node, and ad domains can be blocked outright. Rules live in the config file, maintained by the subscription provider or a rule set, and run automatically once loaded — no manual intervention needed day to day. This is the core difference between a Clash-style client and a simple proxy toggle.

DOMAIN / IP-CIDR / GEOIP rule-providers

Subscription management: one link syncs every node

Providers typically distribute nodes and rules through a subscription link. Paste it into the client's config page and the node list, proxy groups and routing rules load together; from then on, node changes and route updates just require refreshing the subscription instead of re-entering everything by hand. Most clients also support multiple subscriptions at once, scheduled auto-updates and failure alerts — switch devices and reimporting the same link restores your setup, which cuts maintenance effort considerably.

Multiple Subscriptions auto-update

System proxy vs. TUN: two ways to capture traffic

System proxy mode works by changing the OS-level proxy setting — a single toggle, good for browsers and most apps that respect system settings. TUN mode instead creates a virtual network adapter and captures traffic at the network layer, covering command-line tools and games that ignore the system proxy. Both are simple toggles in the client: system proxy is enough for everyday browsing, switch to TUN for stubborn apps that bypass the proxy, and the proxy setting reverts automatically once the client quits.

System Proxy TUN / Fake-IP

Node testing and switching: pick by data, not by guess

The proxies page can run a latency test across every node, with results shown in milliseconds right next to each one — sort by value and it's obvious which routes are working and which have timed out. Proxy groups also support automatic modes: url-test periodically tests latency and always uses the fastest node, while fallback automatically switches to a backup line if the preferred node fails. Manual selection and automatic scheduling can be set per group, so you're never forced to choose between convenience and control.

url-test / fallback latency ms

Config management and logs: every issue leaves a trail

The config page manages local and subscription config files in one place, with switching, editing and syntax validation, so a bad edit can be rolled back instantly. The log page streams which rule matched each connection, which node was used, and why a connection failed. When you're offline, check the logs first: DNS timeouts, refused connections, or rules routing traffic to the wrong exit all show up directly in the error text. Advanced users can pair logs with the external controller API for fuller traffic dashboards.

Live Logs YAML config

Set Up in Three Steps

From install to a working connection usually takes under ten minutes. Here's the short version of the full guide.

Quick Start — Wizard
  1. Download and install the client

    Grab the installer that matches your system from the download page. Windows and macOS users just double-click to install; Android users download the APK and allow the install when prompted; iOS users get it directly from the App Store. On first launch, grant the network permissions the OS asks for.

  2. Import a subscription or config file

    Open the client's config page, paste the subscription link your provider gave you, and confirm the import; if you have a local YAML config file instead, drag it in or import it directly. Once imported, the node list and routing rules appear on the proxies page.

  3. Pick a node and enable the system proxy

    Run a latency test on the proxies page, choose a low-latency node, then flip on the "system proxy" switch. Open a browser and try a few familiar sites to confirm it works; if a site won't load, check the logs page for the error and cross-reference the FAQ.

View the full guide →

Open-Source Ecosystem & Maintenance

The clients and core distributed on this site are open-source projects in public repositories — their origin and update process are verifiable.

Background — Project & Core

Clash began as an open-source proxy core built around rule-based routing. Its clear YAML config format and flexible proxy-group mechanism gradually grew into a full client ecosystem spanning desktop and mobile. After the original core was archived, the community continued development as mihomo (formerly known as Clash Meta), adding broader protocol support and more DNS and TUN capability, and it's now the core adopted by essentially every mainstream client.

Graphical clients on desktop and mobile — Clash Plus, Clash Verge Rev, FlClash and others — are essentially interface layers built around this same core: the core handles connections and routing, while the client handles subscriptions, toggles and visualization. Once you understand that relationship, moving between platforms costs almost nothing to learn, since the config file format is shared across all of them.

GPL-3.0 mihomo core YAML config
Source — Get the Code

The core and main clients are released under the GPL-3.0 license on public code-hosting platforms, with commit history, releases and issue discussions all open to view — anyone can review the code or build it themselves. To explore the core's implementation locally, copy the command below to clone the repository:

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

How this site stays current: download links are checked and refreshed by a script against each project's official releases, and pages don't pin a specific version number, so buttons here always point to the current stable release; guides and FAQs are revised alongside client UI changes to avoid the "screenshot doesn't match reality" problem common to static tutorials.

Latest Articles

Practical guides on reading logs, tracking down slow speeds and picking a client, updated regularly.

View all articles →