Official User Guide · Regularly Updated

Clash Tutorials

Install · Subscription · Config · Advanced · FAQ

From download and installation to importing subscriptions, configuring rule splitting, and enabling TUN global proxy, master Clash on all platforms. Covers Clash Verge Rev, FlClash, and Mihomo core.

Beginner's Guide

5-Minute Clash Quick Start

Whether you're on Windows, macOS, Android, or Linux, follow these 5 steps to complete your Clash setup and start using proxy services.

1

Download Client

Go to the Download Center. Choose Clash Verge Rev for Windows/macOS, or FlClash for Android.

2

Install & Launch

Double-click the installer to install. Once launched, the Clash icon will appear in the system tray or notification bar.

3

Import Subscription

Open the "Config / Subscription" page, paste your provider's subscription URL, and click import/update.

4

Select Proxy Node

Click "Speed Test" in the proxy panel and select a node with latency below 200ms.

5

Enable System Proxy

Toggle the "System Proxy" switch. Your browser will now access blocked sites via Clash.

Need to proxy games or desktop apps? System proxy only affects apps that support proxy settings (like browsers). To proxy all system traffic, please enable TUN Mode—click "Advanced Features" above for setup steps.
Platform-Specific Guides

Clash Installation by Platform

Choose your operating system to view detailed installation steps and recommended clients.

Clash Verge Rev · Windows Installation

1

Download Installer

Download Clash Verge Rev for Windows x64 (.exe) from the Download Center. Choose ARM64 for Qualcomm Snapdragon PCs.

2

Run Installer

Double-click the .exe file. If Windows SmartScreen appears, click "More Info → Run Anyway" and follow the prompts.

3

Install Service Mode (Recommended)

After launching, go to "Settings → System Settings → Service Mode" and click "Install" (requires admin rights). This unlocks TUN global proxy features.

Service Mode is an official feature. Click "Yes" to grant admin rights; it is safe and secure.
4

Import Subscription

Click "Subscriptions" on the left → "+" button → paste URL → click "Import". Your node list will appear shortly.

5

Select Node & Enable Proxy

Switch to the "Proxies" page, click "⚡ Speed Test", and select a low-latency node. Finally, toggle "System Proxy" in the top right.

Recommended Windows Clients
Clash Verge Rev
⭐ Recommended Actively Maintained

Built with Rust + Tauri for a beautiful UI and fast startup. Features Mihomo core with full support for TUN and Service Mode.

Windows 10 / 11 x64 / ARM64 Mihomo Core Built-in
Download for Windows x64 / ARM64 Installers
GitHub Repository

Clash Verge Rev · macOS Installation

1

Check Mac Chip Type

Apple Menu → "About This Mac": choose arm64 for Apple M1/M2/M3 chips; choose x64 for Intel processors.

2

Download & Install DMG

Open the .dmg file and drag the Clash Verge Rev icon into the "Applications" folder.

3

Bypass Gatekeeper

When opening for the first time, Right-click the icon → select "Open" → click "Open" again to bypass macOS Gatekeeper verification.

For macOS Ventura or later, if you see a warning, go to "System Settings → Privacy & Security" and click "Open Anyway" at the bottom.
4

Import Subscription

Click "Subscriptions" → "+" → paste URL → click "Import". Your nodes will be listed under the subscription.

5

Select Node & Enable Proxy

Select a low-latency node in "Proxies" and toggle "System Proxy". All system-proxy-aware apps (Safari, Chrome, etc.) will use the proxy.

Recommended macOS Clients
Clash Verge Rev
⭐ Recommended Apple Silicon Native Support

Native support for Apple Silicon (M1/M2/M3) and Intel. High performance, beautiful UI, and built-in Mihomo core.

macOS 11+ Apple Silicon Intel x64
Download for macOS arm64 / x64 Installers
Not sure about your chip? Click → "About This Mac".

FlClash · Android Installation

1

Download APK

