Mobile setup · Desktop reference

Clash MobileDownload & Setup

Choose a client for your device and follow the setup from importing a subscription to configuring routing rules for Android and iOS.

  • Open-source cores
  • Multi-platform clients
  • Guides in Chinese

Five layers of configuration

Subscriptions, proxy groups and traffic routing

Client interfaces vary, but the setup usually follows the same sequence: load a working profile, choose an outbound and matching rules, then route system traffic through the client. The sections below cover common mobile settings; names may differ by client.

Import a profile, then enable it

View Tutorials

A subscription provides configuration; it does not connect the client by itself. On the profile page, choose import from URL, enter a recognizable name, save, and wait for the download to finish. Then set the profile as active. Check that the source is trustworthy and confirm which subscription format it requires. A link containing only proxy nodes may not include groups or rules. Set the auto-update interval to match the provider’s update schedule; refreshing more often usually won’t improve connectivity. Subscription URLs may contain personal access credentials, so hide them in screenshots. Move local changes to an override rather than editing a remote profile.

Get the app

Choose a Clash client for your operating system

Check your operating system and processor architecture first, then confirm the core features your configuration requires. The same subscription may work in different clients, but interface settings, local overrides and system permissions don’t necessarily carry over. The download page lists available clients and installation methods; each link on the home page takes you to the relevant platform.

Windows

A good fit for users who need tray controls, system proxy support and desktop rule management. Before downloading, check the processor architecture and system requirements. On first launch, test browser connectivity through the system proxy, then enable TUN only if your apps need it. Avoid changing several network settings at once.

Clash Plus, Clash Verge Rev and FlClash each have their own interface and focus. Archived clients are provided only for compatibility with existing setups; check core support before using them with a new configuration.

Download Windows client

macOS

Choose between Apple Silicon and Intel installers first, then pick a client based on the menu bar controls, profile management and traffic capture you need. System proxy and TUN use different permission flows, so consider which feature you’ve enabled when responding to permission prompts.

When migrating, you can reuse the subscription source, but don’t overwrite another app’s settings directory. Keep a record of rule overrides and DNS settings, then disable the old app after verifying the new client.

Download macOS client

Android

Choose an Android APK that matches your device architecture. Most newer phones use ARM64, but check what your device supports. When installing from a browser, grant installation permission only to that source. After opening the client, follow the system prompt to confirm the VPN connection.

Compare how Clash Plus, Clash Meta for Android, FlClash and Surfboard handle configuration. Surfboard uses a different configuration format from Clash YAML, so subscription support alone doesn’t make their files interchangeable.

Download Android client

iOS

On iPhone and iPad, use the download page to open the Clash Plus App Store listing. Check the system requirements shown in the store before installing. Then import your own profile and approve the system VPN permission when you connect for the first time.

Similar client names don’t guarantee identical support for every rule or subscription field. If an import fails, check the configuration format and feature support first. Find product information on the official site at clashplus.io, and follow this site’s tutorials for day-to-day setup.

Download iOS client

Linux

Desktop users can start with Clash Verge Rev and FlClash, choosing a supported package for their distribution. Installing the client doesn’t mean traffic is being captured; check whether the desktop system proxy applies to the apps you want to use.

Server and router setups typically need a standalone mihomo core, service management and routing configuration. Core downloads are listed separately from graphical clients. If you’re unfamiliar with service permissions, DNS and routing tables, start by building a working setup in a desktop GUI.

Download Linux client

First connection

Three steps from installation to verification

View the full tutorial →
  1. 01 / Install and grant permissions

    Open the client and approve system permissions

    Download the installer for your device and install it. Then open the settings page to locate the connection toggle and profile controls. On Android, approve VPN permission when you connect; on iOS, allow the client to add a VPN configuration. Leave network settings at their defaults for now, and don’t enable multiple proxy or filtering apps before the first connection.

  2. 02 / Profile and outbound

    Import a subscription and select the group your rules use

    Add a subscription on the profile page and wait for it to download. Set it as the active profile, then choose an outbound in the proxy group settings. For your first connection, keep rule mode enabled and make sure the group has a working option. If the import fails, check the error and configuration format first. Don’t repeatedly toggle the connection or post your private subscription URL in a public forum.

  3. 03 / Connect and check

    Connect and verify with a real request

    Connect, visit the service you want to use, then check the matched rule and outbound in the connection log. A working browser doesn’t mean every app’s traffic is being captured. If one app fails, check system proxy, VPN or TUN settings separately. Finally, test with the screen off and after switching networks to confirm the background connection meets your needs.

