On a Mac, check your chip in About This Mac before choosing an installer. Switch platforms for other devices. For a first-time setup, start with a GUI client; standalone cores are for users managing their own deployments.
The GUI clients below provide x64 installers. Check your system type under Settings → System → About. On ARM devices, confirm that Windows can run x64 apps.
A good starting point for a first setup. After installation, import a subscription or local configuration, then choose a rule mode and proxy group. System proxy and TUN handle traffic differently. For browser use, start with the system proxy and enable enhanced mode only if needed.
For users who want to manage configuration, rule overrides, and core status. When migrating an existing setup, check custom ports and external controller settings first. Service mode or virtual network adapters may require system permissions; review each prompt before proceeding.
For users who want a similar workflow across desktop and mobile. AMD64 and x64 generally refer to the same instruction set; this build is not limited to AMD processors. You'll still need to configure subscriptions, proxy groups, and traffic routing separately.
Offers another desktop interface for managing configurations. Existing users can stick with the organization they're used to. When switching from another client, distinguish the original subscription from client-specific settings: interface preferences and local overrides may not transfer with the subscription.
Kept for migrating existing setups and referencing older configurations. This client is discontinued and should not be expected to support new protocols, newer systems, or security fixes. For new devices, choose a maintained client; check core compatibility before reusing an old configuration.
Windows installation requirements
Check
What to look for
OS and architecture
Use a 64-bit Windows release that still receives security updates. Check the installer for its minimum supported version.
Permissions
Managing configuration and installing services have different permission requirements. Follow the client's prompts for TUN or service mode.
Ports and migration
Quit the existing proxy app before starting a new client to avoid conflicts over mixed ports or repeated changes to system proxy settings.
Mac client installers
Go to Apple menu → About This Mac. If it shows a chip named with an Apple M-series designation, choose the Apple silicon build; if it shows an Intel processor, choose the Intel build. Open the downloaded DMG and drag the app to Applications.
Separate installers are available for Apple silicon and Intel, making Clash Plus a good starting point on a new Mac. After opening the app for the first time, import a subscription, then enable the system proxy in General settings. Set up TUN only if you need to route apps that don't use the system proxy, following the client's instructions.
For users who want to manage configurations and rule overrides in a GUI. After installation, confirm the core starts correctly, then check the system proxy status. Apple silicon users should verify the actual architecture of the downloaded file: the current link points to an x64 build, not a native ARM64 build.
For users already using FlClash on other devices who want a familiar interface. macOS manages system proxy settings, login items, and network permissions separately. Don't apply permission steps from other platforms; the current AMD64 file uses the x64 architecture.
For existing users who rely on a menu bar workflow; the historical download is still available. This client is discontinued, so compatibility with newer macOS releases or protocols isn't guaranteed. Before migrating, save your subscription and local rules, and don't mistake client-specific settings for standard configuration.
macOS installation requirements
Check
Requirement and details
Chip architecture
Choose ARM64 for Apple M-series Macs and x64 for Intel Macs. x64 builds typically need Rosetta on Apple silicon; check app compatibility as well.
OS version
Minimum macOS versions vary by client. Check the installer and release notes; matching architectures doesn't guarantee support for your macOS version.
Install location
Move the app to Applications and launch it from there. Avoid running it long-term from a mounted DMG.
Network permissions
System proxy and TUN permissions are handled separately. If a helper service is needed, verify its source and follow the system prompts.
Android client installers
Most recent phones use ARM64. Check the app ABI on older devices or custom systems. When installing an APK, grant install permission only to the browser or file manager you're using.
For importing subscriptions and everyday use on ARM64 phones. The first time you connect, Android asks to set up a VPN connection; approve it so the client can route matching traffic. Background reliability also depends on battery management, so allow the necessary background activity in your device settings.
For Android users with Clash / Meta configurations. If you know your device architecture, choose the matching build; if you're unsure and your device meets the app requirements, try the universal build. Universal doesn't mean compatible with every Android version. If installation fails, check the OS version, signature, and available storage.
Offers a configuration browsing experience similar to the desktop app. Mobile traffic routing uses Android's VPN interface, which is different from the system proxy toggle on a Mac. If another VPN app is connected, disconnect it before testing FlClash configurations and per-app routing.
Surfboard
Android · Universal APK · Separate configuration system
For users with configurations in the Surfboard format. Surfboard is not a mihomo GUI, and full Clash YAML functionality and field compatibility should not be assumed. Before importing, confirm the subscription explicitly supports this format and check that rules, protocol parameters, and proxy groups are recognized correctly.
Android installation requirements
Check
What to look for
App architecture
ARM64 corresponds to arm64-v8a; 32-bit ARM corresponds to armeabi-v7a. A 64-bit-capable processor doesn't guarantee that the system runs a 64-bit app environment.
Installation and permissions
Check the installer for the minimum supported Android version. Connecting requires approval of the system VPN prompt; manage background activity using your device manufacturer's settings.
Updating an existing install
A different signing key may prevent an in-place update. Back up your configuration before deciding whether to uninstall the old app; don't clear app data before making a backup.
iPhone and iPad clients
Check device compatibility and app details in the App Store before installing. Make sure your subscription format and protocols are supported by the client.
After installation, import a subscription or configuration you are authorized to use. Allow the system to add a VPN configuration when you connect for the first time. Check connection status and rule policies separately: a VPN Connected status means the network extension is running, not that every outbound connection in the subscription is working.
If some apps have trouble connecting after switching between mobile data and Wi-Fi, check the active policy and DNS first, then reconnect. Follow system prompts for background and network permissions; desktop port or service installation steps don't apply.
Check the App Store listing for the current minimum iOS / iPadOS version and supported devices.
Connection permissions
Follow the system prompts to add a VPN configuration the first time you connect. Network settings may be restricted on organization-managed devices.
Configuration setup
Prepare a compatible subscription URL or configuration file. Check the import results and proxy groups, and don't share URLs that contain credentials.
Linux GUI clients
Check your distribution's package format and CPU architecture first. The desktop packages here are AMD64 / x86_64; headless servers can use the standalone Mihomo core.
DEB packages are commonly used on Debian, Ubuntu, and compatible distributions; RPM packages are for distributions using the corresponding package system. Use your distribution's package manager to handle dependencies. Whether desktop apps use the system proxy depends on the desktop environment and app; terminal programs may need separate configuration.
For managing subscriptions and policies in compatible Debian-based desktop environments. If installation succeeds but the window won't open, check the graphical session and dependency messages first. Don't run the entire interface as root long-term. Configure only the permissions required for TUN, following the client's instructions.
Linux installation requirements
Check
What to look for
Processor
These desktop packages are AMD64 / x86_64, not for ARM single-board computers. Run uname -m to check your system architecture.
System dependencies
The app requires a supported desktop session, graphics libraries, and system libraries. Check the package manager for exact dependencies and minimum versions.
Traffic routing
System proxy, terminal environment variables, and TUN are different options. Test one at a time to avoid overlapping rules that complicate troubleshooting.
Standalone Mihomo core
For servers, routers, and users who manage the service process themselves. Desktop users should choose a GUI client above; the standalone core has no subscription management window or menu bar interface.
A GZ file extracts to an executable, not a GUI installer. You'll need to set execute permissions, the working directory, configuration file, and startup method yourself. For the first run, check the configuration in foreground logs before handing the process to a service manager. Avoid repeated automatic restarts if startup fails.
Before upgrading, keep the original configuration and a rollback copy of the executable, and review any field changes. Core support for a protocol doesn't guarantee that a subscription conversion preserves every parameter. After the configuration parses successfully, test rule matching, DNS resolution, and outbound connections.
Check
Deployment requirement
Architecture and environment
Check the CPU, byte order, floating-point ABI, and system support. Similar filenames don't mean builds are interchangeable.
Files and directories
After extracting, confirm the executable has execute permissions, the service account can read the configuration and required resources, and it can write necessary runtime files.
Listening and permissions
Restrict the listening addresses for the controller API and proxy ports. Enable LAN access only when needed, and manage TUN permissions through the operating system.
A successful installation only prepares the app. Confirm that the configuration loads correctly before enabling traffic routing to make troubleshooting easier.
Prepare your configuration. Use a subscription URL you're authorized to access or a local file. After importing, check that proxy groups, rules, and outbound options appear. If the lists are empty, fix the configuration loading issue first rather than repeatedly toggling the proxy.
Choose how to route traffic. On a Mac, start by testing a browser with the system proxy. If terminal commands or other apps don't follow it, check their own settings and configure TUN only if needed. Global outbound mode and system-wide traffic routing are not the same thing.
Test and keep a rollback option. Check connections in your usual apps and review rule matches and error logs. Before switching clients, quit the old one and save its configuration. Remove the old settings only after the new setup is stable.
Which installer should I download for an Apple silicon Mac?
Check your chip in Apple menu > About This Mac. Choose the native ARM64 build for Apple silicon or the x64 build for an Intel Mac. Clash Plus offers separate installers for both. For some other clients on this page, both architecture links currently point to the same x64 file, which typically requires Rosetta on Apple silicon.
After downloading, check the actual filename and the app's requirements. ARM64 describes the program architecture, not the minimum macOS version; a native build may still require a newer OS.
Why might the installer version differ from the version shown in the client?
Client release notes, installer filenames, and version fields in the download manifest may be updated independently. A version appears on this page only when it is listed in the manifest. If the details differ, check the actual filename, the app's About screen, and the relevant release notes. Don't rely on the version shown on a download card to determine architecture or compatibility.
The client version and core version are separate details. If you need a particular protocol or configuration field, confirm that the core actually in use supports it instead of comparing GUI version numbers alone.
What should I do if macOS says the app can't be opened?
Make sure the download is complete, the installer matches your Mac's architecture, and the app has been moved to the Applications folder. If macOS says the developer can't be verified, confirm the download source, then follow the options under System Settings → Privacy & Security. If macOS reports malware or says the app is damaged, stop and verify the source again. Don't disable system security features outright.
If macOS says your system version isn't supported, choose an app compatible with your current version or consider upgrading macOS. Downloading the same file again won't change its minimum system requirements.
Does downloading a client include a working subscription?
The installer provides the client app; it does not configure a proxy service for you. Obtain a subscription link you are authorized to use or a local configuration file, import it, select a proxy group, then enable the system proxy. Subscription URLs may contain credentials, so don't post them publicly or submit them to unfamiliar conversion services.
The subscription format must also be compatible. Clash YAML, other clients' configurations, and encoded node lists aren't fully interchangeable. If an import fails, check the format first, then the client and core support requirements.
Do regular Mac users need to download the mihomo core separately?
Usually not. GUI clients typically bundle the core or include a way to manage it. Standalone builds are mainly for servers, routers, and users who manage configuration, services, and logs themselves. Before upgrading the core, check that your GUI client supports its version and configuration fields.
Downloading the core separately won't add a menu bar interface or migrate subscriptions into your GUI client. If you just need to import configurations and switch proxy groups, use the client's built-in update process.
What should I back up before switching clients?
Save your subscription URL, local configuration, overrides, rule provider settings, and custom ports. Quit the old client and disable its system proxy or TUN before launching the new one. Don't let two clients manage network traffic at the same time. After migrating, test rule mode, DNS, and your usual apps before removing the old client.
Configuration files may contain service credentials, so store backups somewhere secure. If you can't connect after migrating, restore a single client and the original configuration first, then reapply custom settings one at a time.