Frequently Asked Questions

Clash Usage
FAQ

From setup to compatibility—top answers for Clash users. Covers Windows, macOS, Android, iOS, and Linux to help you get started quickly.

40+
FAQ Coverage
5
Supported Platforms
Free
Always Free & Open Source
01
General Questions

General

Clash is an open-source, rule-based proxy client supporting Shadowsocks, VMess, Trojan, VLESS, Hysteria 2, and more. Key differences from a traditional VPN include:

  • Intelligent Routing: Local traffic stays direct while international traffic is proxied. No interference with local websites.
  • Multi-Protocol: One client for almost all major protocols—no need for multiple apps.
  • Flexible Config: Declarative YAML support for scripts, proxy groups, and rule sets.
  • Better Performance: Rule-based routing avoids proxying unnecessary traffic for a smoother experience.

Yes, the Clash core and all major GUI clients are completely free and open-source on GitHub under the GPL-3.0 license. This includes:

  • Clash Verge Rev (Windows/macOS/Linux)
  • FlClash (Windows/macOS/Android/Linux)
  • Clash Meta for Android (Android)
  • mihomo core (CLI for all platforms)

Note: While the software is free, proxy nodes must be purchased or obtained separately from third-party providers.

Clash Meta (now mihomo) is a community-driven, enhanced open-source branch of the original Clash core. Since the original core was deprecated in 2023, mihomo has become the active, feature-complete successor.

FeatureOriginal ClashClash Meta / mihomo
VLESS / RealityNot Supported✦ Supported
Hysteria 2 / TUICNot Supported✦ Supported
MaintenanceDeprecated✦ Active
Rule ProvidersBasic✦ Enhanced
Compatibility✦ Fully Compatible

Verdict: New users should choose mihomo-based clients (e.g., Clash Verge Rev, FlClash).

mihomo-based Clash clients support almost all mainstream protocols used by providers today:

Shadowsocks (SS) ShadowsocksR (SSR) VMess (V2ray) VLESS Trojan Trojan-Go Reality Hysteria 2 TUIC v5 Snell Socks5 HTTP(S) WireGuard

This wide compatibility is why Clash is the top choice for global proxy users.

Clash is a local proxy tool (client). It does not provide any servers or network services. After installation, you need to:

  • Obtain a Subscription URL or YAML config from a third-party provider.
  • Import the link into the 'Profiles' page of your Clash client.
  • Select a node and enable System Proxy to access the international web.

Think of Clash as the player, and nodes/subscriptions as the media—you need both.

The Clash core (mihomo) and all major clients are fully open-source on GitHub, allowing for continuous security audits by the global community. As long as you download from our site or official GitHub repos, security is guaranteed.

Warning: Avoid downloading from unknown forums or third-party sources to prevent malware. All links here point to official GitHub releases.

02
Windows Platform

Windows

We recommend these two clients for Windows:

  • Clash Verge Rev: Built with Tauri and featuring the mihomo core, it offers a modern UI and complete features. Available as an installer or portable version for x64 and ARM64.
  • FlClash: Built with Flutter for a consistent cross-platform experience. Great for fans of Material Design.

Note: Clash for Windows (CFW) is deprecated as of 2023 and is not recommended for new users.

Go to Download Page →

Clash Verge Rev supports Windows 10 and 11. To install:

  1. Download the latest `ClashVergeRev_x.x.x_x64-setup.exe` (or the ARM64 version) from our site.
  2. Double-click the `.exe` and follow the wizard instructions.
  3. If Windows SmartScreen appears, click 'More info' -> 'Run anyway'.
  4. Open the app, go to 'Profiles', paste your subscription link, and click 'Download'.
  5. Activate the profile, pick a node in 'Proxies', and toggle 'System Proxy' ON.

This is a standard warning from Windows SmartScreen for apps without a Microsoft-certified signature. To continue:

  1. Click 'More info' in the blue warning box.
  2. Click 'Run anyway' to proceed with the installation.

