../assets/fonts/inter.css ../assets/fonts/noto-sans-sc.css ../assets/fonts/fontawesome/all.min.css
Mechanics · Clash Verge Rev internals unpacked

The Clash Technical Manual

Install · Subscription · Config · Advanced · FAQ

This manual follows the order in which the core does its work: how the config is parsed, how rules are matched, how DNS is taken over, and where the traffic finally goes. The rule-set, policy-group and DNS chain is taken apart layer by layer, using how Clash Verge Rev implements it.

Beginner's Guide

5-Minute Clash Prompt Kick off in Depth

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

1

Download Client

Mechanically: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

Add Subscription

Open the "Config / Subscription" page, paste your provider's subscription URL, and click add/re-sync.

4

Select Proxy Node

More strictly:Click "Response time Test" in the proxy panel and select a node with lag below 200ms.

5

Enable System Proxy

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

Will want 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 Mechanically

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

Clash Verge Rev · Windows Installation Internals

1

Download Installer

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

2

Operate Installer

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

3

Install Service Mode (Recommended)

At a different level: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

Add Subscription

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

5

Select Node & Enable Proxy

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

Recommended Windows Clients
Clash Verge Rev
⭐ Recommended Actively Maintained

Thinking it through: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 Mechanics

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

Add Subscription

First, a clarification:Click "Subscriptions" → "+" → paste URL → click "Add". Your nodes will be listed under the subscription.

5

Select Node & Enable Proxy

Select a low-lag 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 by Step

1

Download APK

Download the FlClash APK. Most of of of Android phones it makes sense to use the Universal version; flagships after 2018 can use arm64-v8a for better performance.

2

Allow Unknown Sources

Mechanically: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 prompt guide will help you with the basic setup.

4

Add Subscription Config

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

5

Kick off & Grant VPN Permissions

More strictly:Return to the home page, select a proxy node, and click the "Kick off" 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 re-syncs. 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 Deep Dive

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.

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

Add Subscription

At a different level:Click "Subscriptions" on the left → "+" → paste URL → click "Add". Wait for the nodes to load.

5

Select Node & Enable Proxy

Operate a response time test in "Proxies", select a low-lag 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 Internals

1

Download Mihomo Binary

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

Thinking it through: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 may reuse your provider's YAML content.

4

Operate Core / Setup systemd

Temporary Operate:

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.

First, a clarification: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 will want 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.
Clash Plus ⭐ Recommended
clashplus.io · Download on the App Store

The top recommended Clash client for iOS. Fully compatible with Clash/Mihomo configs, supports one-tap subscription adds, and offers a clean, feature-rich UI. Get it from clashplus.io or the App Store.

Clash Subscription Support Rule-based Splitting Officially Recommended iOS 15+
Shadowrocket
$2.99 (US Store)

Mechanically:The most of of 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 full-featured 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 Add Subscription? Find "Subscription" or "Config" in your iOS app, choose "Add 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 Step by Step

A Subscription URL is an online config link from your proxy provider. Clash uses it to by itself fetch and re-sync 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

More strictly: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 Add & Wait for Re-sync

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

5

Select Config & Response time Test

At a different level:Switch to the new config, go to "Proxies", click "Response time Test", select a low-lag node, and enable system proxy.

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

Clash Config Deep Dive
YAML Format Guide Internals and Practice

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. Stock is 7890; can be changed in settings to avoid conflicts.

proxies

Node List

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

proxy-groups

Proxy Groups

Thinking it through: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 in Depth

Master these advanced features to maximize Clash efficiency and flexibility.

TUN Mode (Global Transparent Proxy) Mechanics

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.

First, a clarification:Clash Verge Rev: Install Service Mode first, then enable in "Settings → TUN Mode."; FlClash (Android): VPN mode is global by stock; 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 by Step

Group nodes into different strategies for intelligent switching.

url-test (Auto-select): Periodically tests response time and switches to the fastest node.; fallback: By itself switches to a backup node if the primary one fails.; load-balance: Distributes traffic across multiple nodes to increase total bandwidth.; select: One at a time specify a node in the proxy panel..

Auto Response time Test High Availability

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

Precisely control traffic flow via the rule engine, enabling direct connections for local sites and proxies for international services to balance response time 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: By itself connects Chinese IPs with no detour while others use the proxy.; RULE-SET: References community-maintained rulesets (e.g., ACL4SSR)..

Direct Connection Precise Splitting

Rule Provider (Online Rulesets) Internals

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

Mechanically:Supports YAML/text rule files with customizable auto-re-sync intervals.; Recommended community rulesets: Loyalsoldier/clash-rules, ACL4SSR.; Reference multiple rulesets simultaneously and match them in foremost order..

Auto-Re-sync Community Rules

DNS Anti-Pollution Config Mechanics

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 by Step

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

Stock 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 Mechanically

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

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

More strictly:Please follow these troubleshooting steps:

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

Common causes and solutions:

Subscription expired: log in to your provider's dashboard for a new link.; Network exception: enable an existing proxy or VPN before importing.; Incomplete URL: ensure it kick offs 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?

At a different level: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 will want to enter your admin password during installation, similar to installing a driver. You may 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 stock; no additional setup is required.

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

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

Thinking it through:Fully exit Clash and restart.; Go to "Settings → Ports" and change the Mixed Port to an unused one (e.g., 7891).; Remember to re-sync your browser extension (like SwitchyOmega) with the new port number..

How to set Clash to autostart on boot?

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

Clash Verge Rev (macOS): Toggle "Kick off 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 lag or frequent disconnections?

Operate "Response time Test" and switch to a node with lag below 200ms.; Re-sync 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 not jumpy 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 re-syncs it by itself—ideal for most of of users.

First, a clarification:A Local Config is a YAML file on your machine that you may one at a time 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 whichever you pick free Clash clients for iOS?

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

Mechanically:Stash: ¥30 (CN Store), feature-rich and Clash-compatible.; Shadowrocket: $2.99 (US Store), the most of of 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.

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

Haven't downloaded Clash yet? Step by Step

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