Windows
Check your operating system and processor architecture before choosing an installer. System proxy works for apps such as browsers. Microsoft Store apps may also require checking UWP loopback restrictions.
Download Windows clientmacOS Client · Subscriptions & Routing Rules
Start by importing a subscription, then configure the system proxy and routing rules. Enable TUN mode if your apps require it.
Choose the right architectureImport your configurationVerify traffic routing
Check your operating system first, then choose the right processor architecture. The download page lists clients, supported architectures, and installation links. Menus vary by client, but profiles, proxy groups, and traffic entry points follow the same basic principles.
Check your operating system and processor architecture before choosing an installer. System proxy works for apps such as browsers. Microsoft Store apps may also require checking UWP loopback restrictions.
Download Windows clientIn About This Mac, check whether your Mac has Apple silicon or an Intel processor. After installation, import a profile and enable the system proxy. For TUN mode, follow the client's instructions to set up its service and permissions.
Download macOS clientChoose an installer that matches your device's architecture. On first connection, you'll usually need to approve the VPN permission. If you already use another VPN app, check for conflicts before configuring per-app proxying or background permissions.
Download Android clientUse the download page to open Clash Plus in the App Store. After installation, import a compatible profile and approve the system VPN permission. Learn more about the client at clashplus.io.
Download iOS clientDesktop users should choose a package for their distribution; server users may prefer a standalone core. Desktop proxy settings, service permissions, and route management are separate, so check each one after installation.
Download Linux clientA client installer does not include a subscription service. Use a configuration source you are authorized to access, and make sure it includes usable proxy nodes, proxy groups, and rules. When moving to another device, use the original subscription or a configuration backup rather than recreating settings from screenshots.
View all clients →The system proxy determines how apps send requests to the client; traffic mode determines how the client handles requests it receives. Understanding these as separate layers helps you identify the right setting to change, instead of turning on every option at once.
Start with Rule mode for everyday use.
Rule mode selects an outbound based on the configured matching order, making it suitable for accessing local services and remote resources at the same time. Global mode generally sends requests that reach the core through the global proxy group, which can be useful for temporary comparisons. Direct mode lets you check what happens without a proxy. Switching modes does not create nodes or capture traffic from apps that never reached the client. First, make sure a usable option exists in the proxy group. Then send a new request and check its actual outbound on the Connections page. Existing long-lived connections may keep using their original route.
The system proxy points your operating system's network settings to the client's local listening address. It's suitable for browsers and desktop apps that honor that setting. Before enabling it, start the core and select a valid profile. Use the mixed port shown in the client. Some command-line tools, games, and apps with their own proxy settings won't use this entry point automatically; configure them separately or consider TUN mode. If the network stops working after you quit the client, check whether the system proxy still points to a stopped local service. Don't immediately change your subscription or reinstall the app.
TUN mode captures traffic through a virtual network interface and routes, making it useful for apps that ignore system proxy settings. It still depends on a valid profile, a working outbound, and correct DNS handling; it does not mean every request will be proxied. Before enabling it, read the selected client's service setup guide and consider administrator permissions, other VPNs, virtual network adapters, and security software. If local devices become unreachable or domain names stop resolving, turn TUN off to compare behavior, then check route exclusions and DNS settings. Change one setting at a time to narrow down the cause.
rules:
- DOMAIN-SUFFIX,apple.com,DIRECT
- GEOIP,LAN,DIRECT
- MATCH,Proxy
Rules are usually evaluated from top to bottom, and the first match determines the outbound for a request. Domain suffix rules cover related domains, process rules match apps, and rule sets let you maintain large groups of entries as separate resources. Before editing, confirm the policy name matches a proxy group, and place specific rules before the catch-all rule. The Proxy shown in this example must correspond to an actual proxy group; don't copy it into every configuration unchanged. After editing, check that the profile loads, then review the matched rule in connection details. Don't judge rule behavior only by whether a page opens.
The Connections page shows request destinations, matched rules, and outbound routes. The Logs page helps trace errors while loading profiles, parsing configuration, and establishing connections. When troubleshooting, note the affected app and the time of the error, then retry the request to narrow down the records to check. If the request doesn't appear on the Connections page, check the traffic entry point first. If it does appear but fails, check DNS, the node, and the destination service. Temporarily raise the log level for more detail, then restore your usual setting. Before sharing logs, remove subscription URLs, node credentials, and personal browsing details.
The Profiles page manages subscription URLs, local files, and the active profile. After importing successfully, select the profile and check that the expected proxy groups appear on the Proxies page. Saving a subscription URL alone does not switch the core to that profile. Remote updates may overwrite edits made directly to a subscription file; use the client's supported override or merge features for rules you need to keep. Subscription conversion sends the original configuration to a conversion service, so check how it handles your data and whether you trust it. Before switching sources, keep a recoverable copy of your profile, but never commit files containing credentials to a public repository.
Start with the fewest settings needed to make a connection you can reproduce, then add rules and expand traffic coverage. If something goes wrong, you can return to the last setting you verified instead of guessing from scratch.
Install a client that matches your device's architecture. On the Profiles page, choose URL import or import a local file. Once parsing completes, select the profile, open the Proxies page, and check that the expected proxy groups appear. If the import fails, check that the URL is reachable, the response contains a configuration file, and the current core supports its fields.
A subscription URL may contain access credentials. When copying it, avoid extra spaces and never post the full URL in a public forum. If you already have a client profile, save a copy first. Change the subscription source separately from the traffic entry point so you can tell which change caused any issue.
On the Proxies page, choose the outbound you plan to use and keep Rule mode selected. Then enable a traffic entry point supported by your system. On desktop, start with the system proxy; to cover other apps, configure TUN mode by following the guide. On mobile, approve the VPN permission when prompted and check whether another connection is already using the required capability.
Node latency reflects a specific test request, not download speed or how every website will perform. First choose an outbound that connects successfully and test the services you actually need. Consider automatic selection afterward. A low latency number does not prove that your rules are working correctly.
Reload the target page or app, find its request on the Connections page, and check the destination, matched rule, and actual outbound. Also confirm that local services remain reachable. Seeing the client running does not prove that an app is using the proxy. To verify the setup, make sure the entry point, rule, and outbound all line up.
If a connection fails, keep the error record and check the profile, entry point, DNS, and node one at a time. After turning off the proxy, confirm that the system network recovers. If you need remote work access or connections to local network devices, also check how your rules handle internal domain names and addresses to avoid route conflicts during everyday use.
Clash is a proxy ecosystem built around profiles, rules, and outbounds; different clients are separate projects, not interchangeable versions of the same app. To determine whether a feature is available, check the client interface, the core it uses, and the active profile. Similar names alone aren't enough to draw conclusions.
The original Clash's rule-based configuration influenced many desktop and mobile clients. After the original project stopped being maintained, the community continued developing independent cores and interface projects. Over time, they diverged in protocol support, DNS behavior, configuration fields, and system integration. Older guides can help explain the basics, but their download links, permission steps, and screenshots may not apply to the client you're using today.
When choosing a client, check its maintenance status and OS support first, then confirm that it supports the protocols you need. Archived clients can be useful for compatibility research in existing setups, but familiar tutorial screenshots are not a good reason to choose one for a new installation. If an older profile won't load, keep the original file, read the error, and migrate fields using the current core's documentation rather than deleting everything it doesn't recognize.
A graphical client handles profile management, menu bar or system tray access, system proxy toggles, and permission integration. The core parses profiles, matches rules, and establishes outbound connections. mihomo is the name used by the project that followed Clash Meta; its source code and configuration documentation are publicly available. A client using this core may not expose all of its features in the graphical settings, and the relevant features may not be enabled in the default profile.
For example, process matching depends on the operating system and permissions; rule sets need valid resource URLs and policy references; and DNS behavior depends on the profile and traffic capture method. When you see a feature name, first determine whether it belongs to the client settings or a core configuration field, then consult the relevant documentation. This avoids mistaking a missing interface button for lack of core support, and prevents copying override formats intended for another client.
Installing a client only prepares the local app. Node credentials, proxy groups, and rules come from the selected profile, while actual connectivity also depends on service status, your local network, the destination, and routing. This site provides client downloads and setup guidance; it does not manage subscription accounts or promise connection quality based on a single latency number in the interface. Before using a profile, understand its source, authorization scope, and expiration date.
When converting a Clash subscription, the original URL may be exposed to the conversion service. If your client can read the configuration directly, try importing it as is first. If conversion is necessary, check whether you trust the service and understand its supported fields and rule handling. When asking for help, share only the minimum redacted excerpts needed. Never post node passwords, subscription URLs, or complete logs containing personal browsing details.
Client, core, and subscription updates are three different things. A client update mainly changes the interface and system integration; a core update may change protocol support and configuration parsing; a subscription update replaces nodes, proxy groups, or rules. When troubleshooting, note which layer changed most recently, keep a recoverable copy of your profile, and read the relevant project's release notes. Updating everything at once makes it harder to identify the cause.
Before moving to another device, check its OS architecture and permission requirements, then import a compatible profile. Save custom rules using an override method supported by the client to prevent remote subscription updates from replacing them. After the move, check the same connection path and local network access. Being able to preserve old settings does not guarantee they will behave the same in a new environment.
The source repository is useful for exploring core implementation, configuration documentation, and public issue reports. The command below only downloads the source code; it does not install a graphical client or configure the system proxy. Most users can use the client download links above.
Visit the MetaCubeX / mihomo repository ↗git clone https://github.com/MetaCubeX/mihomo.git
After your first connection works, learn how traffic reaches the client, what latency tests actually measure, and how core configuration differs. Look up only what you need for the issue at hand; you don't need to change every advanced setting during your first install.
Explore how mihomo (formerly Clash Meta) extends protocol support and adds changes to rule-providers, sniffing, and DNS configuration. Learn which fields to review when migrating an older profile.
Compare how the system proxy relies on apps honoring its settings with how TUN captures traffic at the network layer. Covers compatibility, DNS handling, and when to use each approach.
Break down what a url-test request measures and how handshakes, test URLs, concurrency, and network congestion can make the displayed figure differ from real-world performance. Includes practical tips for comparing nodes.