01

Download & Versions

How to choose the right installer for your device?

Users with Intel or AMD processors (most laptops and desktops) should pick the x64 version.

Only pick the ARM64 version for devices with Snapdragon (X/8cx) or other ARM processors, such as some Surface Pro models, ASUS NovaGo, or ThinkPad X13s.

If unsure, just download and install the x64 version. You can check your architecture in "Settings → System → About" under "System type".

Click the Apple icon → "About This Mac" in the top left. Look for "Chip" or "Processor":

  • If it says Apple M1 / M2 / M3 / M4 → Pick ARM64 (Apple Silicon)
  • If it says Intel Core i5 / i7 / i9 → Pick x64 (Intel)

Quick Tip: Most Macs purchased after late 2020 are Apple Silicon. If you have an M1, M2, M3, or M4 chip, pick ARM64.

If you download the wrong version, macOS will warn you about incompatibility. Simply download the correct one; it won't harm your system.

  • ARM64-v8a: Standard for most Android phones post-2016. It offers the best performance and smallest size. Recommended for most users with Samsung, Xiaomi, Pixel, etc.
  • ARMv7: For older devices (pre-2016) or as a backup if ARM64 fails to install.
  • Universal: Compatible with all devices but has a larger file size. Pick this if you aren't sure.

How to check: Go to "Settings → About Phone → Processor" or install a tool like CPU-Z to view ABI info.

  • .deb package: For Debian-based distros like Ubuntu, Linux Mint, or Pop!_OS. Install with sudo dpkg -i filename.deb.
  • .rpm package: For Red Hat-based distros like Fedora, CentOS, or RHEL. Install with sudo dnf install filename.rpm.
  • .gz Binary (Core): Generic Linux binary for Mihomo Core. Best for servers or Docker; has no GUI.

Not sure? Run cat /etc/os-release in your terminal and check the ID_LIKE field.

We provide official installers for 5 major platforms:

  • Windows: Clash Verge Rev (Recommended), FlClash, Clash Nyanpasu, Clash for Windows (Archived)
  • macOS: Clash Verge Rev (Recommended), FlClash, ClashX Meta (Archived)
  • Android: Clash Meta for Android (Recommended), FlClash, Surfboard
  • iOS: No local APK/IPA files. Please purchase Stash or Shadowrocket from the App Store.
  • Linux: Clash Verge Rev (Recommended), FlClash, and Mihomo Core binaries.

All clients are based on the GPL-3.0 open-source license and are free to use.

02

Installation & Setup

How to install the client, import subscriptions, and set proxy modes?

The Clash client does not provide server nodes. It is like a car that needs "fuel"—you need to provide your own proxy nodes or subscription.

Here is the full setup process:

  1. Buy a subscription service from a provider or set up your own server.
  2. Get your Subscription URL from your provider.
  3. Paste the URL into the "Profiles" page of your Clash client and click download/update.
  4. Select a node, enable the system proxy, and you're ready to go.

If it doesn't work, check if the node is active, the system proxy is ON, and your firewall isn't blocking Clash.

This is a normal macOS Gatekeeper security feature, not a virus. To fix:

  • Method 1 (Recommended): Go to "System Settings" → "Privacy & Security", scroll down, and click "Open Anyway" next to the blocked app.
  • Method 2 (Terminal): Run xattr -cr /Applications/Clash\ Verge.app in your terminal, then try opening it again.

Once authorized, macOS will remember it. You can just double-click to open in the future.

Android blocks APKs from outside the Play Store by default. To fix:

  • Android 8.0+: Tap "Settings" in the pop-up, enable "Allow from this source", then go back and install.
  • Android 7.0 and older: Go to "Settings" → "Security" and enable "Unknown Sources".
  • Custom UIs (MIUI / ColorOS): You may need to grant install permissions specifically for your browser or file manager in "App Permissions".

You can turn off this permission after installation is complete.

  • System Proxy: Only handles HTTP/SOCKS traffic for apps that follow system settings (like browsers). Games and CLI tools often ignore this.
  • TUN Mode: Creates a virtual network card at the system level to capture all TCP/UDP traffic. It works for **all apps**, including games, regardless of their proxy settings.

Recommendation: Use System Proxy for daily browsing (faster, uses fewer resources). Use TUN mode for gaming or system-wide traffic control (requires Admin/Root).

The basic deployment process:

  1. Download the .gz for your arch, extract, and grant execute permissions:
    gunzip mihomo.gz && chmod +x mihomo
  2. Move the binary: sudo mv mihomo /usr/local/bin/mihomo
  3. Create your config directory and add your config.yaml with nodes and rules.
  4. Create a systemd unit at /etc/systemd/system/mihomo.service with ExecStart=/usr/local/bin/mihomo -d /etc/mihomo.
  5. Run sudo systemctl enable --now mihomo to start and enable auto-run.