Download the FlClash APK. Most Android phones should use the Universal version; flagships after 2018 can use arm64-v8a for better performance.

2

Allow Unknown Sources

Android blocks apps outside Google Play. Locate the APK file and select "Allow from this source" when prompted.

If Google Play Protect warns you, click "Install Anyway". FlClash is open-source and safe.
3

Install & Open FlClash

Launch FlClash after installation; a quick guide will help you with the basic setup.

4

Add Subscription Config

Click "Configs" in the left menu → "+" in the top right → select "Import from URL" → paste link → click "Save".

5

Start & Grant VPN Permissions

Return to the home page, select a proxy node, and click the "Start" button in the bottom right. Click "OK" when the system prompts for VPN connection authorization.

Recommended Android Clients
FlClash
⭐ Recommended Actively Updated

Built with Flutter for a smooth UI and active updates. Supports Material You dynamic colors and provides full support for Mihomo core protocols.

Android 5.0+ Universal / arm64 Mihomo Core Built-in
Download for Android Universal APK Download
GitHub Repository

Clash Verge Rev · Linux Installation

1

Choose the Right Package Format

Clash Verge Rev offers multiple Linux formats: .deb (Debian/Ubuntu), .rpm (Fedora/openSUSE), and .AppImage (Universal). Use the one matching your distro; choose .AppImage if unsure.

2

Install Package

Debian / Ubuntu (.deb):

sudo dpkg -i clash-verge-rev_*.deb
sudo apt-get install -f

AppImage (Universal):

chmod +x clash-verge-rev_*.AppImage
./clash-verge-rev_*.AppImage
3

Install Service Mode (Required for TUN)

After launching, go to "Settings → System Settings → Service Mode" and click "Install". This requires sudo; enter your password in the prompt. This unlocks TUN global transparent proxy.

Some minimal desktop environments may lack polkit. Run sudo apt install policykit-1 and try again.
4

Import Subscription

Click "Subscriptions" on the left → "+" → paste URL → click "Import". Wait for the nodes to load.

5

Select Node & Enable Proxy

Run a speed test in "Proxies", select a low-latency node, and toggle "System Proxy". For terminal or system-wide traffic, also enable TUN Mode.

Recommended Linux Clients
Clash Verge Rev
⭐ Recommended Actively Maintained

Built with Rust + Tauri. Available in .deb, .rpm, and .AppImage for x64 and ARM64. Built-in Mihomo core with full TUN mode support.

Debian / Ubuntu Fedora / Arch x64 / ARM64
Download for Linux .deb / .rpm / .AppImage
GitHub Repository
Core Engine Note: Mihomo (formerly Clash.Meta) is the leading Clash core, supporting SS, VMess, Trojan, VLESS, Hysteria2, TUIC, and more.
GUI clients (Clash Verge Rev, FlClash) have this built-in. This guide is for advanced users running core on servers, routers, or headless Linux.

Mihomo Core · Linux Server / Headless Installation

1

Download Mihomo Binary

Visit Mihomo GitHub Releases to download the binary for your architecture. Common server versions:

  • mihomo-linux-amd64-*.gz (x86_64 Servers)
  • mihomo-linux-arm64-*.gz (ARM Servers / Raspberry Pi)
2

Extract & Grant Permissions

gunzip mihomo-linux-amd64-*.gz
mv mihomo-linux-amd64-* /usr/local/bin/mihomo
chmod +x /usr/local/bin/mihomo
3

Create Config Directory & Add config.yaml

mkdir -p ~/.config/mihomo
# Place your config.yaml in this directory.
cp config.yaml ~/.config/mihomo/config.yaml

The config format is identical to GUI clients; you can reuse your provider's YAML content.

4

Run Core / Setup systemd

Temporary Run:

mihomo -d ~/.config/mihomo

Configure Autostart (systemd): Save the following to /etc/systemd/system/mihomo.service

[Unit]
Description=Mihomo Proxy Service
After=network.target

