Clash Plus
Top pickA good choice for first-time installs and everyday graphical management. Import your configuration after installation, check your proxy groups and rules, then enable the system proxy.
Installer: EXE. Official site: clashplus.io
Choose your operating system, then confirm your CPU architecture. Use a graphical client on desktops and phones; use the Mihomo core on servers, routers, and self-managed services.
Each client card includes a download link. Switch platforms to copy and share the current page URL.
The desktop installers below are primarily for x64. Go to Settings → System → About to check your system type. Windows on ARM devices require separate checks for app compatibility and network service support; an installer launching successfully does not guarantee that TUN will work.
A good choice for first-time installs and everyday graphical management. Import your configuration after installation, check your proxy groups and rules, then enable the system proxy.
Installer: EXE. Official site: clashplus.io
For users who need subscription management, overrides, and service mode. Before enabling TUN, check the client’s instructions for service components and administrator permissions.
For users who want a similar experience on desktop and mobile. When switching clients, import your Profile and recheck the proxy port used by the new client.
AMD64 and x64 refer to the same architecture; neither is limited to AMD processors.
A graphical desktop interface for managing configurations. Suited to users with an existing configuration who want to inspect rules and connection logs; you’ll still need to import a valid configuration on first launch.
Quit your current client before switching to avoid conflicts over the system proxy and listening ports.
Archived download for legacy compatibility and configuration migration. For new installs, choose a maintained client above. Don’t use legacy core behavior as a compatibility baseline for new configurations.
When migrating, keep your subscriptions and local rules. Don’t overwrite the new client’s data directory with the old program’s files.
| Check | Before installing |
|---|---|
| System and architecture | Use a supported version of Windows. This page primarily offers x64 / AMD64 packages; check the installer for the minimum supported OS version. |
| Permissions and components | Standard proxy mode and TUN have different permission requirements. Installing services or creating a virtual network adapter may require administrator approval. |
| First launch | Quit other proxy clients, check whether the actual listening port (such as 7890) is in use, then import your configuration. |
If the system proxy is enabled but an app still connects directly, first check whether that app honors the system proxy. Command-line tools, games, and apps with their own network stack may need a separate proxy setting or TUN. Test one traffic-routing method before enabling another.
Open About This Mac from the Apple menu to check whether your Mac has Apple silicon or an Intel processor. Downloads are listed for each type below. For some clients, both listed options currently point to the same x64 file, marked as a compatibility build—not a native ARM64 build.
Choose the DMG for your processor. After installation, move the app to Applications. The first time you enable network routing, follow the system prompts to grant permission.
Official site: clashplus.io
For centralized subscription and local override management. Both downloads currently use x64 files; Apple silicon users should check compatibility with Rosetta and related services first.
For a native ARM64 build, choose a client on this page that explicitly offers one.
Use the graphical interface to import configurations and switch outbounds. The current download is AMD64; the Apple silicon option is a compatibility build, so check system support before installing.
After switching from another client, recheck system proxy and DNS settings instead of assuming the old client’s routing settings still apply.
Archived for legacy macOS systems. Both downloads are x86_64 files, so Apple silicon requires a compatible runtime environment. For new installs, consider a client listed above.
Verify protocol support, rule fields, and system compatibility separately for archived versions.
| Check | Before installing |
|---|---|
| Chip type | Apple M-series chips use ARM64; Intel processors use x86_64. A compatibility build is not a native build. |
| macOS version | Minimum macOS requirements vary by client release. If you’re told your system is too old, check the app’s requirements instead of bypassing them. |
| Network permissions | Service mode, network extensions, and VPN authorization depend on the client. After granting permission, check that traffic routing is active. |
If you see a Keychain password prompt, check who is requesting access and why. Distinguish your Mac login password from a proxy subscription password. After installation, don’t run multiple clients that route network traffic at the same time. If you lose connectivity, stop the current routing method, restore the system proxy settings, and then check the logs.
Most recent phones use ARM64, but a 64-bit-capable processor doesn’t guarantee that the OS is 64-bit. Check your device’s system information before choosing an APK. The first connection usually requires VPN permission; make sure the permission prompt names the client you’re using.
ARM64 installer for importing subscriptions, choosing proxy groups, and managing connections on your phone. Confirm the configuration loads successfully before connecting.
Official site: clashplus.io
Available for ARM64, 32-bit ARM, and universal Android devices. Choose the matching architecture when known; otherwise, try the universal build and follow any installation prompts.
After importing, check when the configuration was last updated. An outdated subscription may contain unavailable outbounds and affect your first connection test.
A good choice if you want a similar configuration workflow on desktop and mobile. Choose the ARM64 or ARM build for your Android architecture, then review the mobile traffic-routing settings after importing.
If the connection drops when the screen locks, check your device manufacturer’s battery settings for background activity restrictions.
Universal Android APK. Surfboard uses a different configuration format from Clash YAML. Confirm the format with your configuration provider before importing; not every Clash file is compatible.
When switching clients, import a configuration supported by the new app. Changing a file extension alone can cause parsing errors.
| Check | Before installing |
|---|---|
| Architecture labels | arm64-v8a is ARM64; armeabi-v7a is 32-bit ARM. |
| Installation permission | Grant install permission only to the browser or file manager you’re using, and revoke it afterward if you wish. |
| VPN routing | Make sure no other VPN app is already routing traffic. Grant VPN permission when prompted during the first connection. |
If you see “App not installed,” check the architecture, Android version, and available storage, then check for a signing conflict with an installed app. Don’t immediately delete the old app just to install the new one; export your configuration first to avoid losing local rules and settings.
Get Clash Plus from the App Store. On the product page, check compatibility with your device and review the app details before installing. The app and proxy service are separate; you’ll still need a valid configuration for first use.
Install from the App Store, import a subscription or configuration file, then follow the iOS prompts to add a VPN configuration. Before connecting for the first time, check the selected Profile and proxy group.
Official site: clashplus.io
| Check | Before installing |
|---|---|
| Device compatibility | Check the App Store listing for the current minimum iOS version and supported devices. |
| Configuration source | Prepare a valid subscription or local configuration. Installing the client alone does not provide a working proxy outbound. |
| Connection permission | Allow the client to add a VPN configuration. Avoid starting another app that routes traffic through a VPN at the same time. |
If the status says connected but an app can’t access its destination, don’t rely on the status bar alone. Check Rule mode, the selected proxy group, and whether the configuration is valid, then review the app’s connection log. Subscription URLs may contain credentials, so hide the full URL in screenshots and support requests.
The desktop clients below are for AMD64. Debian and Ubuntu typically use DEB packages; Fedora and similar distributions typically use RPM. Check your distribution’s package system before downloading. For ARM servers and routers, see the core downloads below instead of installing a desktop package for the wrong architecture.
For users who need desktop subscription management and rule switching. Choose DEB or RPM for your distribution and let the system package manager handle dependencies.
The desktop system proxy and terminal environment variables are separate. Terminal apps may need additional proxy configuration.
AMD64 DEB package for graphical clients on Debian-based desktops. Before installing, check system dependencies and make sure a desktop session is available.
On a headless server, use the Mihomo core and manage the service lifecycle yourself.
| Check | Before installing |
|---|---|
| CPU architecture | Run uname -m; x86_64 matches the AMD64 desktop package on this page. |
| Package manager | Use your distribution’s package manager to install the local package. Check any dependency errors instead of forcing installation while ignoring them. |
| Traffic-routing permissions | TUN uses a virtual network interface and changes routes, so it requires appropriate permissions. Before making remote changes, prepare a way to roll them back. |
Desktop apps may use the system proxy, but shells, service processes, and containers might not inherit the same settings. To proxy terminal traffic, first check the address and port the client is listening on. Don’t assume a local loopback address is reachable from a container or another machine.
Mihomo is for users managing network services on servers and routers. Core downloads don’t include a desktop configuration interface; you’ll need a config.yaml, a launch method, and permission settings. Most desktop and mobile users should choose a graphical client above.
| System | Architecture and format | Supported environment | Download |
|---|---|---|---|
| Windows | AMD64 · ZIP | 64-bit x86 command-line or service environments | Download AMD64 |
| Windows | ARM64 · ZIP | Native Windows ARM64 environments | Download ARM64 |
| macOS | Intel AMD64 · GZ | Intel Mac command-line environments | Download for Intel |
| macOS | Apple Silicon ARM64 · GZ | Apple silicon Mac command-line environments | Download for Apple silicon |
| Linux | AMD64 · DEB | AMD64 package management on Debian-based systems | Download DEB |
| Linux | AMD64 · GZ | x86_64 servers and self-managed services | Download AMD64 |
| Linux | ARM64 · GZ | AArch64 servers and compatible devices | Download ARM64 |
| Linux | ARMv7 · GZ | Devices with a compatible ARMv7 instruction set | Download ARMv7 |
| Linux | MIPS-softfloat · GZ | Firmware environments with MIPS soft-float | Download MIPS |
| Check | Before you start |
|---|---|
| File format | Extract ZIP files first. Extract GZ files to get the binary. On Linux and macOS, set execute permissions if needed. |
| Configuration directory | Prepare a readable configuration file and rule resources. Validate the configuration with mihomo -t -f config.yaml. |
| Network and permissions | Check listening ports, firewall rules, and TUN permissions. Keep the external control interface accessible only from trusted environments. |
First, run Mihomo in the foreground to validate the configuration, then hand it over to your system service manager. Changing TUN, default routes, or DNS remotely may disrupt your current SSH connection, so keep a rollback path. The external controller commonly uses port 9090, but the actual port is set in the configuration; don’t expose it directly to the public internet. For proxy groups, rule sets, and DNS options, see the Advanced configuration guide.
Add a subscription link on the subscriptions or configuration page, or import a local YAML file. Make sure the import isn’t a web page, then check the configuration name, last updated time, and proxy groups. The client doesn’t include a proxy service, so you can’t test a connection without a configuration.
Start with Rule mode and select an available outbound for the proxy groups used by your rules. Global mode isn’t a fix for every connection issue: it changes routing, but won’t fix an expired subscription, invalid credentials, or an unreachable server.
On desktop, check the system proxy; on mobile, confirm VPN permission. Visit the service you want to test, then check the connection log for the matched rule and actual outbound. If there’s no connection log entry, first check whether traffic from the app is reaching the client instead of repeatedly switching nodes.
Before upgrading an existing client, save your Profile, local overrides, and rule-set references, then quit the old app before installing. When switching clients, migrate only configuration that’s known to be compatible. Recheck system proxy, service mode, and TUN permissions in the new client. View system proxy setup.
Graphical clients handle subscription imports, settings, and connection details; the core handles proxying and traffic routing. Client and core versions may differ, and a UI update doesn’t guarantee support for every configuration field. If a field fails to parse, check the current core logs instead of judging compatibility by the app name alone.
Archived clients are for legacy systems and migration reference. For a new device you plan to use long term, choose a maintained client. When migrating an old configuration, keep the original and check protocol, proxy group, and rule provider syntax. Don’t run multiple clients that compete for the system proxy, and never publish a configuration containing subscription credentials.
View proxy group configuration guide →For desktop and mobile devices, start with a graphical client. Try Clash Plus on Windows, macOS, Android, or iOS, and Clash Verge Rev on Linux. The Mihomo core is mainly for servers, routers, and self-managed services; you’ll need to manage its configuration files, launch options, and system service separately.
Check your device’s system information to confirm its CPU architecture. On Windows and Linux, x64 and AMD64 refer to the same architecture. On Android, arm64-v8a means ARM64, while armeabi-v7a means 32-bit ARM. The universal build is a fallback when your Android architecture is unclear. On Apple silicon, check whether a download is a native build; a compatibility build is not the same as a native ARM64 build.
The installer provides the client app, not a proxy service. Import a valid subscription link or local configuration file, make sure a proxy group has an available outbound, then enable the system proxy or authorize VPN access. For your first test, use Rule mode and check the connection log for the matched rule and actual outbound.
Keep your current Profile, local overrides, rule-set references, and any client settings you need. Quit the old client before running the installer. After upgrading, check the mixed proxy port, system proxy, TUN, and DNS settings. When switching clients, import the configuration file instead of overwriting the entire app data directory.
These clients remain available here as archived downloads for legacy compatibility and configuration migration. They are not actively updated, so check their core features, protocol support, and system compatibility separately. For a new installation, choose a client that is still maintained.
Check your browser’s download history and confirm the file was saved completely, then make sure its architecture matches your system. If you see a permissions warning, review the specific reason shown by your system instead of disabling security protections. If the problem persists, note the client name, OS version, architecture, and error message, then follow the troubleshooting guide.