Android Clients / Subscriptions & Traffic Routing

Clash for Android Downloads & Setup

Choose a client, then import a subscription. Explore Android setup, traffic routing rules, and cross-platform installation.

  • Open-Source Ecosystem
  • Documentation
  • Configuration Troubleshooting

Android Rules & Network Settings

Android / Settings

Android / Proxy mode
RuleGlobalDirect

Rule mode evaluates rules in order.

For everyday use, start with Rule mode. It routes each connection according to the domains, addresses, or rule sets in your configuration. On the home screen, open Proxy mode and select Rule, then check the selected node in the proxy page’s policy group. Global mode sends connections through the global policy group and can help with temporary troubleshooting; Direct mode bypasses the proxy. These modes are not speed settings and do not affect whether your subscription is valid. After switching modes, reopen the target page and check the rules matched by the new connection to confirm the change worked as expected.

Keep configuration files separate from local settings

Subscriptions usually contain nodes, policy groups, and routing rules. Local settings control VPN routing, app access, and background operation. If a webpage won’t load, first confirm that the right configuration is selected, the service has system permission, and the expected policy group is being used. Don’t change DNS, rules, and app lists all at once; even if the connection starts working, you won’t know which change fixed it. The full documentation explains installation by platform and the differences between system proxy and TUN, with steps you can follow when changing devices or network settings.

View cross-platform setup guides →

Follow these steps for your first connection

Start with a subscription link from your provider and make sure its configuration format is supported by your chosen client. Open the configuration page, import from URL, save the configuration, and select it before returning to the home screen to start the service. The first time you start the service on Android, approve the VPN permission request, then choose an available policy in the proxy page. Finally, open a new browser connection and check the client’s connection logs to see how traffic was routed. The quick start guide follows these steps and explains what to look for at each stage, so you can tell whether the configuration imported, the service started, and the network is working.

Import a subscription step by step →

Download / Choose your device

Downloads for five platforms

Choose your operating system to open its download page, then check the client, processor architecture, and installation format. The download pages list available apps and system requirements together. If you already have a configuration, keep a copy of the original before moving to a new client.

Windows Go to downloads ↗

For a new desktop setup, start with Clash Plus, then compare Clash Verge Rev, FlClash, and Clash Nyanpasu. Clash for Windows is listed as an archived, discontinued option. Desktop system proxy settings mainly affect apps that honor the system proxy; TUN is a separate way to route traffic. A tray icon alone doesn’t mean your traffic is being proxied. After installation, import your subscription and choose a policy, then decide whether to enable TUN based on the apps you use.

Android Go to downloads ↗

Compare available clients in this order: Clash Plus, Clash Meta for Android, FlClash, and Surfboard. The installation package must match your device’s architecture. If it won’t install, first check system requirements and whether an existing app has a conflicting signature. When launching, approve the VPN permission request and check whether the system restricts background activity. Surfboard uses a different configuration format from Clash YAML, so the same subscription address may not work directly in every client.

macOS Go to downloads ↗

Check About This Mac to see whether your computer has an Apple silicon or Intel processor, then choose the matching installer. Available clients include Clash Plus, Clash Verge Rev, and FlClash; ClashX Meta is listed as an archived, discontinued project. After installation, follow the client’s instructions to configure the system proxy or grant network permissions. If your browser works but terminal commands still connect directly, check the terminal tools’ proxy settings rather than relying only on the menu bar status.

iOS Go to downloads ↗

On iPhone and iPad, visit the download page for the Clash Plus App Store listing. The official website is clashplus.io. After installing, import your configuration in the app and approve the prompt to add a VPN configuration. For your first test, use a policy you know works and avoid changing multiple routing options at once. The VPN indicator means traffic routing has been set up; whether a particular page loads still depends on your subscription, proxy exit, and DNS settings.

Linux Go to downloads ↗

On desktop Linux, compare Clash Verge Rev and FlClash, and choose an installation format that fits your distribution’s package manager. For servers, routers, or headless devices, see the download page for the Mihomo core. Running the core requires you to provide a configuration, manage the service, and set up traffic routing; successfully starting the executable does not configure the system proxy. When working remotely, preserve your existing connection so a routing change doesn’t lock you out.

Browse all clients → Read the client comparison guide →

Open Source / Projects & Cores

The Clash open-source ecosystem and maintenance status

The interface, core, and subscription are three separate things. When choosing a client, check its maintenance status first, configuration compatibility next, and device-level traffic routing last.

The original Android project and its successors

Clash for Android is a familiar client name for many Android users, with common tasks available from the Home, Configuration, and Settings screens. The original project is no longer maintained, so distinguish its older interface and installation packages from currently available apps when searching for tutorials. This site explains Android configuration concepts and links to alternative clients on the download page; it does not treat separate projects as updates to the same app. Clash Meta for Android, FlClash, and other names refer to different client implementations, so check where settings are located and which features are supported when migrating.