As long as you downloaded from our site or GitHub, it is safe to proceed.

Yes! Both Clash Verge Rev and FlClash offer native ARM64 installers for Windows devices like Surface Pro X or Snapdragon X Elite, providing better performance without x64 emulation. Choose the file with `arm64` in its name.

Some apps (games, UWP apps, etc.) ignore system proxy settings. To fix this:

  • Enable TUN Mode (Recommended): Enable TUN mode in Clash Verge Rev settings to capture all system traffic. Requires admin rights.
  • Manual Proxy Config: Set the app's proxy to `127.0.0.1:7890` (HTTP port).
  • Terminal Proxy: Run `set https_proxy=http://127.0.0.1:7890` (CMD) or `$env:https_proxy="http://127.0.0.1:7890"` (PowerShell).

Clash Verge Rev has built-in auto-updates. Click 'Check for Updates' in Settings -> About. Alternatively, download the latest installer from our site and install it over the existing version; your configs will be preserved.

03
macOS Platform

macOS

We recommend these clients for macOS:

  • Clash Verge Rev (macOS): Native ARM64 (Apple Silicon) and x64 (Intel) `.dmg` installers for macOS 11+.
  • FlClash (macOS): Simplified UI, also available for both ARM64 and x64.

Check your chip: Apple Menu -> 'About This Mac'. 'Apple M...' means Apple Silicon; 'Intel' means an Intel Mac.

Go to Download Page →

This is the macOS Gatekeeper security feature. To open the app:

Method 1 (Recommended):

  1. Go to 'System Settings' -> 'Privacy & Security'.
  2. Click 'Open Anyway' next to the blocked app notice.
  3. Re-open the app and click 'Open'.

Method 2 (CLI): Run `sudo xattr -rd com.apple.quarantine /Applications/ClashVerge.app` in Terminal.

ClashX and ClashX Pro are no longer maintained. While they still work, they lack new protocols like VLESS or Hysteria 2. We strongly recommend switching to Clash Verge Rev (macOS) for its modern UI and active updates.

  1. Double-click the `.dmg` file and wait for it to mount.
  2. Drag the app icon to the Applications folder.
  3. Eject the DMG disk image.
  4. Open the app from Launchpad or Applications.
  5. If blocked by Gatekeeper, see the solution for Method 1 above.

By default, the macOS terminal ignores system proxy settings. Add these to your shell profile (`~/.zshrc` or `~/.bashrc`):

export https_proxy=http://127.0.0.1:7890
export http_proxy=http://127.0.0.1:7890
export all_proxy=socks5://127.0.0.1:7891

Alternatively, enable TUN Mode in Clash Verge Rev to capture all traffic automatically.

04
Android Platform

Android

We recommend these two for Android:

  • Clash Meta for Android (CMFA): Feature-complete with the latest mihomo core and all new protocols.
  • FlClash (Android): Modern, simple UI for ease of use.

Download official APKs from our site or GitHub releases. Avoid third-party stores.

Go to Download Page →

Android requires manual authorization for APKs outside the Play Store:

  1. Open the APK file from your file manager.
  2. In the 'Security warning', tap 'Settings' or 'Allow from this source'.
  3. Enable the permission and continue the installation.

Most Android phones since 2016 use 64-bit ARM. Choose the ARM64-v8a version. If your device is older (32-bit), choose armeabi-v7a. If unsure, check 'About Phone' or try the ARM64 version first.

For Clash Meta for Android:

  1. Tap 'Profiles' in the bottom nav.
  2. Tap '+' -> 'Import from URL'.
  3. Paste your link and tap 'OK' to download.
  4. Tap the profile to activate it (checkmark appears).
  5. Tap 'Start' on the home page and pick a node.
  • Check Node: Run a latency test; ensure at least one node is not timing out.
  • Check Mode: Use 'Rule' or 'Global', not 'Direct'.
  • Restart: Toggle the proxy connection OFF and ON.
  • Change Node: Try a different server.
  • Clear DNS: Reconnect to Wi-Fi/Mobile data.
