Quick Start
Get started with Clash in just three steps:
Download Client
Choose the appropriate client package for your operating system on our download page.
Go to Download PageImport Subscription
Paste the subscription URL provided by your service provider into the client to fetch nodes automatically.
View Import TutorialEnable Proxy
Select a node and enable System Proxy to access Google, YouTube, ChatGPT, and other global services.
Windows Installation Guide
The following guide uses Clash Verge Rev as an example (highly recommended for beginners).
Download Package
Go toDownload Page, and select Clash Verge Rev Windows x64 (works for most PCs). If your computer is ARM-based (like the Surface Pro X), download the ARM64 version.
Run Installer
Double-click the downloaded .exe file. If Windows Defender SmartScreen blocks it, click "More info" → "Run anyway". The installer will complete the setup automatically.
Import Subscription URL
Open Clash Verge Rev → Click "Subscriptions" in the left menu → Click "+" in the top right → Paste your subscription URL in the pop-up → Click "Import" and wait for node fetching to complete.
Enable System Proxy
Go to the "Proxies" page on the left and select a low-latency node (click the lightning icon to test speed). Return to the "Home" page and toggle "System Proxy" to ON. You can now access global services via your browser.
macOS Installation Guide
The following guide uses ClashX Meta as an example installation process.
Check Chip Type
Click the Apple icon in the top left → "About This Mac" to check your processor. M1/M2/M3/M4 (Apple Silicon) users should download the ARM64 version; Intel users should download the x64 version.
Install ClashX Meta
Open the .dmg file and drag the app into the "Applications" folder. If prompted with "Unverified Developer" on first launch, go to "System Settings → Privacy & Security" and click "Open Anyway".
Import Config & Enable
Once launched, click the cat icon in the menu bar → "Config" → "Remote Config" → Paste your URL → "OK". After success, select "Set as system proxy" to enable.
Android Installation Guide
Using FlClash as an example. Install via APK directly, no Google Play required.
Verify CPU Arch & Download APK
Most phones released after 2016 use ARM64 (arm64-v8a). Download the ARM64 version. If installation fails or you have an older device, try the ARMv7 (armeabi-v7a) universal version.
Allow Unknown Sources
Go to "Settings → Security" (or App Management) and enable "Install Unknown Apps" for your browser or downloader.
Install & Configure
Open the APK to install. In FlClash, click the top right "+" → Select "URL" → Paste subscription link → Save. Toggle the proxy switch on the main screen. Grant VPN permission when prompted.
iOS Installation Guide
Using Stash as an example:
Switch to US App Store
Open App Store → Tap your profile icon → Scroll to the bottom → Tap "Sign Out" → Sign in with your US Apple ID.
Buy & Install Stash
Search for "Stash" in the App Store → Purchase (approx. $3.99) → Install. You'll need a US gift card or an international credit card (Visa/Mastercard) for the purchase.
Import Subscription & Enable
Open Stash → "Config" tab → Top right "+" → "Download from URL" → Paste subscription link. Return to the main screen and toggle "Connected". Grant VPN permission when prompted.
Linux Installation Guide
Linux options include GUI clients (Clash Verge Rev) and command-line cores (Mihomo).
Option 1: GUI Client (Recommended for Desktop)
# Install DEB package (Ubuntu/Debian)
sudo dpkg -i clash-verge-rev-linux-amd64.deb
# Or install RPM package (Fedora/CentOS)
sudo rpm -i clash-verge-rev-linux-x86_64.rpm
Import Subscription URL
A "Subscription Link" (Subscription URL) is a node configuration address from your provider. Clash uses it to automatically pull and parse all available nodes.
General Import Steps
- Open Clash, and find the "Subscription," "Config," or "Profile" section.
- Click the Add button (usually "+"), and select "Import URL" or "Remote Config"
- Paste your subscription URL and click Confirm/Import
- Wait for the client to fetch and parse nodes (usually takes a few seconds)
- Select a node from the proxy list and start the service
Auto-Update Subscriptions
We recommend enabling auto-update for subscriptions. This is usually found in Subscription Settings; a 24-hour interval is recommended to keep node information current.
Configuration Details
Clash uses YAML for its configuration file (config.yaml). Understanding its structure helps you customize rules and policy groups.
mixed-port: 7890 # HTTP and SOCKS5 mixed port
allow-lan: false # Set true to share proxy with LAN devices
mode: rule # rule | global | direct
log-level: info
proxies:
# Proxy nodes (usually imported via subscription)
- name: HK-01
type: trojan
server: hk.example.com
port: 443
password: your-password
proxy-groups:
- name: PROXY
type: select
proxies: [HK-01, DIRECT]
rules:
- DOMAIN-SUFFIX,google.com,PROXY
- DOMAIN-KEYWORD,youtube,PROXY
- GEOIP,CN,DIRECT
- MATCH,PROXY
| Parameter | Description | Common Values |
|---|---|---|
mixed-port |
HTTP & SOCKS5 Mixed Proxy Port | 7890 |
mode |
Traffic Mode | rule (Rule-based routing) / global (Global proxy) / direct (Full direct connection) |
allow-lan |
Enable proxy sharing for other devices on your local network | false (Default) / true (Share with routers/other devices) |
proxies |
List of proxy nodes | Typically populated automatically via subscription URL |
proxy-groups |
Policy groups (Auto-select, Manual, Load Balance, etc.) | See Policy Group Guide below |
rules |
List of routing rules | See Routing Rules Guide below |
Rule Routing Setup
Rule-based routing is Clash's core feature, allowing local traffic to connect directly while global traffic goes through a proxy and ads are blocked—all automatically.
Rule Types Overview
DOMAIN-SUFFIX,google.com,PROXY
Matches google.com and all subdomains (mail.google.com, drive.google.com, etc.)
DOMAIN-KEYWORD,youtube,PROXY
Proxies any request where the domain contains "youtube"
GEOIP,CN,DIRECT
Direct connection if the target IP is in China; effective for local traffic
IP-CIDR,192.168.0.0/16,DIRECT
Direct connection for LAN IPs, no proxy used
RULE-SET,gfw,PROXY
Fetches a ruleset from a remote URL, standard format for many service providers
MATCH,PROXY
Handles all traffic that doesn't match any specific rule
Supported Protocols
Clash (based on Mihomo/Clash.Meta cores) supports the industry's most comprehensive set of protocols for diverse environments and security needs.
| Protocol | Features | Recommended Use Cases |
|---|---|---|
| Shadowsocks (SS) | Lightweight and efficient, very low resource usage | Ideal for high-traffic scenarios with low latency requirements |
| VMess | Native V2Ray protocol, TLS encryption, anti-detection | Best for high security and bypassing GFW detection |
| VLESS | A simplified version of VMess with lower overhead | Optimized when used with REALITY |
| Trojan | Disguises traffic as standard HTTPS; extremely hard to detect | Best for strict DPI (Deep Packet Inspection) environments |
| Hysteria2 | Based on QUIC/UDP for high speed and low latency | Best for streaming, gaming, and high-speed transfers |
| TUIC | QUIC-based protocol for low latency | Ideal for real-time apps and video calls |
| REALITY | VLESS with real-site certificate masking for maximum stealth | The top choice for extremely strict censorship environments |
| WireGuard | Modern kernel-level VPN protocol, highly efficient | P2P tunneling for enterprise or personal VPNs |
TUN Mode Config
TUN mode creates a virtual network interface to intercept all system TCP/UDP traffic, providing true global proxying for apps that don't support system proxy (e.g., some games, CLI tools).
Enable TUN in Clash Verge Rev
- Run Clash Verge Rev as Administrator (Right-click → Run as administrator)
- Go to "Settings" → "System Settings"
- Toggle the "TUN Mode" switch to ON
- Click "Yes" when the permission request appears
- Wait for the virtual adapter to be created; "TUN Running" indicates success
tun:
enable: true
stack: system # system | gVisor | mixed
auto-route: true
auto-detect-interface: true
dns-hijack:
- any:53
Policy Group Settings
Policy groups (proxy-groups) allow you to organize nodes into strategies for auto-selection, load balancing, failover, and more.
Manual Selection
Manually switch nodes in the client interface, ideal for users who need a specific location.
Latency Auto-Select
Regularly tests all node latencies and automatically selects the fastest one.
Failover
Prioritizes the first available node and automatically switches to the next if it fails.
Load Balancing
Distributes traffic across multiple nodes, suitable for scenarios requiring multiple simultaneous connections.
Core Arch & Performance
Clash is trusted by millions because of its rich features and an underlying architecture optimized for high throughput, low latency, and efficiency.
Go Language: Native High Concurrency
The Clash core (Mihomo) is written in Go. Its goroutine scheduling model allows handling thousands of concurrent connections with minimal memory—the core remains fast even when streaming, gaming, and downloading simultaneously. Compared to C/C++ implementations, Go offers superior development efficiency and runtime safety, with memory safety mechanisms reducing crash and vulnerability risks.
Ultra-Low CPU Usage
Idle CPU usage is typically under 1%, requiring minimal resources even for 100 Mbps traffic.
Memory Friendly
Typically uses 30–80 MB of RAM, running smoothly even on low-end devices and routers.
High Throughput Forwarding
Single-core processing can reach Gbps-level speeds, meeting the highest bandwidth demands for homes and offices.
Post-Quantum Encryption
Supports modern encryption like VLESS + REALITY, offering superior security compared to legacy protocols.
High-Speed Protocol Support
Choosing the right protocol is key to speed. These protocols are natively supported by Mihomo and optimized for high-bandwidth scenarios:
- Hysteria2: Built on QUIC/UDP, designed for high-latency/high-loss networks. Delivers speeds up to hundreds of Mbps; ideal for streaming and gaming.
- TUIC: Also QUIC-based, with 0-RTT handshakes for ultra-low initial latency. Best for real-time communication.
- VLESS + REALITY: Lightweight encryption with near-zero overhead, using real-site certificate masking for superior anti-detection.
- WireGuard: A modern kernel-level VPN protocol with low overhead and very low latency.
Smart DNS & Rule Caching
Mihomo features built-in DNS caching and rule indexing for nearly zero-cost repeated requests. Combined with Routing Rules, local traffic connects directly, avoiding the proxy node and reducing latency.
url-test mode in your policy group; Clash will auto-select the fastest node. See Policy Group Setup.
Register US Apple ID
Due to regional policies, proxy apps must be purchased with a US App Store account. Here is the full registration process.
Prepare an Email Address
Prepare an email address (Gmail, Outlook, iCloud) that hasn't been used for an Apple ID and can receive verification codes.
Register at appleid.apple.com
Visit appleid.apple.com, tap "Create Your Apple ID". For Country/Region, select"United States", use an English name, ensure birth date is 18+, and complete email verification.
Switch Accounts in App Store
Open App Store → Tap profile icon → Scroll to bottom → "Sign Out" → Sign in with your new US account.
Setup Payment Method
Select payment method as "None" during first sign-in. To buy paid apps, use a US App Store gift card or an international credit card (Visa/Mastercard).
Linux CLI Config Guide
Configure proxy via command line using the Mihomo core on servers without a desktop environment.
# Create config directory
sudo mkdir -p /etc/mihomo
sudo cp config.yaml /etc/mihomo/
# Create systemd service file
sudo tee /etc/systemd/system/mihomo.service <<EOF
[Unit]
Description=Mihomo Clash Kernel
After=network.target
[Service]
Type=simple
ExecStart=/usr/local/bin/mihomo -f /etc/mihomo/config.yaml
Restart=on-failure
RestartSec=3
[Install]
WantedBy=multi-user.target
EOF
# Enable and start the service
sudo systemctl daemon-reload
sudo systemctl enable mihomo
sudo systemctl start mihomo
sudo systemctl status mihomo
Frequently Asked Questions
Why can't I access websites after enabling the proxy?
Follow these troubleshooting steps:
- Verify Node: Perform a latency test in the client and choose a node with a healthy response time (<500ms).
- Check Proxy Mode: Ensure you are in "Rule" mode rather than "Direct".
- Enable System Proxy: Some clients require you to manually toggle "System Proxy" or "Set as system proxy".
- Firewall/Security Software Conflict: Temporarily disable other VPNs or security apps to prevent port conflicts.
How do I proxy specific apps like games?
Enable TUN Mode (see guide above). TUN mode creates a virtual network interface to intercept all system traffic, including games and CLI tools.
What should I do if I get a "Failed to Parse" error after importing?
"Failed to Parse" usually occurs for the following reasons:
- The subscription URL has expired; refresh it on your service provider's website
- Your proxy account has expired or you've run out of traffic; contact your provider
- Network issues preventing access to the URL; try a manual import or update over a different network
- Incompatible format: Ensure you are using the Clash (YAML) format, not Base64 or others
What is the difference between Clash and a traditional VPN?
Clash is a proxy client, not a standalone VPN service. The key differences are:
- Requires Proxy Nodes: Clash itself doesn't provide servers; you need an active subscription from a service provider
- Granular Routing: Precisely control which traffic uses a proxy; traditional VPNs are usually all-or-nothing tunnels
- Fully Open Source: Code is public and auditable, ensuring no hidden backdoor risks
- Superior Protocol Support: Supports Trojan, Hysteria2, REALITY, and other protocols designed for censorship resistance
What should I do if my internet speed slows down using Clash?
Common reasons and solutions for slow speeds:
- Node Distance/Quality: Switch to a node with lower latency; closer regions are usually faster
- Unnecessary Proxying: Check your rules; local traffic should be set to "Direct" rather than through a proxy
- Global Mode Enabled: Change to "Rule" mode to allow local traffic to connect directly
- Provider Bandwidth Caps: Some plans have limits; speeds may drop during peak hours
Ready to Start with Clash?
Head to our download page, choose the right client for your device, and follow this 5-minute guide.