Open-source ecosystem · Cross-platform clients and configuration guides

Clash Proxy Client Downloads and Rule Routing

Choose a client based on your current system and use case, then import a subscription, select a policy group, and enable network interception. The focus is on cross-platform downloads, rule routing, and troubleshooting in English, making it easier to find the right steps during initial setup and ongoing maintenance.

Free forever Open source mihomo ecosystem Configuration guides
PLATFORMS Five platform entry points

Windows、macOS、Android、iOS、Linux

ROUTING CORE mihomo

Compatible with Clash configurations while extending rule, protocol, and network interception capabilities.

OPEN SOURCE GPL-3.0

The core code is public, allowing the community to review configuration behavior and version changes together.

DOWNLOAD BY PLATFORM

Choose a Clash client by platform

Network permissions, background behavior, and package formats vary by platform. Open the relevant platform section first, then choose a client based on whether you need a desktop GUI, a persistent mobile connection, or a server deployment.

View all clients →
DESKTOP / WINDOWS

Windows

Ideal for desktop users who need tray controls, system proxy switching, startup launch, and TUN interception. The download page compares the maintenance status and use cases of Clash Plus, Clash Verge Rev, FlClash, Clash Nyanpasu, and archived clients.

Go to downloads
DESKTOP / MACOS

macOS

Supports both Apple Silicon and Intel Macs. When choosing an installer, verify the processor architecture and review system proxy permissions, login items, and network extension authorization. If you need to intercept apps that ignore system proxy settings, enable TUN after understanding its routing impact.

Go to downloads
MOBILE / ANDROID

Android

Android clients typically use the system VpnService to intercept app traffic. In addition to importing a subscription, configure background operation, battery-optimization exceptions, always-on VPN, and per-app routing; otherwise, the connection may be interrupted when Android reclaims the process after the screen is locked.

Go to downloads
MOBILE / IOS

iOS

iPhone and iPad use system network extensions to establish proxy connections, while installation and updates are managed through the App Store. The download page provides the Clash Plus store link and official site information; after importing a configuration, switch exits through its policy groups.

Go to downloads
DESKTOP / LINUX

Linux

Desktop distributions can use a graphical client, while servers, software routers, and containers are better suited to running the mihomo core directly. Before installation, confirm the CPU architecture, package format, service permissions, and the locations used to store configuration files and logs.

Go to downloads
Recommended selection order

For ordinary desktop use, choose a maintained graphical client first, then download the package for your processor architecture. On mobile, verify the app store or package source before configuring background permissions. Direct management of the mihomo core, configuration files, and service process is only needed for servers, routers, or automated environments.

RULE ROUTING WORKBENCH

Clash Rule Routing Workbench

Rule mode does not simply send all traffic through one exit. The client checks rules from top to bottom and passes each connection to the specified policy group when the first match is found. Understanding match order, rule types, and the scope of network interception keeps configuration behavior explainable.

DOMAIN-SUFFIX,example.com,PROXY

DOMAIN: choose an exit by domain

Domain rules are useful for websites, API hostnames, and content services. A configuration can match a full domain or a domain suffix, then send the request to Direct, Proxy, or a custom policy group. Compared with checking only the destination IP, domain rules better reflect the service users actually access and are easier to read and maintain.

Put more specific rules first and broader suffix rules later. For example, if one subdomain should connect directly while other requests under the same parent domain should use a proxy, place the full-domain rule first. Also check the DNS resolution path: if the domain is lost before reaching the core, matching may fall back to IP rules. Domain routing and DNS settings should therefore be reviewed together.

Request domainMatch from top to bottom指定策略组Direct or Proxy
ORDER

First-match principle

Clash generally checks rules in the order they appear in the configuration and stops once a match succeeds. Rules are not evaluated simultaneously before choosing the “most specific” one, so order is part of the configuration logic. If a newly added rule has no effect, first check whether a broad rule earlier in the list is taking precedence.

POLICY

