OPEN SOURCE · MULTI-PLATFORM BUILDS

Clash for Android Client Download and Android Setup Guide

Download links for Clash clients covering five platforms — Windows, macOS, Android, iOS, and Linux — with complete documentation on subscription import, TUN mode setup, and rule-based routing. The client code is open source, each version maps directly to its installer, and every download link is maintained on a single, unified download page.

  • TUN MODE
  • RULE-SET
  • MULTI-PROFILE
  • META CORE
  • OPEN SOURCE
SPEC SHEET

Core Features

A spec-sheet breakdown of the Android client's key capabilities. Each item corresponds to a feature dimension in the configuration file — see the tutorials page and troubleshooting page for detailed usage.

Full TUN Takeover

TUN

Uses the system's VpnService to create a virtual network adapter that intercepts all app traffic at the network layer, so there's no need to configure a proxy address per app. This also works for games, command-line tools, and background services that ignore system proxy settings. The core offers both system and gVisor stack implementations, selectable based on device performance and compatibility; IPv6 support and DNS hijacking can each be toggled independently in settings, letting you fine-tune the scope and stability of the takeover as needed.

Rule-Based Routing

RULE-SET

Matches traffic by domain, IP range, process name, and GeoSite category, so local sites can go direct, target sites route through the proxy, and ad domains get blocked — all within a single configuration. Rule sets support remote subscriptions and local overrides, so updating rules doesn't require touching the main config file. Compared to simple clients with only global and direct modes, a rule engine lets one configuration handle most access scenarios long-term, with almost no need to manually switch modes during everyday use.

Multi-Profile Management

MULTI-PROFILE

Save multiple profiles and switch between them with one tap — different subscription providers, self-hosted node configs, and test setups stay fully isolated from each other. Each profile independently tracks its subscription URL, last update time, and auto-update interval, and switching profiles doesn't require restarting the app; proxy group node selections are preserved after switching. For anyone managing multiple subscription sources, or regularly moving between home and office networks, this is the key feature that cuts down on repetitive setup work.

Automatic Subscription Updates

AUTO-UPDATE

Subscriptions can be set to auto-update in the background on an hourly or daily interval, so node changes and subscription URL updates don't need manual intervention. If an update fails, the previous working configuration is preserved, so a single network hiccup won't wipe out the node list. Notification-bar status alerts make each update's result clear at a glance; you can also trigger an update manually from the profile details screen and view the returned error, making it easy to pinpoint expired links or malformed responses right away.

Per-App Routing

PER-APP

The access control list lets you exclude specific apps from the proxy, or restrict proxying to only apps on an allowlist. When a banking app needs a direct connection, or a LAN tool shouldn't route through the virtual adapter, there's no need to stop the whole client — just toggle the relevant package in the app list. Control operates at the package level and stacks with domain-based rules, letting you manage traffic by both "which app" and "which destination" simultaneously without conflict.

Meta Core Capabilities

META CORE

The client ships with the Meta (mihomo) core, which supports more modern proxy protocols and outbound types beyond the original protocol set, while keeping rule syntax backward-compatible with original-format config files. The core tracks upstream updates continuously alongside client releases, so improvements to protocol handshakes, latency testing, and load-balancing strategies don't have to wait for a major client version. For users whose subscription provider has already moved to newer protocols, switching to a Meta-core client is typically the lowest-cost upgrade path, since existing configs mostly carry over as-is.


DOWNLOAD

Downloads for Every Platform

Installers for all five platforms are grouped by OS on a single download page, with version numbers resolved in real time from the release manifest. Click a platform to jump straight to its section on the download page.

Windows

Desktop clients like Clash Plus and Clash Verge Rev, with x64 and ARM64 installers, both system proxy and TUN mode supported.

Go to Download

macOS

Separate installers for Intel and Apple Silicon, runs persistently from the menu bar, with one-click system proxy takeover and restore.

Go to Download

Android

Direct APK installation, available in arm64-v8a and armeabi-v7a builds, with full TUN takeover and per-app routing support.

Go to Download

iOS

Clash Plus is available on the App Store — install directly from the store, and updates roll out automatically through that channel with no extra steps.

Go to Download

Linux

A deb package for desktop environments; servers and routers can run the mihomo core directly, paired with systemd for persistent operation.

Go to Download

View all clients →


QUICK START

Three Steps to Get Started

From installation to verifying connectivity, the standard process takes just three steps. This is a condensed preview — see the full tutorial for exact screen locations and common edge cases for each step.

01

Install the Client

Pick the installer matching your device's architecture on the download page. On Android, install the APK directly and grant VPN permission when prompted on first launch; on desktop, run the installer and allow it to stay running in the background.

02

Import a Subscription

Go to the profiles page, create a new profile, and paste the subscription URL provided by your service. Once saved, the client automatically pulls the node list and routing rules. If the link isn't recognized, first confirm it's actually a Clash-format link rather than one for another protocol.

03

Connect and Verify

Return to the main screen, start the proxy, pick a low-latency node on the proxies page, then visit a target site to confirm connectivity. It's also worth running a latency test on the proxy group and excluding any obviously timed-out nodes from daily use.

View the full tutorial →


OPEN SOURCE

Open Source Ecosystem and Release Origins

Both the client and the core are developed in public repositories, with releases, commit history, and issue discussions all fully visible. Here are a few facts directly relevant to what's covered on this site.

Project History

Clash started out as a command-line core, and the community later built out a full client ecosystem covering desktop and mobile on top of it. The Android client has been developed openly and iterated on continuously since it went open source; every release maps to a verifiable source tag, and changes are documented in release notes — there's no such thing as an installer with no traceable origin.

Core Lineage

After the original core stopped receiving updates, the community-maintained Meta fork (now named mihomo) took over protocol development, and most actively maintained clients today run on the mihomo core. The clients featured on this site are all built on this ecosystem, with mutually compatible configuration formats — migrating between clients usually just means swapping the subscription URL.

Update Mechanism

Each client installer is built and published on its project's release page. Our download page resolves the current latest version number and corresponding files in real time via the release manifest API when the page loads, so the version info shown always matches the actual distributed files — nothing is manually edited, and no installer is repackaged or modified in any way.

Documentation Maintenance

Tutorials and troubleshooting docs on this site are updated alongside stable client releases, with steps described against the current version's interface. All download links are centrally maintained on a single download page for easy source verification; anyone with build tooling can clone the source repository directly and compile it themselves to compare against the released build.

GIT git clone https://github.com/MetaCubeX/ClashMetaForAndroid.git

FAQ PICKS

Frequently Asked Questions

The most common questions, each with a one-line answer — see the linked pages for the full troubleshooting process and step-by-step instructions.

  • Subscription update fails with a network error? First open the subscription link directly in a browser to check if it's expired, then check whether the update request is looping through the proxy itself — follow the subscription section of the troubleshooting page step by step. Troubleshooting steps →
  • How do I enable auto-start on boot? On Android, you need to grant auto-start permission in system settings and add the client to the battery optimization allowlist — the exact menu location varies slightly by device manufacturer. Setup steps →
  • All nodes are timing out — what now? Update your subscription first to rule out expired nodes, then test with a different test URL and network environment to determine whether it's a node issue or a local network issue. Troubleshooting steps →
  • Can't decide between clients? Compare them by platform, core, and maintenance status before deciding — the comparison page covers each client's best-fit scenarios and a recommendation. Client comparison →