[Service]
ExecStart=/usr/local/bin/mihomo -d /root/.config/mihomo
Restart=on-failure

[Install]
WantedBy=multi-user.target
systemctl enable --now mihomo
5

Manage via Web Dashboard (Optional)

Enable external controllers in config.yaml to manage nodes via Yacd or MetaCubeX dashboards in your browser:

external-controller: 0.0.0.0:9090
secret: your-api-secret          # Recommended: Set an access secret.

After launching, visit http://<Server-IP>:9090/ui to access the dashboard.

Recommended Core Engines
Mihomo Core
⭐ Top Choice Actively Maintained

Formerly Clash.Meta, now Mihomo. Supports all major protocols (SS / VMess / Trojan / VLESS / Hysteria2 / TUIC). Perfect for headless servers and routers.

Linux / macOS amd64 / arm64 CLI Support
Download Core from GitHub MetaCubeX / mihomo Releases
GUI users (Clash Verge Rev / FlClash) don't need to download this separately as it's built-in.
iOS Platform Note: Due to iOS restrictions, you cannot install via APK/IPA. You must purchase apps from the App Store. Here are the top two Clash-compatible clients for iOS.
Stash
¥30.00 (CN Store) · $3.99 (US Store)

Fully compatible with Clash/Mihomo configs. Supports direct subscription imports with a modern, feature-rich UI. The closest experience to desktop Clash on iOS. Available on the CN App Store for easy purchase.

Clash Subscription Support Rule-based Splitting Available in CN Store iOS 15+
Shadowrocket
$2.99 (US Store)

The most established proxy tool on iOS. Supports SS, VMess, Trojan, VLESS, and more. Compatible with Clash subscriptions. Requires a US Apple ID.

Clash Config Compatible Multi-Protocol Support Requires US Apple ID iOS 13+
Quantumult X
$7.99 (US Store)

A powerful advanced proxy tool supporting custom JS scripts and complex rules. Also compatible with Clash subscriptions. Ideal for pro users on iOS.

JS Script Support Advanced Rules Requires US Apple ID iOS 13+
How to Import Subscription? Find "Subscription" or "Config" in your iOS app, choose "Import from URL", and paste the link. Alternatively, open the link in Safari and select the app to open it.
Subscription Setup

How to Add Subscriptions in Clash

A Subscription URL is an online config link from your proxy provider. Clash uses it to automatically fetch and update all available nodes.

1

Get Subscription URL

Log in to your provider's dashboard, find "Clash Subscription", and copy the full URL starting with https://.

2

Open Config/Subscription Page

Locate "Configs" (Clash Verge Rev) or "Subscriptions" (FlClash) in the sidebar.

3

Add New Subscription

Click "+" or "New" in the top right, paste the copied URL, and add a recognizable name.

4

Click Import & Wait for Update

Click "Import" or "Save". Clash will fetch and download the node configuration. Wait for the list to populate.

5

Select Config & Speed Test

Switch to the new config, go to "Proxies", click "Speed Test", select a low-latency node, and enable system proxy.

Privacy Note: Your subscription URL contains account info. Do not share it with others.
Regular Updates: Providers may change node addresses. Click "Update" regularly to prevent nodes from going offline.
Auto-Update: Clash Verge Rev supports auto-update intervals (e.g., 24 hours) in subscription settings.
Import Failed? Ensure the URL is complete and starts with https://. Try enabling an existing proxy before importing.
Configuration

Clash Config Deep Dive
YAML Format Guide

Clash uses YAML files. Understanding core fields helps you customize proxy behavior, from ports to split rules.

mixed-port

Mixed Proxy Port

Listens for both HTTP and SOCKS5. Default is 7890; can be changed in settings to avoid conflicts.

proxies

Node List

Defines all proxy nodes (SS, VMess, Trojan, VLESS, Hysteria2, TUIC, etc.). Automatically populated via subscription.

proxy-groups

