Windows
Desktop clients provide tray controls, system proxy management, profile switching, and log viewing.
Go to downloadsOpen source project · Android client updates
Find Clash Meta for Android, the mihomo core, and subscription rule configuration in one place. Choose a client for your platform, then follow the guide to import settings, select policies, and route traffic.
Platform access
Each system uses different installation formats and traffic-routing interfaces. This section provides platform links and selection guidance; client lists, maintenance status, system requirements, and packages are collected on the download page. Existing profiles can usually be reused across devices, but system proxy settings, TUN permissions, and startup behavior must be configured separately.
Desktop clients provide tray controls, system proxy management, profile switching, and log viewing.
Go to downloadsChoose the build for your Intel or Apple Silicon Mac. Clients manage menu bar status, proxies, and profiles.
Go to downloadsImport a profile, choose policies, then route app traffic through the system VPN or TUN mode.
Go to downloadsGet Clash Plus from the App Store, then configure subscriptions, policy groups, and routing rules.
Go to downloadsChoose a graphical client for desktops or run mihomo directly on servers and routers.
Go to downloadsConfiguration capabilities
Clash configuration involves more than choosing a proxy node. The complete path includes the configuration source, policy-group decisions, rule matching, DNS resolution, and the system traffic entry point. Use these four tabs to review each module, then follow the practical configuration order.
Policy selection layer
select is suited to manual selection, url-test automatically tests candidate proxies, fallback switches through available items in order, and load-balance distributes connections among candidates. Rules reference the policy-group name rather than a specific node, so changing a subscription or selection does not require rewriting the entire rule set.
Request matching layer
Rules are matched from top to bottom in their configured order. Common rules include DOMAIN-SUFFIX, DOMAIN, IP-CIDR, GEOIP, and the final fallback MATCH. Put exact rules before broad rules so requests do not enter an unsuitable policy group too early.
System routing layer
TUN receives app traffic through Android's VPN interface and suits situations requiring coverage for more apps and protocols. DNS handles domain resolution and mapping. Check Fake-IP, DNS hijacking, auto route, and strict route as one set of parameters; changing only one may leave resolution working while traffic never reaches the core.
Profile maintenance layer
A subscription usually points to a remote configuration file. The client can set an automatic update interval while keeping a manual update option. After updating, check the active profile, policy-group names, and override rules; if the server changes a group name, rules and overrides using the old name must be updated too.
Quick start
You do not need to change every advanced parameter on the first run. Import a profile, check the policies, and start the service in that order. Once the connection works, decide whether TUN, DNS hijacking, or custom rules are needed for broader app coverage.
Open the client’s “Profiles” entry and import a subscription from a URL, or read a YAML file stored on the device. After importing, select the entry in the profile list so it becomes active. If parsing fails, check the fields and line numbers in the error message instead of repeatedly starting the service before confirming the syntax.
Open the “Proxy” page, review the policy groups supplied by the profile, and choose a proxy or child policy for groups that require manual selection. Rule mode suits most daily configurations; global mode sends capturable traffic to one policy; direct mode is mainly useful for temporarily excluding the configuration.
Return to the home screen and tap “Start.” Confirm Android VPN permission on the first run, then test an app that needs network access. If only some requests fail, the log page shows the destination, matched rule, and policy group. Use that information to determine whether the issue is DNS, rules, policy selection, or the remote connection.
Open source ecosystem
The Clash ecosystem uses a widely adopted YAML configuration structure covering proxies, policy groups, rules, DNS, traffic sniffing, and external control. Interfaces vary between graphical clients, but the core workflow is similar: the client manages profiles and system integration, while the core parses configuration, receives connections, and applies routing.
mihomo continues and extends the core capabilities of Clash Meta. Clients on Android, Windows, macOS, and Linux can build graphical interfaces around this core. Learning the relationship between policy groups, rule order, DNS, and TUN is therefore more useful long term than memorizing one interface’s button layout.
Project code, issue records, and change discussions are publicly available on code-hosting platforms. When configuration fields change, check the current core documentation and client notes first. For interface issues, consult the maintenance information for the relevant client. The core and graphical client are separate projects with different release cycles, supported fields, and system integrations.
This site organizes content into download links, quick guides, concept references, advanced configuration, and troubleshooting. The download page identifies platforms and clients; the quick-start guide covers the first connection; the glossary explains terminology; and the advanced guide discusses policy groups, rule sets, DNS, TUN, Fake-IP, sniffing, and local overrides.
Selected common questions
Most first-time configuration issues are not caused by the package itself. They usually come from an incomplete chain involving the active profile, policy selection, system routing, or DNS. These four questions cover the most common starting points.
Clash generally refers to a configuration system and client ecosystem, while mihomo is one actively maintained core project. Graphical clients call the core to handle connections and provide subscription management, policy selection, logs, and system-permission controls.
View core concepts →Importing only saves the profile. You must also make it active, check that policy groups have usable choices, and return to the home screen to start the service. Android also requires system VPN permission on the first run.
View import steps →System proxy mainly covers apps that actively read proxy settings; TUN receives broader traffic through a virtual network adapter. Android clients generally use the system VPN interface, so stop other services using that interface before enabling it.
View traffic-routing terms →A remote profile may change policy-group names, rule-set references, or DNS fields. If a local override still uses an old name, the update can succeed while behavior changes. Compare the logs and new profile to check each reference.
View advanced configuration →Configuration articles
These articles cover troubleshooting, client migration, and interface operations separately. Start with the troubleshooting sequence when a connection fails; read client and core guides when you need to understand the architecture, rather than changing several parameters without log evidence.
Check node quality, route congestion, and phone settings in order, using policy switching and DNS checks to locate the source of speed changes on Android.
Read articleCheck subscription status, policy selection, DNS resolution, system proxy and TUN conflicts, and app routing settings in a reliable order.
Read articleReview post-EOL client options, explain how to migrate profiles and subscriptions, identify fields that need changes, and keep desktop and Android logic aligned.
Read article