Platforms, Cores, and Maintenance
The client imports subscriptions, displays proxy groups, and requests system permissions. The core handles protocol connections, DNS, and rule matching. Consider these as separate layers when choosing a client. A setting in the interface doesn’t guarantee that the active core supports every parameter in your subscription; likewise, a core’s capabilities don’t guarantee the client exposes them in a GUI.
The platform column below distinguishes supported platforms from download links available on this site. Maintenance status is a general guide; check each project’s documentation and the installed app for current releases and feature support. Ease-of-use ratings are rough indicators of the learning curve, not performance tests or product scores.
| Client | Platforms and Downloads on This Site | Core or Config Format | Maintenance | Ease of Use | Key Features | Best For |
|---|---|---|---|---|---|---|
| Clash Plus | Windows、macOS、Android、iOS | Implementation may vary by platform; check the app’s documentation | Actively maintained | Easy | Multi-platform downloads, subscription and connection management | First-time users, mobile users, and people with multiple devices |
| Clash Verge Rev | Windows、macOS、Linux | mihomo | Actively maintained | Moderate | Desktop config overrides, system proxy, and TUN settings | Users who need desktop traffic routing and local customization |
| FlClash | Windows、macOS、Linux、Android | mihomo | Actively maintained | Easy to moderate | Cross-platform interface, proxy groups, and connection management | People who use both Android and desktop |
| Clash Nyanpasu | Desktop platforms supported by the project; Windows download available here | Multiple cores in the Clash ecosystem; varies by build | Actively maintained | Moderate | Desktop config management and core selection | Advanced users who understand the distinction between the GUI and core |
| Clash for Windows | Historically supported desktop platforms; Windows archive available here | Original Clash / Premium ecosystem | Discontinued | Easy for existing users; not recommended for new installs | Reference for legacy configs and workflows | Existing users checking a legacy setup |
| Clash Meta for Android | Android | Meta / mihomo ecosystem | Actively maintained | Moderate | Android VPN integration, config, and proxy group management | Android users with existing Clash configs |
| Surfboard | Android | Own implementation; compatible with some Surge config syntax | Actively maintained | Easy with a compatible config; difficult to migrate | Rule-based proxying with its own config format | Users whose subscription explicitly supports Surfboard format |
| ClashX Meta | macOS; archive download on this site | Meta ecosystem; core depends on the archived build | Discontinued | Easy for existing users | Menu bar controls and management of existing configs | Users checking configs on older macOS setups |
What to Expect from Each Client
Clash Plus: A Good Starting Point for First-Time Installs
Clash Plus is our top pick for users who want to import a subscription, choose a proxy group, and verify their connection. This site links to downloads for Windows, macOS, Android, and iOS, making it a convenient place to start on mobile. For iOS, follow the link on the download page to the App Store. See the product details at clashplus.io.
That makes it a good starting point, but features aren’t necessarily identical across platforms. If your subscription depends on a mihomo-specific field, protocol parameter, or complex override, check support for your platform first. When moving between devices, confirm how each app imports configs and connects to the network; desktop system proxy settings don’t apply directly to phones. If you need extensive custom rules, compare it with the mihomo clients below.
Clash Verge Rev: Desktop Routing and Config Overrides
Clash Verge Rev runs on Windows, macOS, and Linux and is built on mihomo. It’s suited to managing subscriptions and custom rules on desktop. Its main advantage is config management and system integration—not a guaranteed speed boost for the same proxy node. Consider a desktop client like this when you need local domain rules, custom proxy groups, or help tracing how desktop apps connect.
The learning curve comes from understanding system proxy settings, TUN, and service permissions. You can start by testing the system proxy with a regular browser; consider TUN if you need to route apps that ignore proxy settings. Updates to a remote subscription may overwrite local edits, so use the app’s override or merge options for long-term changes. Before migrating, check the resulting config—not just that the editor saved it.
FlClash: A Similar Workflow on Android and Desktop
FlClash is built on mihomo and supports Android, Windows, macOS, and Linux. For people who use both an Android phone and a computer, its interface offers a familiar workflow across devices: import a config, review proxy groups, then check connections and rule matches. It’s a strong alternative if you already have a mihomo-compatible subscription and want to avoid adapting to a different interface on each device.
A shared interface doesn’t mean identical behavior in the background. Android requires VPN permission and may restrict background activity or battery use; desktop involves system proxies, services, and startup settings. Even with the same subscription on both, test DNS, local network access, and recovery from sleep separately. Don’t assume a stable desktop connection means the phone will stay connected in the background.
Clash Nyanpasu: For Desktop Users Who Want to Manage Cores
Clash Nyanpasu is a desktop GUI for desktop operating systems; this site provides a Windows download. It suits users who want to distinguish interface settings from core settings. Available cores and switching options depend on the installed build. Check which core is active before choosing a config; don’t infer protocol support from the client’s name alone.
It’s a better fit for users with config experience who are comfortable checking merged configs and logs. After switching cores, a config that used to import may no longer work; pay particular attention to extension fields, rule sets, and DNS options. If you need to reuse the same config reliably, note the active core and save a copy before changing it. If all you need is a first connection on your phone, a desktop-only client with extra settings isn’t necessary.
Clash for Windows: A Legacy Reference, Not for New Installs
Clash for Windows, often shortened to CFW, had desktop builds for platforms other than Windows despite its name. This site provides a Windows archive download. The project is discontinued, and its legacy setup belongs to the original Clash and Premium ecosystem. Many older tutorials still use its screenshots, so existing users may need to refer to its menus, ports, and proxy group names when migrating.
New users shouldn’t rely on an archived client as a long-term starting point. New protocols and extended config options may exceed the capabilities of its old core, and OS updates can cause compatibility issues. When moving to an actively maintained client, import the subscription again and recreate local settings one at a time; don’t copy the entire app data directory. If it worked in CFW, that only shows it matched the old setup—not that it suits today’s devices.
Clash Meta for Android: For Android Users with Existing Configs
Clash Meta for Android, often shortened to CMFA, belongs to the Meta and mihomo ecosystems. It suits Android users who already have a Clash config and want to manage proxy groups, connections, and logs. Choose an installer that matches your device’s processor architecture. If you’re unsure, read the download instructions rather than repeatedly trying incompatible packages. Actual protocol support depends on the core bundled with the app.
Most of the learning curve comes from Android itself: you must approve the VPN request for the first connection, background restrictions may interrupt connections when the screen is off, and other apps using the system VPN slot may conflict. If the connection drops, first check whether Android stopped the app, then inspect the subscription and proxy nodes. If the config imports but you can’t connect, logs are more useful for finding the cause than repeatedly switching global modes.
Surfboard: Check the Config Format First
Surfboard is an Android rule-based proxy client, not a Clash or mihomo client with a different interface. It has its own implementation and supports some config syntax from the Surge ecosystem. It’s a natural choice when your subscription provider explicitly offers a Surfboard-compatible format. A Clash YAML file doesn’t become compatible just by changing its file extension.
Migration requires checking protocol parameters, proxy group definitions, rules, and DNS—not just importing nodes. Format conversion can also drop extension fields or change how proxy groups work. Take extra care when converting a subscription URL. If your existing setup is built around mihomo, a mihomo client will usually take fewer steps; users familiar with Surfboard can keep using its existing rule structure.
ClashX Meta: An Archive Option for Legacy macOS Configs
ClashX Meta is a macOS client built around menu bar controls and belongs to the Meta ecosystem. This site lists it as an archive because it’s discontinued; the archived build shouldn’t be treated as a complete representation of current mihomo capabilities. Users familiar with its menu bar workflow can use it to check existing configs and legacy settings. For a first install, start with an actively maintained macOS client instead.
Before switching clients, quit the old app and check that it has restored the system proxy settings. This helps prevent two clients from repeatedly changing the same settings. Choose an installer for your Apple Silicon or Intel Mac. After migrating, check auto-start, system proxy, and local port settings individually; importing a subscription won’t transfer the old app’s startup settings. If the old config relies on an extended protocol, test it again in the new client.
Choose by Experience Level and Device
There’s no need to install and run every client just to compare them. Narrow your options based on a specific need, then test with the same subscription. These recommendations focus on workflow; they don’t promise that one app will always be faster or use less battery on every device.
Check Subscriptions and Configs Before Switching
A working proxy connection doesn’t mean the migration is complete. Proxy groups, rules, and DNS in the subscription all affect how traffic is routed. If you migrate only the proxy nodes, all traffic may end up using the same route. Keep a record of your local settings and verify the following in order.
- Check the subscription format. Distinguish between a full Clash config, a list of proxy nodes, and a Surfboard config. After the client reports a successful import, check whether it actually created proxy groups and rules.
- Check core capabilities. Verify that the core supports the protocols and extension fields your subscription requires. If you see an unsupported field error, check the client and core rather than deleting config sections you don’t recognize.
- Migrate local overrides separately. Remote subscriptions update the source config; local overrides are for long-term customization. Test the original subscription first, then add your rules one at a time to find the cause if something breaks.
- Run only one network-intercepting client at a time. Quit the old app and restore its system proxy or disconnect its VPN before enabling the new client. This avoids conflicts involving ports, routes, and DNS.
- Test three types of access. Check destinations that should use the proxy, destinations that should connect directly, and local network services. Review which rules match. Loading a single webpage isn’t enough to verify that migrated rules work correctly.
- Test background operation and restart behavior. On a phone, test the connection again after locking the screen. On a computer, check auto-start and proxy status after restarting. For setup steps, see the guide to launching at startup.
If behavior changes after migrating, first determine whether the config failed to load, the rules match differently, or the system integration works differently. Latency tests reflect a specific test method and don’t replace checks in the apps you actually use. See Proxy Latency and Connection Tests for more. For DNS differences, see the DNS and Network Stack Reference.
How to Choose: Start with Your Platform, Then Test Your Config
Our top pick for a first install is Clash Plus. Start with a straightforward subscription and connection workflow, then decide whether you need more advanced core settings. If you specifically rely on mihomo, compare Clash Verge Rev and FlClash on desktop or CMFA and FlClash on Android. For desktop users who need to manage different cores, consider Clash Nyanpasu.
Choose Surfboard only if your config is in a compatible format; it isn’t a drop-in replacement for Clash YAML. Keep Clash for Windows and ClashX Meta for archive and legacy use, not as long-term starting points for new users. If your actively maintained client is working and meets your config needs, there’s no need to switch just for a different interface.
Once you’ve narrowed down your options, visit the client downloads page to choose an installer for your operating system and architecture. If you don’t have a subscription yet or aren’t sure about the permissions required on first launch, start with the installation and subscription import tutorial. Use the download page to install and this guide to make your choice.