Change one setting at a time when troubleshooting. Note the current mode, proxy group selection and symptoms before adjusting the relevant setting. This helps distinguish configuration, system traffic capture and server-side issues. See Latency and connection checks for node testing, and Auto-start and background operation for Android background settings.

Open-source ecosystem and maintenance boundaries

How Clash, Meta and mihomo relate

Understanding how the projects fit together is more useful than comparing interface names alone. This site collects download links and setup guides; check each client’s project and product pages for its actual capabilities, system requirements and release notes.

From the original core to actively maintained forks

The original Clash core established a way to organize proxy configurations using profiles, proxy groups and routing rules. The original project is no longer maintained, but that didn’t end development across the ecosystem: clients have adopted newer cores or retained existing features. Meta is a major feature-enhanced fork, while mihomo continues development in the same core family. So a client name containing Clash only indicates a connection to this ecosystem; it doesn’t tell you which core it uses, which protocols it supports or how compatible its configurations are.

When reading a tutorial, first check whether it covers the core or the client interface. References to YAML fields usually concern the core, while steps for tray controls, profile overrides and background permissions concern the client and operating system. Keeping these settings separate helps avoid looking for desktop-only menus in a mobile app or adding an app-specific local option to a subscription profile.

GUI and core updates are independent

Graphical clients such as FlClash and Clash Verge Rev provide subscription management, proxy group selection and system traffic capture around a core. An interface update may only change how the app works, or it may also replace the core. Core updates can change protocol support, DNS behavior or field requirements. Choose a client based on whether it explicitly supports the features you need, not on its name alone. Compare the details in the Client Selection Guide.

Mobile clients are also constrained by operating system background policies and network extension permissions. Don’t assume that scripts, process matching or system integrations available on desktop are also available on phones. If you reuse a configuration across devices, keep shared rules in the configuration and set battery optimization, startup behavior and system proxy options separately in each client.

Check configuration compatibility field by field

Using YAML doesn’t mean different cores can fully read the same configuration. Protocol names, transport parameters, rule sets and DNS fields may not be supported everywhere. If an import reports an unknown field or unsupported proxy type, save the error and check the core’s capabilities. Removing fields without understanding them may let the profile load while changing its routing or DNS behavior. Subscription conversion also works only for features the target format can represent.

There’s no one-size-fits-all protocol ranking. Network quality, server implementation, transport and your phone’s wireless conditions all affect performance. To compare connection stability and battery use, keep other conditions consistent and monitor real requests, reconnects and background activity. The technical reference covers protocol trade-offs and DNS resolution and traffic capture by use case.

Record settings before updating; verify a small set afterward

Client updates, core updates and subscription updates are three different things. The first two change software; the last changes remote configuration. Before updating, note your current mode, important proxy group selections and local overrides. Use the client’s export feature to preserve settings you need. Afterward, test one or two commonly used services, then check rule matches and background connectivity. There’s no need to rebuild the entire configuration right away.

Open-source code can help you understand implementation, follow issue discussions and track fixes, but a public repository isn’t a substitute for reading the release notes for a specific build. If something goes wrong, first narrow it down to steps you can reproduce, then record the operating system, client, error message and steps already tried. Logs may contain visited domains, server addresses or subscription credentials, so remove unrelated personal data before reporting an issue.

Get the mihomo source code

For users who need to read or build the core. You don’t need to run this command to use a graphical client.

git clone https://github.com/MetaCubeX/mihomo.git

Recent guides

Installation, subscription updates and startup troubleshooting

Start by matching the symptom to the right stage. Missing permissions after installation, configuration errors on startup and failed subscription downloads each need a different troubleshooting sequence. Keep your current configuration and make targeted changes.