Proxy Groups

Groups multiple nodes for strategies like url-test (auto-select), fallback, or load-balance.

rules

Rule-based Splitting

Directs traffic based on Domain, IP, or GeoIP. The core of "Direct for Local, Proxy for Global."

dns

DNS Configuration

Configures local and international DNS groups to prevent pollution and ensure accurate resolution. Essential for TUN mode.

config.yaml
# Clash / Mihomo configuration example mixed-port: 7890 allow-lan: false mode: rule log-level: info dns: enable: true nameserver: - 223.5.5.5 # Aliyun DNS - 8.8.8.8 # Google DNS proxies: - name: HK-01 type: trojan server: example.com port: 443 password: your-password proxy-groups: - name: PROXY type: url-test # auto select proxies: [HK-01] url: http://www.gstatic.com/generate_204 interval: 300 rules: - GEOIP,CN,DIRECT # CN IP direct - DOMAIN-SUFFIX,google.com,PROXY - DOMAIN-SUFFIX,github.com,PROXY - MATCH,DIRECT # fallback
Advanced Config

Advanced Features Guide

Master these advanced features to maximize Clash efficiency and flexibility.

TUN Mode (Global Transparent Proxy)

System proxies only work for proxy-aware apps. TUN mode uses a virtual NIC to capture all system traffic, perfect for games and non-proxy apps.

  • Clash Verge Rev: Install Service Mode first, then enable in "Settings → TUN Mode."
  • FlClash (Android): VPN mode is global by default; no extra setup needed.
  • We recommend configuring DNS alongside TUN to prevent leaks and protect privacy.
Global Traffic Gaming Proxy Admin Rights Required

Proxy Group Strategies

Group nodes into different strategies for intelligent switching.

  • url-test (Auto-select): Periodically tests speed and switches to the fastest node.
  • fallback: Automatically switches to a backup node if the primary one fails.
  • load-balance: Distributes traffic across multiple nodes to increase total bandwidth.
  • select: Manually specify a node in the proxy panel.
Auto Speed Test High Availability

Rule-based Splitting (Direct for Local, Proxy for Global)

Precisely control traffic flow via the rule engine, enabling direct connections for local sites and proxies for international services to balance speed and privacy.

  • DOMAIN-SUFFIX: Matches domain suffixes, e.g., .google.com.
  • IP-CIDR: Matches IP ranges, used for local IP direct rules.
  • GEOIP,CN,DIRECT: Automatically connects Chinese IPs directly while others use the proxy.
  • RULE-SET: References community-maintained rulesets (e.g., ACL4SSR).
Direct Connection Precise Splitting

Rule Provider (Online Rulesets)

Reference externally hosted ruleset files via rule-providers to avoid manual maintenance. One config for a constantly updated rule list.

  • Supports YAML/text rule files with customizable auto-update intervals.
  • Recommended community rulesets: Loyalsoldier/clash-rules, ACL4SSR.
  • Reference multiple rulesets simultaneously and match them in priority order.
Auto-Update Community Rules

DNS Anti-Pollution Config

Proper DNS configuration prevents pollution and leaks, ensuring accurate resolution—crucial for TUN mode.

  • Use local DNS (e.g., 223.5.5.5, 119.29.29.29) for domestic domains.
  • Use encrypted DNS (e.g., 8.8.8.8, 1.1.1.1) for international domains.
  • Enable fake-ip mode to accelerate DNS response times.
  • Use with nameserver-policy for rule-based grouped resolution.
Anti-Pollution Encrypted DNS

External Controller & Monitoring

Clash features a built-in RESTful API for real-time traffic monitoring, node switching, and connection management via Web dashboards.

  • Default controller port is 9090, configurable via external-controller.
  • Supports third-party Web dashboards like Yacd and MetaCubeX.
  • Remotely manage Clash cores deployed on routers or servers.
  • View real-time rule matching for every connection, perfect for debugging.