Separate policy groups from nodes

Rules usually point to policy groups rather than binding each rule directly to a node. This lets you switch nodes, use automatic selection, or change exits without editing rule text. When maintaining a configuration, first identify the policy group matched by the rule, then check its current selection. This avoids confusing a rule problem with node connectivity.

OPEN SOURCE CONTEXT

Clash open-source ecosystem and configuration fundamentals

When choosing a client, the interface name is only the first clue. The core in use, configuration compatibility, system integration, and maintenance status matter more. Understanding these relationships helps determine whether a tutorial's settings apply to the current client.

01

From Clash configuration syntax to mihomo extensions

The Clash ecosystem has developed a widely used YAML configuration structure covering proxy nodes, policy groups, rules, DNS, and runtime parameters. After the original project stopped updating, community forks continued maintaining compatibility. mihomo preserves common configuration patterns while extending rule types, proxy protocols, DNS behavior, and TUN capabilities. In practice, follow the core built into or invoked by the client; a Clash label in the interface alone does not confirm feature support.

02

The client handles the interface and system integration

Graphical clients typically manage subscriptions, policy-group switching, system proxies, startup launch, log viewing, and core updates; the core actually establishes connections, matches rules, and forwards traffic. Because their roles differ, an interface that can import a configuration does not mean the current core supports every field. When a configuration fails, record the client version, core name, error line, and runtime log before deciding whether the issue is syntax, compatibility, or system permissions.

03

Public code makes behavior verifiable

Source code, commit history, release notes, and issue discussions together provide traceable technical evidence for open-source projects. Users can see when a rule was added, whether default behavior changed, and whether a known issue was confirmed, while comparing the responsibilities of the client wrapper and the core itself. When explaining features, this site prioritizes configuration semantics, system networking mechanisms, and public maintenance information rather than unverifiable metrics such as download counts, ratings, or node speeds.

04

Review changes before updating and keep a rollback-ready configuration

A client update may change the interface, replace the core, alter permissions, and migrate configuration at the same time. A stable maintenance process is to preserve a working configuration, record custom rules, read release notes, and check subscription refreshes, policy-group selection, DNS, and system proxy status after updating. If something breaks, restore a minimal configuration to verify basic connectivity, then add rule sets, scripts, or TUN settings step by step. This is easier to diagnose than changing several options at once.

QUICK ANSWERS

Selected Clash FAQs

Use these questions to quickly decide whether to visit the download page, guides, glossary, or full FAQ. For issues involving specific error logs, keep the original error and operation sequence before troubleshooting each item.

What is the relationship between the Clash client, the mihomo core, and the configuration file?

The client provides the visual interface and system integration; cores such as mihomo handle connections, rules, and traffic forwarding; YAML configuration files describe nodes, policy groups, rules, and DNS behavior. All three must be compatible for normal operation. See the glossary for more concepts.

Why can’t webpages load through the proxy after a successful subscription import?

A successful import only means the configuration reached the client. You still need to start the core, select a working policy, enable the system proxy or the appropriate interception method, and confirm that rules match the correct policy group. Follow the Getting Started guide to check the configuration, mode, connection, and verification steps in order.

How should I choose between rule, global, and direct modes?

Rule mode routes traffic according to the configuration and suits everyday use. Global mode sends most connections through one proxy policy and is useful for temporarily testing a node. Direct mode is mainly for confirming that the local network works. Changing modes will not fix a failed node or an invalid subscription; see the FAQ page for details.

Do I still need TUN when the system proxy is enabled?

If browsers and common desktop apps follow the system proxy normally, you can usually keep the current setup. Consider TUN only when an app ignores the system proxy, more protocols need interception, or unified routing is required. After enabling it, check routing, DNS, local-network access, and conflicts with other VPN software.

LATEST GUIDES

Clash configuration and troubleshooting articles

These articles cover core differences, Android network interception, and client interfaces by specific problem. They are useful for further reading after the basic installation is complete.

View all articles →