1
Quick Start: 5 Steps to Your First Setup
If you're using Clash for the first time, follow these 5 steps to get configured and online in about 10 minutes.
1
Download the Right Client for Your OS
Go to the Clash Client Download page and choose the installer for your OS. We recommend Clash Verge Rev for Windows, ClashX Meta for macOS, Clash Meta for Android for Android, and Stash or Shadowrocket for iOS.
2
Install & First Launch
Windows: Double-click the .exe installer and follow the prompts. macOS: Drag the App from the .dmg into your Applications folder. Android: Install the .apk file (enable 'Unknown sources').
3
Get Your Subscription Link
Obtain a Clash-formatted subscription URL (a long link starting with https:// ) from your provider. Most providers offer a one-click copy button in their dashboard.
4
Import Subscription & Update Nodes
Find the "Subscription Management" or "Config" interface in your client, click "Add Subscription," paste the URL, and save. Then click "Update" or "Refresh" to load the node list. See §2 Subscription Import。
5
Select Node & Enable System Proxy
Pick a node with low latency, set the proxy mode to "Rule," and finally toggle the "System Proxy" switch to start using Clash.
Pro Tip
For first-time use, we recommend "Rule Mode." It automatically handles domestic direct connections and international proxies for balanced speed and security without manual setup.
2
Subscription Import & Management
A subscription link is a hosted Clash YAML config address that the client uses to pull the latest nodes. This is much easier than importing single nodes manually and supports one-click updates.
Adding a New Subscription
1
Open Subscription/Config Management
In Clash Verge Rev, click "Profiles" on the left; in ClashX Meta, click the menu bar icon → Config → Manage; in Clash for Android, click "Profiles" at the bottom.
2
Paste Subscription Link
Click "New" or "+", paste the link into the URL field, give it a name (e.g., My Airport), and click Confirm.
3
Fetch & Enable Config
Click "Update" or "Refresh." Once nodes load, click the profile card to set it as current.
Auto-update Subscription
Most clients can auto-update at set intervals (e.g., every 12 or 24 hours). In Clash Verge Rev, click the settings icon on the profile card and set the "Auto Update" interval.
Manually Import Local Config
If you have a local config.yaml file, you can load it directly via "Import Local File" without a network request.
Security Warning
Only get subscription links from trusted sources. Do not scan random QR codes or click unknown links to add subscriptions to avoid data leaks or MITM attacks.
Clash offers three proxy modes for different scenarios. Understanding them helps you balance speed and privacy perfectly.
| Mode |
How It Works |
Usage Scenario |
Recommended |
| Rule Mode |
Smart routing via YAML rules: Domestic direct, International via proxy |
Daily browsing, balances local and global speeds |
Highly Recommended |
| Global Mode |
Forces all traffic through the proxy node |
Full anonymity, testing node connectivity |
Use as needed |
| Direct Mode |
All traffic bypasses the proxy |
Temporarily disabling proxy, testing local net |
Temporary use |
About Rule Mode Routing Logic
In Rule Mode, Clash matches traffic from top to bottom through your rules. The first match wins. Common types include DOMAIN (exact), DOMAIN-SUFFIX, IP-CIDR (range), GEOIP (location), and MATCH (fallback).
Clash's core config is a YAML file, usually named config.yaml. It has five core sections: General, Proxies, Proxy Groups, DNS, and Rules.
General Settings & Ports
port: 7890
socks-port: 7891
mixed-port: 7892
redir-port: 7893
tproxy-port: 7894
allow-lan: false
mode: rule
log-level: info
ipv6: false
external-controller: 127.0.0.1:9090
secret: ""
Proxy Nodes (proxies)
proxies:
- name: "HK-SS-01"
type: ss
server: hk.example.com
port: 8388
cipher: aes-256-gcm
password: "your-password"
udp: true
- name: "JP-VMess-01"
type: vmess
server: jp.example.com
port: 443
uuid: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
alterId: 0
cipher: auto
tls: true
network: ws
ws-opts:
path: "/path"
- name: "SG-Trojan-01"
type: trojan
server: sg.example.com
port: 443
password: "your-trojan-password"
sni: sg.example.com
Traffic Routing Rules (rules)
rules:
- DOMAIN-SUFFIX,cn,DIRECT
- DOMAIN-SUFFIX,baidu.com,DIRECT
- DOMAIN-SUFFIX,taobao.com,DIRECT
- DOMAIN-SUFFIX,jd.com,DIRECT
- GEOIP,CN,DIRECT
- IP-CIDR,192.168.0.0/16,DIRECT
- IP-CIDR,10.0.0.0/8,DIRECT
- IP-CIDR,172.16.0.0/12,DIRECT
- PROCESS-NAME,curl,DIRECT
- MATCH,Proxy
Rule Matching Priority
Rules match from top to bottom. The first match executes and stops further matching. Place precise rules at the top and theMATCH 'MATCH' fallback rule at the bottom.
5
TUN Transparent Proxy Mode
TUN Mode creates a virtual network adapter at the system level, allowing Clash to capture all traffic — including apps like games, CLI tools, and Steam that ignore system proxy settings.
TUN Mode vs System Proxy Comparison
| Feature |
System Proxy Mode |
TUN Mode |
| Traffic Coverage |
Proxy-aware apps only (e.g., Browsers) |
All apps, including Games/Terminal |
| UDP Traffic |
Partial support |
Full support |
| Permissions Required |
Standard User Permissions |
Requires Administrator / Root Privileges |
| Configuration Difficulty |
Simple |
Slightly Complex (One-click toggle) |
| Game Acceleration |
Usually Ineffective |
Effective |
Enabling TUN Mode (Using Clash Verge Rev as an example)
1
Run the Client as Administrator
Windows: Right-click the client icon → Run as administrator; macOS: Launch normally, the system will prompt for authorization on the first activation.
2
Enter Settings Page
Click the "Settings" icon in the left navigation bar and find the "TUN Mode" or "Virtual Network Adapter" tab.
3
Enable TUN & Select Driver
Toggle the "TUN Mode" switch and select the driver type as Mixed (Recommended). For Windows users, the client will automatically install the WinTun driver on first use.
4
Confirm Virtual Adapter is Active
Once enabled, a virtual network adapter named Clash or mihomo will appear in your system network adapters, indicating all traffic is now hijacked.
Manually Enable TUN in YAML
tun:
enable: true
stack: mixed
dns-hijack:
- "any:53"
auto-route: true
auto-detect-interface: true
6
Platform-specific Installation & Config Guides
Clash clients differ slightly in interface and operation across platforms. Below are full installation guides for each.
7
Proxy Strategy Groups Explained
Proxy strategy groups (proxy-groups) allow you to combine multiple nodes into one "virtual node," enabling advanced features like auto-selection, failover, and load balancing. This is one of Clash's most powerful features.
| Strategy Group Types |
Description |
Usage Scenario |
select |
Manually select nodes via the Dashboard |
Main proxy group, manual exit point |
url-test |
Periodic speed tests, auto-selects the lowest latency node |
Auto-selection, low-latency gaming |
fallback |
Sequential health checks, auto-switches if a node fails |
High availability, prevents single point of failure |
load-balance |
Round-robin traffic distribution across multiple nodes |
Heavy downloads, multi-task concurrency |
relay |
Traffic relays through multiple nodes in sequence |
Multi-hop links, enhanced anonymity |
Strategy Group Config Example
proxy-groups:
- name: "Proxy"
type: select
proxies:
- Auto-Best
- HK-SS-01
- JP-VMess-01
- SG-Trojan-01
- name: "Auto-Best"
type: url-test
proxies:
- HK-SS-01
- JP-VMess-01
- SG-Trojan-01
url: "http://www.gstatic.com/generate_204"
interval: 300
tolerance: 50
- name: "Fallback-Group"
type: fallback
proxies:
- HK-SS-01
- JP-VMess-01
- SG-Trojan-01
url: "http://www.gstatic.com/generate_204"
interval: 300
- name: "Load-Balance"
type: load-balance
strategy: consistent-hashing
proxies:
- HK-SS-01
- JP-VMess-01
url: "http://www.gstatic.com/generate_204"
interval: 300
8
DNS Settings & Leak Protection
Proper DNS settings prevent DNS Leaks, ensuring your browsing habits aren't logged by your local ISP while speeding up resolution.
Recommended DNS Config Example
dns:
enable: true
ipv6: false
listen: 0.0.0.0:1053
enhanced-mode: fake-ip
fake-ip-range: 198.18.0.1/16
fake-ip-filter:
- "*.lan"
- "localhost.ptlogin2.qq.com"
- "+.stun.*.*"
- "+.stun.*.*.*"
default-nameserver:
- 223.5.5.5
- 119.29.29.29
nameserver:
- https://doh.pub/dns-query
- https://dns.alidns.com/dns-query
fallback:
- https://1.1.1.1/dns-query
- https://8.8.8.8/dns-query
fallback-filter:
geoip: true
geoip-code: CN
About fake-ip Mode
fake-ip mode, Clash returns a spoofed IP address to establish connections quickly, but this may cause issues with certain software (like online games or P2P programs). If problems occur, you can change enhanced-mode to redir-host。
9
FAQ - Frequently Asked Questions
Does Clash include its own node/server resources?
No. Clash is a local proxy client and rule-splitting engine; it does not provide any server nodes. You must obtain subscription links or node configuration info from a third-party service provider.
I see "No proxies" or an empty node list after importing a subscription. How do I fix this?
Please check: ① Is the subscription link correct (try re-copying it)? ② Can your current network access the subscription address (some links require a specific network environment)? ③ Try opening the link directly in a browser to confirm it returns YAML content. If the issue persists, contact your provider.
My browser works with Clash, but other apps (games/applications) don't use the proxy?
The default "System Proxy" mode only works for apps that recognize HTTP proxy settings (mostly browsers). Game clients and terminal programs usually require enabling
TUN Mode to be captured. Please refer to the setup steps in
§5 TUN Transparent Proxy Mode .
Some domestic websites are inaccessible or slow in Clash Rule Mode?
Possible causes: ① The site isn't in the direct connection rules, so traffic goes through a slow proxy; ② The rule file in your subscription is outdated. Solutions: ① Update your subscription (rules update with it); ② Manually add a DOMAIN-SUFFIX,example.cn,DIRECT rule for that domain in your YAML; ③ Temporarily switch to "Direct Mode" to test.
How do I view real-time Clash connection logs?
Clash has a built-in RESTful API and Web Dashboard (default address: http://127.0.0.1:9090/ui). Open this in your browser and go to the "Connections" page to see all active connections and their routing (proxy vs. direct).
Where is the Clash config file located? Can I edit it manually?
Windows:%APPDATA%\clash-verge\profiles\ or C:\Users\Username\.config\clash\;macOS/Linux:~/.config/clash/config.yaml or ~/.config/mihomo/config.yaml. You can edit it with any text editor. Click "Reload Config" in the client or restart it to apply changes.
What's the difference between Clash and V2Ray / Xray?
V2Ray/Xray focuses more on protocol implementation and traffic obfuscation. Clash (particularly the mihomo/Clash.Meta core) builds on that with a refined rule-splitting engine, strategy group management, and a Web Dashboard, making it easier for daily use and managing multiple subscriptions. Modern Clash.Meta cores also support Xray-specific protocols like VMess, VLESS, and Reality.
Does Clash support merging multiple subscriptions?
Native Clash doesn't support merging subscriptions directly, but you can use third-party tools (like Sub-Store or subconverter) to merge multiple links into one. The resulting URL works in Clash just like a single subscription.
Don't have a Clash client yet?
Download the latest version for your OS now and follow this tutorial to get started.
Free Download Clash Client