Clash Plus, Clash Verge Rev, and FlClash: Choosing a Client After the Shutdown
Compare leading Clash clients by core support, usability, TUN features, and platform availability, then find the right fit for your setup.
Narrow down your options by platform and use case
The original Clash for Windows project has been discontinued. Keeping an existing setup running and choosing a client for a new PC are two different tasks. For the former, back up your configuration and check compatibility. For the latter, start by checking whether the project is still maintained and whether its installer supports your OS, then confirm that your subscription parses correctly. Matching the old CFW interface should come after all of that.
If you just need a starting point, narrow down your options by choosing one of these three scenarios. This is a comparison of workflows, not a speed ranking: switching interfaces on the same connection does not increase your available bandwidth.
- Mostly use Windows desktop and regularly inspect rules and connections: Try Clash Verge Rev first. Check whether its subscription management, connection details, and service mode suit the way you work.
- Want a similar experience on your phone and computer: Consider Clash Plus and the FlClash family, but check maintenance status, permissions, and feature availability separately for each platform.
- Only need a proxy for your browser: Start by testing the system proxy. Consider TUN only if apps such as games or command-line tools ignore the system proxy; there is no need to enable every advanced option at once.
Platform availability and interface comparison
Choose your device first, then compare features. The platform coverage below reflects the categories on our download page; it does not mean every platform offers identical configuration editing, background operation, or traffic-routing capabilities. Check the release notes for the actual installation requirements.
| Client | Platforms listed on this site | What to check first | Limitations |
|---|---|---|---|
| Clash Plus | Windows、macOS、Android、iOS | Importing subscriptions, switching proxy groups, and granting proxy or VPN permissions on each OS | Mobile and desktop platforms have different permission and background-operation models |
| Clash Verge Rev | Windows、macOS、Linux | Configuration management, connections and logs, service mode, and TUN settings | Primarily for desktop use; no Android or iOS download listed on this site |
| FlClash family | Our FlClashs listing covers Windows, macOS, Linux, and Android | Differences between mobile and desktop workflows, subscription updates, and background operation | Distinguish upstream releases from forks before downloading; check the core and release history for each |
Windows: Check whether connection details are useful
When troubleshooting on desktop, the connection list is often more useful than the theme. Open a website and check the domain, matched rule, and selected policy in the connection details. If all you can see is “Connected” and you cannot tell which node was used, diagnosing routing issues becomes much harder. In Clash Verge Rev, work through Configuration, Proxies, Connections, and Logs in that order. Menu labels may vary slightly between versions.
Mobile: Check background operation and OS restrictions
Android clients typically route traffic through the system VPN interface, which prompts you to grant permission on first launch. iOS is also subject to network extension and background-operation restrictions. A VPN icon on your phone does not mean every connection goes through a remote node, nor does it mean your subscription provides a traditional corporate VPN service. Routing and traffic rules determine what happens.
If you need to connect to a company VPN, first check whether it can run alongside the proxy client. On phones in particular, two apps that use the system VPN channel often cannot work side by side as expected. On desktop, routes, DNS, and virtual adapters can also conflict. “Supports TUN” does not mean “works with every VPN.”
Core compatibility matters more than the interface name
The client handles the window, subscription management, and OS integration; the proxy core handles protocol connections, rule matching, and traffic processing. mihomo grew out of the Clash.Meta project and is not simply interchangeable with the legacy Clash core. Clash Verge Rev and common FlClash builds use mihomo, but check the core version in the installed build rather than relying on the client name.
For Clash Plus, check the core and protocol support stated for the current platform build as well. Being able to import a Clash-format subscription does not prove that every mihomo extension field is supported. If a subscription uses newer protocols, transport options, or rule features, an older core may fail to parse it or may ignore some fields.
- Record both versions: Note the app version and core version separately from the About page, core information, or startup logs. The app name alone is rarely enough when reporting an issue.
- Check the import logs: If you see an unknown proxy type, a field parsing error, or a configuration validation failure, find the relevant error first. Repeatedly toggling the system proxy will not fix it.
- Confirm the subscription format: If your subscription provider offers separate Clash and mihomo formats, choose the one that matches your current core rather than changing URL parameters at random.
- Verify an actual node: Seeing a proxy group does not mean its nodes work. Select a node, visit the target service, and check whether the connection matched the expected policy.
Compare system proxy and TUN separately
The familiar CFW setting is General → System Proxy. When enabled, apps that follow the Windows system proxy connect to the local proxy port. The “System Proxy” setting in a newer client serves a similar purpose, but its location and default port may differ. Do not assume the old 127.0.0.1:7890 is the address the new client actually listens on.
System proxy: Get your browser working first
In Windows 11, open Settings → Network & internet → Proxy. Check the manual proxy address and port, then compare them with the port shown in the client. For example, the client may listen on 7890 while Windows still points to the old app’s 7897, leaving you unable to browse even though the client is running. These ports are examples for troubleshooting, not shared defaults for all three clients.
TUN: Routes traffic; it does not force every connection through a proxy node
TUN creates a virtual network interface and uses routing rules to send in-scope traffic to the core. Once there, rules can send traffic direct, through a proxy, or block it. “TUN enabled” and “global proxy mode” are separate settings. TUN does not automatically capture every packet: route exclusions, IPv6, and other network adapters can all affect what gets routed.
- Windows: Check that service mode or its supporting permission component is installed and running. Launching the interface as an administrator once does not necessarily install the background service correctly.
- DNS: Make sure the configured DNS method, DNS hijacking scope, and virtual adapter settings work together. Do not switch randomly between fake-ip and redir-host just because a domain fails to load.
- UDP: TUN can route some UDP traffic into the core, but whether it can be forwarded still depends on the node protocol, server configuration, and network conditions.
- Test it: Connect from an app that does not normally follow the system proxy, then check the client’s connection list. A changed toggle color alone does not confirm success.
You can run the same checks for each client you are considering: turn TUN off and test a browser with only the system proxy enabled, then enable the service and TUN according to that version’s documentation and test the target app. If the first step fails, troubleshoot the subscription, port, and node before investigating virtual networking.
Moving from CFW: Keep your configuration, not the old runtime setup
In the old setup, Profiles manages configurations, Proxies switches policies, and Connections shows active connections. Look for equivalent features in the new client, but do not copy the entire old folder over the new app’s directory. The interface database, service paths, and extension script formats may differ; a successful copy does not mean the files will work.
- Back up first: Save your subscription source, local YAML files, custom rules, and any changes made through the old version’s Mixin or Parsers. Keep sensitive configuration in a secure location.
- Stop the old instance: Turn off System Proxy and TUN in CFW, then exit the app. If you installed a background service, make sure it is no longer occupying a port or controlling routes.
- Import the original subscription: Add the subscription or import a local file in the new client. Start with the original configuration; do not migrate every override at once.
- Check the mode and policies: Start with rule mode, then check your proxy group selections. If group names have changed, the old client’s saved node selections may not carry over.
- Restore customizations in stages: Migrate one set of rules or one override at a time, then update the subscription and confirm the changes still apply.
Editing a downloaded configuration directly can mean your changes are overwritten the next time the subscription updates. Use the override or merge mechanism provided by the new client, then inspect the merged configuration. Clients can handle array replacement, appended rules, and field precedence differently. Pasting an old script as-is may look successful in the interface while leaving the rules inactive.
If both the old and new apps listen on 7890, whichever starts second may report a port conflict. Exit the old instance or temporarily assign the new app an unused port. After changing it, check the system proxy and command-line environment variables too. Changing a number in the configuration alone does not update every app.
Test under the same conditions: Compare stability and troubleshooting effort
There is no universal speed ranking for these clients independent of the network connection. Compare them on the same device, network, node, target service, and rule mode. Use the same latency-test URL too; otherwise, the displayed numbers may come from different requests and are not directly comparable.
| Check | How to test | What to record |
|---|---|---|
| Cold start | Exit and relaunch the app 3 times | Whether the configuration loads, the service is ready, and the port is listening correctly |
| Resume from sleep | Put the computer to sleep, wake it, and visit the same website | Whether DNS, the system proxy, and TUN recover, and whether you need to reconnect manually |
| Subscription update | Run one manual update and inspect the merged configuration | Whether local rules remain and proxy group selections change |
| Sustained browsing | Use the same target service continuously for about 10 minutes | Whether the connection drops, which policies connections match, and any related log errors |
The counts and durations in the table are suggested test steps, not results measured by this site. To compare throughput, run tests one at a time so multiple downloads do not compete for bandwidth. Also make sure DNS mode, sniffing, and rules are consistent; otherwise, you may be comparing two different routes.
Make your choice and know when to roll back
- For regular Windows desktop use: Try Clash Verge Rev first. Include service mode, connection details, subscription overrides, and recovery from sleep in your acceptance checks; do not judge it only by whether the first connection works.
- Need both mobile and desktop: Compare how Clash Plus and the FlClash family actually work on each of your devices. Verify the download source, platform build, and core information; do not assume desktop settings sync fully to your phone.
- Rely on complex rules or newer protocols: Check core support before choosing an interface. A configuration that validates, rules that match, and logs that help explain issues matter more than the client’s name.
- Still rely on CFW for a specific task: Keep a configuration backup and validate the new client independently before migrating. With the original project discontinued, you cannot count on future fixes for OS compatibility or protocol support.
After migration, exit the new client, make sure the Windows proxy settings have been restored, and restart it once to verify. If 127.0.0.1 is still set as the proxy after exit and nothing on your computer is listening on that port, regular websites may stop loading. Make it your everyday client only after it routes traffic correctly, shows where connections are going, and exits cleanly. For more on individual fields, see the configuration reference. Check platform and installation requirements in the client comparison.