Clash ecosystem · Clients and configuration guides

Clash clientsDownloads and setup

Choose a client for your operating system, from importing subscriptions to routing traffic with rules. Learn about the mihomo kernel and connection setup.

Open-source kernels Documentation in Chinese Cross-platform configuration
CONFIGURATION / ROUTING

Subscriptions, rules, and system integration

The client interface manages settings; the kernel applies them. First identify where the configuration comes from, then check how traffic reaches the local proxy port, and finally see which rule selects the outbound route. Each step has its own troubleshooting path.

CONFIG.YAML

Configuration at a glance

Each section includes practical tips and configuration snippets. Automatic rotation stops when you click, use the keyboard, or move focus into the section.

Download and enable a subscription

A subscription link may return a complete configuration or just a list of nodes. Add the link in the client’s subscription or configuration section. Once the update succeeds, select that configuration and check whether its proxy groups appear. A node-only subscription usually needs to be referenced through a proxy provider, with rules and proxy groups supplied by the main configuration. Local override options vary by client, and edits to a downloaded file may be overwritten during the next update. Subscription URLs may contain access credentials; remove them before sharing screenshots or backups.

Proxy group reference example
proxy-groups: - name: PROXY type: select proxies: [DIRECT]rules: - MATCH,PROXY

This snippet illustrates the structure only. Add actual nodes to the PROXY group before selecting it as an outbound route.

See how to import a subscription →
PACKAGES / SELECT SYSTEM

Clash downloads for every platform

Choose an installer for your operating system first, then for your processor architecture. When client names are similar, check whether the project is actively maintained and supports your subscription’s protocols. Installation only confirms that the app can run; connecting still requires a working configuration, a selected policy, and system access permissions.

Windows

For a first install, start with Clash Plus, then compare Clash Verge Rev, FlClash, and Clash Nyanpasu based on your interface preferences. Check your processor architecture in system information before downloading. Treat legacy clients as references for migration and archived builds.

After launch, enable the imported configuration and confirm that the mixed port is listening before turning on the system proxy. If a regular browser works but a specific app does not, check whether that app uses the system proxy. Store apps may also be affected by loopback restrictions; repeatedly switching nodes alone will not identify the cause.

Download Windows client

macOS

Choose the right build for Apple Silicon or Intel. Clash Plus, Clash Verge Rev, and FlClash are graphical clients to compare. The archived ClashX Meta download can help with migrating an existing setup; check its maintenance status when choosing a client.

Move the app into the Applications folder before setting it up for the first time, then grant the permissions requested by macOS. If you have used another proxy tool, check for leftover system proxy settings or background services. Verify the menu bar toggle and selected configuration separately; closing a window does not necessarily stop the kernel.

Download macOS client

Android

Choose a build for your device’s architecture. Start with Clash Plus, or compare Clash Meta for Android, FlClash, and Surfboard. Subscription format support varies between apps, so check compatibility before migrating rather than importing the same file into every client.

The first connection requires system VPN permission. If it disconnects after running in the background, check battery optimization and background activity restrictions. Per-app routing and domain rules are separate configuration layers. When testing, note the app, network, and matched policy to avoid misleading results when switching between mobile networks.

Download Android client

iOS

Install Clash Plus from the App Store. Its official project site is clashplus.io. Add a subscription in the app, allow it to add a VPN configuration when prompted, then check the selected policy and connection status.

Do not reuse desktop-specific local paths, system proxy ports, or adapter settings on a phone. If a configuration fails to import, check protocol and field compatibility first. If connectivity drops after switching networks, reconnect and review the logs; this makes it easier to troubleshoot without changing several settings at once.

Download iOS client

Linux

On desktop, compare Clash Verge Rev and FlClash, then choose a package for your distribution. Server and router users can use the standalone mihomo kernel, but must manage the configuration directory, process, and system integration themselves.

A proxy toggle in a graphical interface may not affect terminal programs, which can use their own proxy options or environment variables. Check permissions and the default route before enabling TUN. When setting up a background service, record its user, log location, and restart method so you can restore it after system updates.