If an existing configuration works reliably, export or back it up before testing it in a new client. Don’t overwrite the original file or try an in-place install just because two apps have similar names. Whether an Android app can be installed over another also depends on its package name and signature; an installation conflict doesn’t necessarily mean you chose the wrong device architecture. After migrating, check policy group names, matched rules, and background operation. Once the new setup works, remove any clients you no longer need. Use the comparison guide to understand the differences and the quick start guide for setup steps.

How graphical clients and the Mihomo core work together

Graphical clients handle configuration management, menus, system proxy settings, and platform integration. The core parses the configuration and handles connections. Mihomo is an open-source core project in the Clash ecosystem, but not every client with Clash in its name uses the same core or supports exactly the same configuration fields. If a configuration loads on one device but fails on another, the cause may be differences in core capabilities or how the client converts or overrides the configuration. Start by reading the specific error message; don’t judge compatibility by an app icon or a similar-looking tutorial screenshot.

For most desktop and mobile users, a graphical client makes it easier to grant permissions and choose a policy. Running the core directly is mainly useful when deploying a server or router, or managing the service yourself. The command below points to Mihomo’s source code repository, where you can read the implementation, build instructions, and issue discussions. Cloning the repository won’t install an Android app or generate a working subscription. Use the repository to understand how the software works; connecting still requires a valid configuration and suitable system network settings.

Mihomo / Source Code
git clone https://github.com/MetaCubeX/mihomo.git

After copying, run this command in a terminal with Git installed.

View the Mihomo open-source repository →

Handle subscription updates and software updates separately

Subscription updates fetch nodes, policy groups, or routing rules again. Software updates change the client or core itself; one does not replace the other. If a subscription update fails, first check that the link is still valid and the response uses a format supported by your client, then look for network or parsing errors. Installing a different client won’t make an expired link work again. Conversely, newer core versions may be needed to recognize new configuration fields, so check the software’s capabilities instead of repeatedly refreshing the subscription. Checking both paths can prevent unnecessary changes unrelated to the problem.

Before making changes, note the current mode, selected policy, and overrides, then test the same destination again after updating. A remote subscription may overwrite edits made directly to a local file, so use the client’s supported override or merge options for preferences you want to keep. Clients implement these features differently; don’t assume a setting has the same effect just because another app uses a similar label. The download page lists available update information in each client’s details. If a project’s maintenance status is unclear, check its release notes and compatibility with your system before deciding whether to keep using it.

Connection checks and configuration privacy

A VPN indicator, a service-running message, and a successfully opened webpage each reflect a different state. A successful startup only means the local service is running; it doesn’t prove that a node works or that every app is routed through it. To test a connection, first confirm that the device can access the internet, then open a target webpage and check whether the connection appears in the logs, which rule matched, and which policy group was selected. If only one app has problems, check app access control. If every domain fails, check nodes and DNS one at a time rather than rebuilding the entire configuration for a local issue.

Subscription links often contain account details and should be treated like credentials. Don’t post a full link in a public support forum or reveal configuration QR codes, authentication fields, or account information in screenshots. When reporting an issue, share the client name, system environment, steps to reproduce, and error text with sensitive details removed. Open-source repositories are useful for reading code and discussing issues, but they are not subscription providers. This site collects download links and setup information; it can’t resolve account issues such as expired links, exhausted allowances, or provider-side node maintenance.

Common questions for new users

Where do I enter my subscription link after installing a client?

Get a compatible subscription from your provider, then open the configuration page and choose Import from URL. Enter a name and link, save, and select the configuration once it finishes downloading. Paste the full link without adding spaces or line breaks. The client does not provide nodes on its own. Return to the home screen and start the service. For screenshots and steps, see the quick start guide.

It says connected. Why won’t webpages load?

First confirm that the right configuration and policy group are selected. Then check VPN permission, node availability, app access control, and DNS. Change one setting at a time and open a new connection to test it. Existing connections may keep using the old route, so reopen the target page after switching nodes. Battery optimization may also stop the service in the background. For a full walkthrough, see the Android connection troubleshooting checklist.

Can I use the same subscription on my phone and computer?

Check the subscription format, core-specific fields, and any device limits set by your provider. Clash YAML is not a universal format for every proxy app; pay particular attention to clients such as Surfboard, which may require a different configuration. Even when a configuration imports successfully, system proxy and VPN routing work differently across platforms. Keep your original configuration and review the platform-specific settings in the full documentation before migrating.

Notes / Configuration Logs

Notes on subscription issues and choosing a client

Browse all articles →