Open source project · Client kept up to date
One cat, routing traffic across five platforms. A permanently free, open-source Clash client collection with English guides and a troubleshooting handbook — set it up and use it the same day.
T-BOARD · Trunk Wiring Diagram
Clash's core features work like terminals clipped onto a single trunk cable: rules decide where traffic goes, proxy groups decide which node handles it, subscriptions feed configs in, and TUN with DNS catch whatever slips through. Click a terminal, read the ticket.
Rules are Clash's backbone: every connection is matched against DOMAIN-SUFFIX, GEOIP, MATCH, and similar rules by domain, IP, or process name, then sent to a proxy or direct connection — no flipping switches back and forth. A common "domestic sites direct, everything else through proxy" setup takes barely a dozen lines; rule sets (rule-providers) support remote subscriptions and scheduled auto-updates, keeping upkeep close to zero. Unlike browser-extension proxies, rules apply system-wide, covering browsers, terminals, and desktop apps at once with a single rule set.
Proxy groups bundle multiple nodes into one schedulable unit: url-test periodically measures latency and picks the fastest node, fallback fails over in order, and load-balance spreads connections across several lines. There are only three parameters — url, interval, tolerance — each self-explanatory and ready to use as-is. Paired with rules, you can send streaming through one group, large downloads through another, and office traffic direct — when a node drops, the group fills in automatically without anyone babysitting the panel. A side-by-side breakdown of the three types is covered in a dedicated article.
A subscription is a URL backed by a full node list and rule configuration. Paste the link into a client to import it, with scheduled auto-updates — node additions, removals, and rule changes are pushed from the subscription end, no manual YAML editing needed locally. Multiple subscriptions can coexist and be switched between; swap providers or add a self-hosted one without any conflict. If the link you have is in another client's format, a subscription converter can turn it into Clash format for import — the conversion logic and self-hosting steps are covered in the tutorial page. The troubleshooting handbook has a dedicated chapter on subscription failures.
System proxy settings only work for "cooperative" programs — many CLI tools, game clients, and UWP apps ignore proxy settings and connect directly. TUN mode creates a virtual network adapter on the system; all traffic passes through it and gets routed by rule first, so nothing can bypass it. Turning it on is just a toggle in the client (admin or network-extension permission is required the first time), and it's the easiest catch-all fix for the classic "proxy is on but the terminal still goes direct" problem. The VpnService tunnel on mobile is the Android implementation of the same idea.
A working proxy doesn't mean clean DNS: if resolution still goes through your local ISP, browsing history still leaks. Clash's built-in DNS module uses enhanced-mode: fake-ip to return a placeholder address from a reserved range first, then resolves the real address inside the proxy chain; nameserver and fallback groups route local-region domains to local DNS and everything else to encrypted DNS, with fallback-filter correcting misroutes. This setup takes only a dozen or so lines in the config; a dedicated article walks through leak detection and line-by-line config examples.
SOCKETS · Five Outlets
Each of the five platforms has an actively maintained client, and the download page lists installers, system requirements, and setup notes by platform. Click an outlet to jump straight to its section.
OPEN SOURCE · The Open Ledger
Clash is the umbrella name for this family of clients, tracing back to a Go-based open-source proxy core released in 2018. After the original project was archived, the community kept developing on top of its codebase, giving rise to today's mihomo core (the Clash Meta line): protocol support, the rule engine, and the DNS module all continue to evolve on this branch. The repository is public under the GPL-3.0 license, with commit history, issue discussions, and release records open for anyone to inspect.
Today's "Clash client" is an ecosystem rather than a single piece of software: graphical clients like Clash Plus, Clash Verge Rev, FlClash, and Clash Meta for Android each build their own interface, but all call into the same mihomo core underneath. That means switching clients doesn't mean relearning configuration — subscriptions, rules, and proxy group syntax are shared across them, and config files can be moved over directly.
Updates ship through each project's own release channel: the core and the clients version independently, and clients typically bundle a core build that gets updated alongside them. Links on this site's download page point to each project's current release and refresh whenever upstream ships a new version; installers are organized by platform and architecture to avoid grabbing the wrong build.
To read the code directly or build it yourself, just clone the core repository. Building only requires the Go toolchain, build instructions are included in the repo, and cross-compile targets cover every platform — even the MIPS build that runs on routers comes from the same source.
git clone https://github.com/MetaCubeX/mihomo.git
QUICK CHECK · Top FAQs