05
iOS / iPadOS Platform

iOS / iPadOS

There is no official app named 'Clash' on iOS due to App Store policies. However, these apps are fully compatible with Clash YAML configs:

  • Stash: Premium iOS-exclusive app with the most complete Clash-like feature set.
  • Shadowrocket: Most popular and affordable iOS client, widely compatible with Clash links.
  • Surge (iOS): Professional network tool; requires conversion of Clash configs to Surge format.

Purchase these from the App Store using a non-mainland Apple ID.

ContrastStashShadowrocket
YAML CompatibilityFullBasic
UI DesignModern/BeautifulFunctional
Price (Approx)Higher ($3.99)Lower ($2.99)
Script/Rule SetsFull SupportLimited
AudienceAdvanced UsersGeneral Users

Verdict: Choose Stash for full YAML support or Shadowrocket for simple, affordable use.

Stash: Profiles -> '+' -> 'Download from URL'. Paste link and tap 'Download'.

Shadowrocket: Copy link -> Open app -> Tap '+' -> Select 'Subscribe'. Paste link and tap 'Done'.

Shadowrocket has limited YAML support; some new protocols (Hysteria 2, TUIC) may fail. Solutions:

  • Use Stash: Best for full YAML compatibility.
  • Subscription Conversion: Use sub-store or subconverter to convert your link to Shadowrocket format.
  • Ask Provider: Request a native Shadowrocket link from your provider.
06
Linux / Server Platform

Linux / Soft Router

Linux installation options:

  • Clash Verge Rev (GUI): `.deb` (Debian/Ubuntu) or `.rpm` (Fedora/CentOS) installers, plus AppImage. Supports amd64/arm64.
  • FlClash (GUI): Available as `.deb`, `.rpm`, or AppImage.
  • mihomo core (CLI): Binaries for amd64, arm64, armv7, mips. Ideal for servers or soft routers.

Supports Ubuntu 20.04+, Debian 11+, Fedora 37+, CentOS/RHEL 8+, Arch, Alpine, and more.

Go to Download Page →

Register mihomo as a systemd service for boot startup and background operation:

# Create directory and copy config.yaml
sudo mkdir -p /etc/mihomo
sudo nano /etc/systemd/system/mihomo.service

# Service file content:
[Unit]
Description=mihomo Clash kernel
After=network.target

[Service]
Type=simple
ExecStart=/usr/local/bin/mihomo -d /etc/mihomo
Restart=on-failure

[Install]
WantedBy=multi-user.target

# Enable and start
sudo systemctl enable mihomo
sudo systemctl start mihomo

Yes! The mihomo core supports MIPS, ARMv7, and ARM64 for embedded devices like OpenWrt routers or Raspberry Pi. Popular solutions:

  • OpenWrt + OpenClash: A powerful GUI plugin for managing Clash on OpenWrt.
  • mihomo + iptables: Run the binary with TUN mode or iptables for transparent proxying.
  • Docker: Use the `metacubex/mihomo` image with docker-compose.

Add these to `~/.bashrc` or `~/.zshrc` (standard ports: HTTP 7890, SOCKS5 7891):

export http_proxy="http://127.0.0.1:7890"
export https_proxy="http://127.0.0.1:7890"
export all_proxy="socks5://127.0.0.1:7891"
export no_proxy="localhost,127.0.0.1,::1"

Run `source ~/.zshrc` to apply. Use `unset http_proxy https_proxy all_proxy` to disable.

07
Configuration & Usage

Config & Usage

Clash supports these formats:

  • Clash YAML (Recommended): Full config with nodes, groups, and rules.
  • Base64 Links: Standard SS/VMess links; Clash will auto-generate a config.
  • SingBox/V2ray JSON: Requires conversion via subconverter.

