Guide Center

Clash Usage Guide

A step-by-step guide to installing, configuring, and using Clash. No technical background required, complete setup in just 5 minutes.

Quick Start


Get started with Clash in just three steps:

01

Download Client

Choose the appropriate client package for your operating system on our download page.

Go to Download Page
02

Import Subscription

Paste the subscription URL provided by your service provider into the client to fetch nodes automatically.

View Import Tutorial
03

Enable Proxy

Select a node and enable System Proxy to access Google, YouTube, ChatGPT, and other global services.

Tips for Beginners: If you're unsure which client to pick, we recommend Clash Verge Rev for Windows, ClashX Meta for macOS, and FlClash for Android.

Windows Installation Guide


The following guide uses Clash Verge Rev as an example (highly recommended for beginners).

1

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.

2

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.

3

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.

Subscription URLs are provided by your service provider (the "airport"), usually found in the "My Subscriptions" or "Dashboard" section of their website.
4

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.

1

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.

2

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".

3

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.

1

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.

2

Allow Unknown Sources

Go to "Settings → Security" (or App Management) and enable "Install Unknown Apps" for your browser or downloader.

3

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


iOS proxy apps must be downloaded from the App Store and require aUS Apple ID. See details in the US Apple ID Registration Guide.

Using Stash as an example:

1

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.

2

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.

3

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)

Bash — Ubuntu/Debian Installation
# 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.

Where to find the subscription URL?Log in to your provider's site—usually on the "My Subscriptions," "Dashboard," or "One-click Import" page—and copy the Clash-format link.

General Import Steps

  1. Open Clash, and find the "Subscription," "Config," or "Profile" section.
  2. Click the Add button (usually "+"), and select "Import URL" or "Remote Config"
  3. Paste your subscription URL and click Confirm/Import
  4. Wait for the client to fetch and parse nodes (usually takes a few seconds)
  5. 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.

config.yaml — Minimal Working Example
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
Match by Domain Suffix
DOMAIN-SUFFIX,google.com,PROXY

Matches google.com and all subdomains (mail.google.com, drive.google.com, etc.)

DOMAIN-KEYWORD
Match by Domain Keyword
DOMAIN-KEYWORD,youtube,PROXY

Proxies any request where the domain contains "youtube"

GEOIP
Match by IP Country Code
GEOIP,CN,DIRECT

Direct connection if the target IP is in China; effective for local traffic

IP-CIDR
Match by IP Range
IP-CIDR,192.168.0.0/16,DIRECT

Direct connection for LAN IPs, no proxy used

RULE-SET
Remote Ruleset (Subscription Rules)
RULE-SET,gfw,PROXY

Fetches a ruleset from a remote URL, standard format for many service providers

MATCH
Final Fallback Rule (Always at the end)
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).

TUN Mode requiresAdmin Privileges(Windows) or root/sudo(Linux). macOS requires authorization for the helper tool on first use.

Enable TUN in Clash Verge Rev

  1. Run Clash Verge Rev as Administrator (Right-click → Run as administrator)
  2. Go to "Settings" → "System Settings"
  3. Toggle the "TUN Mode" switch to ON
  4. Click "Yes" when the permission request appears
  5. Wait for the virtual adapter to be created; "TUN Running" indicates success
config.yaml — TUN Configuration Example
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.

select

Manual Selection

Manually switch nodes in the client interface, ideal for users who need a specific location.

url-test

Latency Auto-Select

Regularly tests all node latencies and automatically selects the fastest one.

fallback

Failover

Prioritizes the first available node and automatically switches to the next if it fails.

load-balance

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:

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.

Pro Tips: For the lowest latency, enable 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.

1

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.

2

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.

3

Switch Accounts in App Store

Open App Store → Tap profile icon → Scroll to bottom → "Sign Out" → Sign in with your new US account.

4

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.

Install Mihomo & Configure systemd Service
# 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:

  1. Verify Node: Perform a latency test in the client and choose a node with a healthy response time (<500ms).
  2. Check Proxy Mode: Ensure you are in "Rule" mode rather than "Direct".
  3. Enable System Proxy: Some clients require you to manually toggle "System Proxy" or "Set as system proxy".
  4. 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.

Download Clients Free