Default ports: HTTP 7890, SOCKS5 7891, API 9090. Use a Web UI like MetaCubeX to manage nodes.

03

Client Comparison

Client Comparison & Recommendations

All are based on the Mihomo (Clash.Meta) core. The main differences are the UI and features:

  • Clash Verge Rev (Recommended): Most features, active updates, modern UI. Supports TUN mode, sub-hosting, and JS scripts on Windows/macOS/Linux. Best for most users.
  • FlClash: Flutter-based with a clean, unified design across Windows/macOS/Android/Linux. Perfect if you want the same look and feel on all your devices.
  • Clash Nyanpasu: Supports custom JS/Lua/Python scripts for fine-grained traffic control. Ideal for advanced users on Windows/macOS/Linux.

Beginners should start with Clash Verge Rev for its ease of use and active community support.

Fndroid stopped maintaining CFW in November 2023. It no longer receives security updates or new protocol support. Using it may be a security risk.

We recommend migrating to:

  • Clash Verge Rev (Best choice): Familiar UI, more powerful features, and active updates. Lowest learning curve from CFW.
  • FlClash: Cleaner UI, simple multi-platform experience.

How to migrate: Just paste your existing subscription URL into the new client's "Profiles" page. CFW's YAML format is fully compatible with Mihomo.

  • Clash Meta for Android (Recommended): Official client from MetaCubeX. Best protocol support (TUIC v5, Hysteria2, Reality), per-app routing, and TUN VPN mode. The most powerful option for Android.
  • FlClash (Android): Clean and beginner-friendly. Shares the same logic and UI with the desktop version. Best if you want a consistent experience across mobile and PC.
  • Surfboard: Compatible with Clash subscriptions and Surge profiles. Unique UI, great for users of both services.
  • Stash: Full support for Clash Premium syntax and complex rule sets. Offers the closest experience to desktop Clash on iPhone. Supports Apple Shortcuts and per-app routing. More expensive.
  • Shadowrocket (The "Rocket"): The most popular iOS client. Supports Clash YAML, SS, VMess, Trojan, and Hysteria2. Easy setup, cheaper, and very stable.

Standard users should pick Shadowrocket for price and simplicity. Pro users should pick Stash for advanced rule control. Both are paid apps in the App Store.

  • Mihomo Core (formerly Clash.Meta): Command-line engine that handles traffic. No UI, requires manual YAML editing. Best for Servers, Routers, and Docker.
  • GUI Clients (like Clash Verge Rev): Visual apps with the Mihomo core built-in. Provide easy management of nodes, rules, and traffic stats without using the terminal.

Desktop users do not need to download the core separately—it is already inside the installer for Clash Verge Rev, FlClash, etc. Only download the core binary for server/router deployment.

04

Troubleshooting

Fixing connection errors, subscription failures, and timeouts