Web Dashboard API Control
FAQ

Clash FAQ & Troubleshooting

A curated list of common installation, configuration, and connection issues with their solutions.

Why can't I access the internet after installing Clash?

Please follow these troubleshooting steps:

  1. Confirm that "System Proxy" is toggled ON in the client.
  2. Check if node latency is normal (run a speed test in the proxy panel).
  3. Chrome users can try the SwitchyOmega extension, setting the HTTP proxy manually to 127.0.0.1:7890.
  4. If system proxy doesn't work, try enabling TUN Mode for global traffic.
Subscription import failed or zero nodes found?

Common causes and solutions:

  • Subscription expired: log in to your provider's dashboard for a new link.
  • Network error: enable an existing proxy or VPN before importing.
  • Incomplete URL: ensure it starts with https:// and has no extra spaces.
  • Incompatible format: ask your provider if they offer Clash-compatible subscriptions.
What is "Service Mode" in Clash Verge Rev? Is it safe?

Service Mode is a system component for Clash Verge Rev that enables TUN Global Transparent Proxy without requiring admin rights every time. It's an official feature and completely safe.

You'll need to enter your admin password during installation, similar to installing a driver. You can skip this if you only need the basic system proxy mode.

How to enable TUN Mode for games and desktop apps?

Clash Verge Rev (Windows / macOS):

  1. First, install Service Mode in "Settings → System Settings" (requires admin rights).
  2. Once installed, find "TUN Mode" in "Settings" and toggle it ON.
  3. All system traffic, including games and non-proxy apps, will now go through Clash.

FlClash (Android): VPN mode is global by default; no additional setup is required.

How to fix "Port 7890 is already in use"?

This usually happens because a previous Clash process didn't exit correctly or another app is using the port. Solutions:

  • Fully exit Clash and restart.
  • Go to "Settings → Ports" and change the Mixed Port to an unused one (e.g., 7891).
  • Remember to update your browser extension (like SwitchyOmega) with the new port number.
How to set Clash to autostart on boot?

Clash Verge Rev (Windows): Toggle "Start on Boot" in "Settings → System Settings".

Clash Verge Rev (macOS): Toggle "Start on Boot" in "Settings → System Settings" to add it to Login Items.

FlClash (Android): Enable "Autostart" in system settings and disable battery optimization for FlClash to prevent it from being killed in the background.

Troubleshooting high latency or frequent disconnections?
  • Run "Speed Test" and switch to a node with latency below 200ms.
  • Update your subscription—your provider may have updated node addresses.
  • Congestion during peak hours (8-11 PM) is normal; try switching regions.
  • Switch protocols—Hysteria2 and TUIC perform better in high packet-loss environments.
  • Check your local network: ensure stable Wi-Fi or test with a wired connection.
Difference between a Config File and a Subscription Link?

A Subscription Link is a remote URL hosted by your provider. Clash fetches and updates it automatically—ideal for most users.

A Local Config is a YAML file on your machine that you can manually edit for custom rules and strategies—best for advanced users.

Both use the same YAML format; a subscription link is essentially a remote YAML config.

Are there any free Clash clients for iOS?

There are currently no fully free, feature-complete Clash-compatible clients on iOS. Development and maintenance costs mean the top choices are paid:

  • Stash: ¥30 (CN Store), feature-rich and Clash-compatible.
  • Shadowrocket: $2.99 (US Store), the most popular proxy tool.

A one-time purchase provides lifetime access, making them great value.

Android security warning when installing FlClash APK?

This is a standard Android warning for apps outside Google Play, not a real security threat. Steps:

  1. Click "Install Anyway" if Google Play Protect warns you.
  2. Or enable "Install unknown apps" for your file manager/browser in system settings.

FlClash is fully open-source on GitHub; the code is public and contains no malicious content.

Haven't downloaded Clash yet?

Free and open-source. Supports Windows, macOS, Android, iOS, Linux, and core engine deployment. Download and start now.