Import via the 'Profiles' page and enable 'Auto Update' (e.g., every 24 hours).

ModeDescriptionUse Case
Rule Routes based on YAML rules. Local is direct; international is proxied. Daily use (Recommended)
Global All traffic is proxied, including local sites. Testing nodes
Direct All traffic is direct; Clash is effectively bypassed. Bypass proxy temporarily

Recommendation: Always use 'Rule' mode to enjoy the best experience with automatic traffic splitting.

Proxy Groups allow logical grouping with different policies:

  • select: Manually pick a node.
  • url-test: Auto-selects the lowest latency node.
  • fallback: Switches to the next node if the first fails.
  • load-balance: Distributes traffic across nodes.

Tip: Create separate groups for services like Netflix, YouTube, or OpenAI for precise routing.

Fake-IP is a DNS mode where Clash intercepts DNS queries and immediately returns a fake internal IP (198.18.x.x), mapping it to the real domain internally. It then routes traffic based on rules using the real domain.

Benefits: Faster connections, zero DNS leaks to local ISPs, and immunity to DNS poisoning.

A basic Clash YAML structure:

# Basic ports and settings
port: 7890 # HTTP proxy port
socks-port: 7891 # SOCKS5 proxy port
allow-lan: false
mode: rule # rule / global / direct
log-level: info

# DNS configuration
dns:
enable: true
enhanced-mode: fake-ip

# Proxy nodes (proxies:)
proxies:
- name: "My-Node"
type: vmess
server: example.com
port: 443
...

# Proxy groups (proxy-groups:)
proxy-groups:
- name: "PROXY"
type: select
proxies: ["My-Node", "DIRECT"]

# Traffic rules (rules:)
rules:
- GEOIP,CN,DIRECT
- MATCH,PROXY
Full Config Guide →
08
Troubleshooting

Troubleshooting

Slow speeds usually stem from node quality or config issues. To improve:

  1. Test Latency: Bulk test nodes and pick the lowest (< 100ms).
  2. Switch Protocol: Try Hysteria 2 or TUIC nodes for better performance on weak networks (UDP acceleration).
  3. Choose Nearest Location: Use nodes in HK, SG, or JP for the best latency from mainland China.
  4. Close Connections: Check the 'Connections' page and close unnecessary long-lived tasks.
  5. Check Mode: Ensure you are in 'Rule' mode to avoid proxying local traffic.
  • Link Expired: Verify with your provider that the link is still valid.
  • Proxy to Update: Try updating while connected to an existing working node.
  • Check Network: Ensure your network can reach the subscription server.
  • Manual Import: Download the YAML file in a browser and import from a local file.

System Proxy only works for apps that respect system settings. To capture all traffic:

  • Enable TUN Mode (Strongly Recommended): Creates a virtual NIC to capture all TCP/UDP traffic at the system level. Supported on Windows, macOS, and Linux.
  • ProxyChains: Force specific CLI apps to use SOCKS5.

This usually means Clash cannot connect to the server. Causes:

  • Node Down: Server port is blocked or service is suspended. Switch nodes.
  • Port Conflict: Clash's default ports (7890, 7891) are in use by another app. Check with `netstat` or `lsof`.
  • Firewall: Windows Defender or other security software is blocking Clash.

Validate Clash status with these methods:

  • Check IP: Visit `ip.sb` or `whatismyip.com`. If it shows the proxy node's country, it's working.
  • Check Logs: View 'Log' or 'Connections' in your client to see routing (Proxy / Direct / Reject).
  • Test Sites: Try visiting `google.com` or `youtube.com`.
Ready to Start

Questions Answered?
Download Clash Now

Choose the right client and download the latest stable release. Always free and open-source.

Free Download Latest Version View Config Tutorial
Windows .exe Installer
macOS .dmg Installer
Android .apk Installer
iOS App Store
Linux CLI Core / GUI