Choose by operating system, architecture, and installer format. Start with a GUI client on desktop or mobile; see the standalone core for servers and routers.
This page brings together download links for multiple projects. Client interfaces, cores, and subscription services are separate; installing a client does not provide a working proxy configuration.
WINDOWS / X64 / EXE
Windows clients
For a first install, start with Clash Plus. The desktop installers below are primarily x64 builds for compatible Windows systems. Check your system type under “Settings → System → About.” On ARM devices, confirm the app supports emulation; an x64 installer is not a native ARM64 build.
A good fit for importing configurations and switching settings in a GUI. After installation, import a subscription or YAML file, confirm that proxy groups are available, then enable traffic routing. Before migrating an old setup, keep a local backup so you don’t mistake client-specific overrides for the original subscription content.
For desktop users who want to manage configuration files, rule overrides, and service mode. System proxy and TUN are different ways to route traffic. Test browser connectivity with the system proxy first, then enable TUN if needed. If something breaks, revert one setting at a time to isolate the cause.
A good fit if you want a consistent workflow across devices. AMD64 in the installer name refers to the same architecture commonly called x64; it does not require an AMD processor. On first launch, check the selected configuration and proxy mode rather than relying on the previous client’s status.
Another desktop interface for managing configurations. Before switching clients, exit the existing proxy app to prevent processes from competing for listening ports or repeatedly changing the system proxy. If you use custom rules, check the merged configuration and logs after migration—not just whether the subscription appears in the list.
For reproducing existing setups, migrating configurations, or referencing the old interface. This archived app is no longer regularly updated for new systems or configuration fields. A subscription importing successfully doesn’t mean every protocol or rule is supported. For a new setup, consider one of the clients above; export your configuration before upgrading an existing installation.
Status
Archived project
Best for
Reviewing and migrating older setups
Windows requirements and installation checks
Category
Before downloading
After installation
System and architecture
Use a supported version of Windows 10 or 11 where possible. Check the client installer for its minimum version requirements.
The available installers are x64. Confirm that the app launches successfully.
Permissions
Running the interface and installing a service may require different permissions.
Grant permissions for TUN or service mode when prompted. You don’t need to run every app as an administrator.
Traffic routing
Exit other clients that are managing the system proxy.
Check the proxy port and system proxy address. For problems with Store apps, see the UWP loopback guidance.
If Windows blocks the installer, check the publisher, file source, and specific reason shown in the prompt. Don’t disable security features across the board. If only UWP apps have connectivity issues, see the UWP loopback exemption troubleshooting guide.
MACOS / APPLE SILICON / INTEL
macOS clients
Open About This Mac from the Apple menu. Choose a native ARM64 build for Apple silicon and an x64 build for an Intel Mac. Some projects currently offer only x64 files; the listings below show the actual package architecture and don’t describe compatibility options as native support.
Separate DMG installers are available for both Mac processor types. Open the disk image and follow the prompt to move the app to Applications, then launch it from there. After importing a configuration, check the proxy port and traffic-routing status. If macOS requests network extension or service permissions, review each prompt in System Settings.
Both download options currently point to an x64 DMG. Apple silicon users should check Rosetta compatibility. This client supports subscription management, configuration merging, and service mode. If the app opens but doesn’t route traffic, check the system proxy and service status before reviewing configuration rules. Don’t reinstall macOS networking components as a first step.
Package architecture
x64
Compatibility note
The Apple silicon option is not a native ARM64 build
Both options currently point to the same AMD64 disk image. Apple silicon users should check Rosetta compatibility. After installation, check the configuration, mode, and traffic-routing permissions one by one. When migrating from another client, you can reuse the subscription URL, but local overrides and interface settings may not carry over automatically.
Kept for older menu bar workflows and configuration migration. Both options currently provide x86_64 files; check Apple silicon compatibility separately. This archived project is not guaranteed to work with newer macOS releases. If you plan to use a current system long term, consider one of the clients above.
Status
Archived project
Package architecture
x86_64
macOS requirements and installation checks
Category
Requirements and notes
macOS version
Minimum macOS versions vary by app. Check the app’s release notes and macOS installation prompts; DMG format alone doesn’t indicate compatibility.
Processor
Use ARM64 for Apple silicon where available; x64 apps require Rosetta. Intel Macs use x64 builds.
Installation and permissions
Move the app to Applications before launching. Grant service or network-routing permissions as needed; don’t run it long-term from the disk image.
Before switching clients, turn off the old app’s system proxy and then exit it. If you delete an app while it’s still routing traffic, the system proxy may keep pointing to a local port that is no longer listening.
ANDROID / APK / VPN SERVICE
Android clients
Most recent phones can start with an ARM64 build, but a 64-bit processor doesn’t guarantee the system provides a 64-bit app environment. If you’re unsure, check your device’s system information or use a universal package if the client offers one. Android typically allows only one app to use the system VPN interface at a time.
An arm64-v8a APK is available. Once downloaded, open it with the system installer. Grant install permission only to the browser or file manager you’re using. After importing a configuration, approve the VPN connection request when prompted, then check that both your browser and target apps can connect.
Packages are available for different architectures, with explicit control over configuration files and app-level routing. After importing a subscription, make sure to select that configuration. If the connection drops when the app is in the background, check battery management and background activity restrictions before changing subscriptions repeatedly.
Choose arm64-v8a or armeabi-v7a based on your device. You can manage configurations and proxy ports separately across devices. Mobile traffic routing requires Android’s VPN permission; don’t follow the desktop system proxy steps. For updates, use the same app and signing source whenever possible.
Surfboard uses a different configuration syntax, so you can’t import arbitrary Clash YAML files as Surfboard configurations. Before choosing it, confirm that your subscription provider offers a compatible format, especially for proxy groups, rules, and DNS fields. If the formats don’t match, get a compatible configuration instead of simply changing the file extension.
Package
Universal APK
Configuration
Check Surfboard format compatibility
Android requirements and installation checks
Category
Requirements and notes
System and ABI
Minimum Android versions vary by app. The package architecture must match an ABI supported by your system; the processor model alone isn’t enough.
Install permissions
Allow installs from the current source if needed. If there’s a signature conflict, back up your configuration and confirm the app’s source before deciding whether to migrate.
Background operation
Connections require Android VPN permission. If the connection drops in the background, check battery optimization, background activity permissions, and other VPN apps.
“App not installed” can mean an architecture mismatch, an unsupported Android version, or a signature conflict. Note the full error message and troubleshoot each cause in turn. Uninstalling may remove local configuration, so first check whether subscriptions and rules can be exported.
IOS / APP STORE
iOS clients
Check the App Store for Clash Plus device compatibility, system requirements, and installation options. After installation, import a compatible subscription or configuration. Approve the system VPN configuration request when you connect for the first time. Installing the app, importing a configuration, and authorizing the connection are separate steps.
Use the App Store compatibility details to check whether the app supports your device. After importing a configuration, confirm the selected proxy group before connecting. If problems occur only on a particular Wi-Fi network, compare it with mobile data and check DNS and connection logs. This helps distinguish local network restrictions from an installation problem.
Import a configuration → Choose a proxy group → Authorize the connection
iOS requirements and installation checks
Category
Requirements and notes
Device compatibility
Check the supported devices and minimum system version listed on the App Store page.
Network permissions
When you first connect, follow the system prompt to add a VPN configuration. Managed devices must also comply with their device management policies.
Prepare a configuration
Have a working subscription or compatible configuration ready. Select the configuration and proxy group before connecting.
LINUX / AMD64 / DEB + RPM
Linux GUI clients
For desktop systems, start with a GUI client. For servers and routers, see the Mihomo core. Run uname -m to check the architecture, then choose DEB or RPM for your distribution. Packages on this page are AMD64 and can’t be installed directly on ARM64 systems.
DEB packages are for Debian-based systems such as Debian and Ubuntu; RPM packages are for systems such as Fedora. Let your package manager handle dependencies. A desktop system proxy may not affect terminal programs, so check your shell’s proxy variables or configure TUN if command-line apps need routing.
For DEB desktop systems that meet the architecture and dependency requirements. If the interface won’t launch after installation, start it from a terminal and check for dependency or graphical session errors before changing proxy rules. Headless servers don’t need a full desktop environment just to run a proxy.
Architecture
AMD64
Format
DEB
Linux requirements and installation checks
Category
Requirements and notes
Processor
When uname -m returns x86_64, choose the AMD64 package here. For other architectures, see the corresponding core download.
Runtime environment
GUI clients require a desktop session and its runtime dependencies. Check the package manager and the client’s release requirements for details.
Routing permissions
TUN requires a compatible device and network permissions. In a terminal, you can also use a local HTTP / SOCKS proxy if your application supports it.
Install local packages with your distribution’s package manager, and quote file paths that contain spaces. For details on running a persistent service and configuring the terminal, see the Linux desktop and headless Mihomo setup notes.
MIHOMO / CLI / SERVICE
Standalone Mihomo core
For server and router users comfortable managing configuration directories, process permissions, and services. The core reads YAML and handles traffic; it doesn’t provide a full desktop interface. Most users should choose one of the GUI clients above. With a standalone core, you manage the configuration and updates yourself.
Mihomo core architectures and file formats
Match the operating system first, then the CPU, bitness, and runtime environment. ZIP and GZ files need to be extracted; install DEB files with a package manager. For routers, check the firmware ABI, floating-point convention, and available storage. Don’t choose a package based only on the brand or processor family.
Prepare a valid config.yaml and make sure the runtime user has the required permissions for the configuration, cache, and log directories.
Ports and interfaces
Make sure mixed-port is available. Bind the control API to the local loopback address where possible; don’t expose it directly to the public internet.
TUN and services
Grant the required network permissions for your system, confirm the TUN device is available, then configure systemd or another service manager.
On Linux, extract the binary and name it mihomo. Use the command below to test the configuration, then run it in the foreground and review the startup output. A successful test only confirms that the configuration can be parsed; you still need to check proxy groups, DNS, and the actual network path.
A successful installation only confirms that the app is deployed. Follow these steps to distinguish installation, configuration, and traffic-routing issues.
Import first, then test traffic routing
Create a configuration using a subscription URL or local YAML file. Confirm that the client has selected it, then choose an outbound proxy in a proxy group. Rule policies must match the actual proxy or group names. If a policy can’t be found, fix the reference rather than hiding the configuration error by switching to global mode.
On desktop, first test a browser that respects proxy settings using the system proxy. If other apps also need routing, consider TUN, DNS, and permissions next. On mobile, start by granting the system VPN permission. Change one setting at a time and check the logs or connection history so you can compare results while troubleshooting.
Before upgrading the same client, back up local configurations, custom rules, and overrides. When switching clients, also record ports, routing mode, per-app settings, and auto-update intervals. Different clients may use different settings directories, so copying the entire old directory may not complete the migration.
Exit the old client before enabling the new one to prevent conflicts over the system proxy or TUN. If the app won’t start after an upgrade, check the error and runtime environment. If it starts but can’t connect, check configuration loading, listening ports, DNS, and rule matches. Version details on this download page appear only when valid data is available; package filenames and project version labels may differ.
Architecture, configuration imports, and upgrade preparation. For other connection issues, visit the Help Center.
Which client should I download first?
Start with Clash Plus for Windows, macOS, Android, and iOS; for Linux, start with Clash Verge Rev. Match your operating system and CPU architecture, then compare subscription management, system proxy, and TUN settings. Most desktop and mobile users should choose a GUI client.
What’s the difference between ARM64, x64, and universal builds?
x64, AMD64, and x86_64 generally refer to the same 64-bit desktop instruction set. ARM64 is a different CPU architecture; Android packages often label it arm64-v8a. Universal APKs include multiple architectures and are usually larger. Check your device’s system information and the package architecture shown beside the download button.
Why might the Apple Silicon download for macOS be an x64 build?
In the current download list, Clash Verge Rev, FlClash, and archived ClashX Meta map both Mac download options to the same x64 installer. These are not native ARM64 builds; Apple Silicon users should check Rosetta compatibility. For a clearly labeled ARM64 installer, choose the corresponding Clash Plus download.
Do I need to import a subscription after installing?
The installer provides the client app, but proxy connections still require a working subscription or configuration file. After importing it, select a configuration and proxy group, then enable the system proxy or the client’s VPN mode. Keep subscription URLs private. If updates fail, check that the link is valid and the configuration format is supported.
What should I save before upgrading a client?
Back up local YAML files, subscription entries, custom rules, and override settings. Note your listening port and traffic-routing mode. Exit the old client before installing the update, and let only one client manage the system proxy or TUN at a time. After upgrading, test configuration loading, then check DNS, rule matching, and app connectivity.
What’s the difference between the Mihomo core and a GUI client?
Mihomo is the core that reads configuration and handles proxy traffic. It’s typically managed through the command line, a service, or a control API. GUI clients provide interfaces for importing configurations, switching modes, and viewing connection logs, and may bundle a core. Servers and routers can use the standalone core; most users are better served by a GUI client.