Check these steps one by one:

  1. Enable System Proxy: Ensure the "System Proxy" switch is ON (green/blue) in the main UI.
  2. Check Profile: Ensure you have an active profile selected in the "Profiles" tab.
  3. Test Nodes: Run a latency test in the "Proxies" tab. If all nodes show "Timeout", your subscription or network may be the issue.
  4. Check Firewall: Ensure Windows Defender or your antivirus isn't blocking the Clash process.
  5. Check Mode: If set to "Direct", no traffic is proxied. Switch to "Rule" or "Global".
  • Network Connection Error: Your provider's domain might be blocked. Try manually importing a config once, or use an existing node to update the new subscription. You can also set a "Subscription Proxy" port in settings.
  • Subscription Link Expired: Confirm with your provider if your subscription has expired or been reset, and get a new link.
  • URL Format Error: Ensure the link is complete and starts with http:// or https:// with no extra spaces.
  • Incompatible Format: Some legacy formats are not supported by the Mihomo core. Use a subscription converter to change it to Clash YAML format.
  • Switch Nodes: Run a latency test in the "Proxies" tab and pick the node with the lowest ping and zero packet loss.
  • Try New Protocols: If VMess/Trojan is unstable, try Hysteria2 or TUIC v5 nodes. These UDP/QUIC-based protocols perform much better in high-latency or unstable networks.
  • Enable TUN Mode: Standard proxy mode can sometimes leak DNS. TUN mode solves connection issues caused by DNS pollution by handling all traffic at the virtual NIC level.
  • Check Local DNS: Set DNS mode to "Fake-IP" and use encrypted DNS like DoH (e.g., https://1.1.1.1/dns-query) in your settings.
  • Contact Provider: If all nodes show high latency, it may be a provider-side routing issue. Consider giving them feedback or switching services.

TUN mode requires kernel-level virtual NIC drivers, which need admin rights to install.

  • Run as Administrator: Right-click the Clash Verge Rev client, select "Run as administrator", then try enabling TUN mode again.
  • Driver Error: Ensure Windows is fully updated. Clash Verge Rev uses the WinTUN driver, which can also be downloaded manually at wintun.net.
  • Antivirus Interference: Some antivirus software blocks driver installation. Temporarily disable real-time protection and try again.

Note: If you only need to proxy browser traffic, System Proxy is enough and doesn't require TUN mode.

This usually happens when the client exits unexpectedly without clearing the **System Proxy settings**. Your OS remains pointed at a non-existent local port.

How to fix:

  • Windows: Go to "Settings → Network & Internet → Proxy" and turn OFF "Use a proxy server".
  • macOS: Go to "System Settings → Network → Advanced → Proxies" and uncheck all proxy protocols.
  • Pro Tip: Re-open Clash, manually turn OFF System Proxy, then exit. This should clear the settings properly.

Best Practice: Always turn off the proxy within the app before closing it.

05

Platforms & Protocols

OS Requirements, Protocols, iOS Limits & Security

  • Windows: Clash Verge Rev requires Windows 10 / 11 (x64 or ARM64). Windows 7/8 are not supported.
  • macOS: Requires macOS 12 Monterey or newer. Native support for Apple Silicon and Intel.
  • Android: Requires Android 5.0 (API 21) or newer. Works on most phones released after 2014.
  • iOS: Stash and Shadowrocket require iOS 16 or newer on iPhone and iPad.
  • Linux: Supports x86_64 and ARM64. Recommended distros: Debian 11+, Ubuntu 20.04+, Fedora 36+.

The Mihomo core supports all major modern protocols:

  • Shadowsocks (SS) / SSR: Most popular and compatible protocols.
  • VMess / VLESS: V2Ray core protocols; VLESS Reality offers industry-leading anti-detection.
  • Trojan / Trojan-Go: Strong anti-blocking by mimicking HTTPS traffic.
  • TUIC v5: Next-gen QUIC-based protocol with low latency.
  • Hysteria2: High-speed protocol optimized for unstable or high-latency networks.
  • WireGuard: Fast, modern VPN protocol with low overhead.
  • SOCKS5 / HTTP(S): Standard local proxy protocols.

Most subscriptions include multiple protocols automatically. Clash will detect and use them without manual setup.

These limits are due to Apple's closed ecosystem:

  • Apple requires all iOS apps to be distributed via the App Store. Sideloading IPAs is restricted and difficult for long-term use on non-jailbroken devices.
  • Developers must pay a $99/year fee, and proxy apps face strict review processes. Most developers charge for their apps to maintain development.
  • Maintaining a free, high-quality proxy client on the App Store is nearly impossible under these conditions.

Regarding IPAs: We do not provide IPA files. Sideloading via third-party tools risks account bans and privacy issues. Purchasing Shadowrocket ($2.99) or Stash in the App Store is the safest and most reliable way.

Deploying Clash on OpenWrt provides system-wide proxy for your whole house. Options include:

  • MIPS Softfloat Binary: We provide mihomo-linux-mips-softfloat.gz for older routers (TP-Link, Huawei, etc.). Use with iptables for transparent proxying.
  • OpenWrt Repo Packages: Many community repos offer `luci-app-mihomo` or similar packages with a visual Web UI.
  • ARM64 Linux Core: For modern, high-end routers, download the mihomo-linux-arm64.gz version.

Router deployment requires basic Linux CLI skills. Please refer to our guide or community documentation for setup.

Yes, completely free. All clients we provide (Clash Verge Rev, FlClash, etc.) are based on the GPL-3.0 open-source license. No hidden costs, ads, or subscription fees.

Safety and Security:

  • Source code is public on GitHub for anyone to audit. There are no hidden backdoors.
  • The Mihomo core is actively maintained by the MetaCubeX community with frequent security fixes.
  • Our installers match the official GitHub Releases. You can also download them directly from the developers' repos.

Note: **The software is free**, but you still need to pay for a subscription node service from a third party.

Still Have Questions?

Finished downloading? Read the Guide Ready to Start? Download Now

Get the right installer for your platform and follow our 5-minute setup guide.

Download Client View Setup Guide