Download Linux client

The client manages connections; the subscription supplies configuration data. They may update on different schedules. If a subscription updates successfully but the configuration will not start, check the kernel’s parsing error first. If the configuration starts but an app has no connection log, check how traffic is integrated with the system. The download page lists system requirements and client links; refer there for current version details.

Browse all clients →

Linux penguin graphic: Font Awesome Tux, licensed under CC BY 4.0.

OPEN SOURCE / TRACEABLE REFERENCES

The open-source Clash ecosystem and its kernels

To determine whether a client suits your configuration, check its project origins, kernel capabilities, and release notes. Open-source code and change logs make implementation details available for review. In practice, results also depend on how the client is packaged, what the configuration contains, and how the device routes traffic.

Project history: Clash, Meta, and mihomo

Clash introduced a configuration-driven proxy kernel that organizes nodes, proxy groups, and rules. Desktop and mobile interfaces were later built around it. After the original project stopped being maintained, community forks continued to evolve, and Clash.Meta was later maintained under the name mihomo. Older guides still use the previous names, so when you find a similar-looking configuration, check which kernel it targets instead of assuming every Clash-named app is the same program.

This history also explains why an older configuration may import successfully but fail at startup with an unsupported field: similar subscription formats do not imply identical feature sets. When consulting technical references, start with protocol support and field definitions. For newer protocols, extended rules, or DNS options, check the target client’s documentation to confirm those features are included.

Open-source community: verify features in the changelog

For example, the MetaCubeX/mihomo source repository’s commits, release notes, and issue discussions can help you track feature changes. If connections behave unexpectedly, check for known compatibility issues before updating the kernel or changing the configuration. Stars, download counts, and interface design are not substitutes for specific compatibility information, and this site does not rank clients by performance.

When reporting an issue, include your operating system, client name, connection mode, reproduction steps, and relevant logs. Remove subscription URLs, node credentials, and other sensitive information. A minimal, reproducible report helps the community more than a complete private configuration. Before using someone else’s rule file, check what it covers, how often it is updated, and its license; do not assume an outdated ruleset is a universal solution.

Graphical clients: interface and execution layers

Graphical clients typically offer subscription management, a system proxy toggle, connection lists, and log viewing. The kernel reads the final configuration and handles connections. A setting visible in the interface may not appear unchanged in an exported file; conversely, the client may regenerate manually edited fields at startup. When troubleshooting, inspect the configuration actually in use and distinguish the original subscription, local overrides, and final merged result.

For a first setup, start by comparing Clash Plus, then choose another client based on your platform needs. If you need more override options, service management, or interface customization, compare features in the Client Comparison guide instead of choosing by name alone. On mobile, also consider background operation and battery use; on desktop, focus on system proxy settings, permissions, and compatibility with other network tools.

Updates: check the app, kernel, and subscription separately

App updates may change the interface or service components; kernel updates may change protocol support and configuration validation; subscription updates usually replace node or rule data. Each addresses a different issue. If a subscription update fails, check whether the link is valid and reachable. If configuration parsing fails, inspect the fields and format. If a connection is established but access fails, check matched rules, DNS, and the outbound route.

Before upgrading, save a working configuration and local overrides, then read the release notes. After updating, repeat your usual tests. Change one major variable at a time to tell whether a result came from the app update or a configuration change. When rolling back, check data format compatibility so settings generated by a newer client can still be read by the older setup. For devices in regular use, record the installation source and service startup method to make recovery easier.

ARTICLES / PRACTICAL NOTES

Clash setup and client comparison articles

From first-time setup to choosing a node, these articles add practical detail for specific questions. Check that the operating system and client match before following the steps. Desktop ports, mobile permissions, and protocol support across different kernels are not interchangeable.

When troubleshooting, record the full sequence: current configuration, selected mode, test app, and error message. Network conditions change over time, so a single speed test reflects only that moment. To compare protocols or clients, use the same network and test destination for more meaningful results.

Browse all articles →