Step-by-Step Tutorials · Beginner Friendly

Clash Tutorials
Full-Platform Guide

From installation to daily use, covering Windows, macOS, Android, iOS, and Linux. Includes subscription import, TUN mode setup, and routing modes. Get started in 5 minutes.

Step-by-Step Details Beginner Friendly Actively Maintained

Clash for Windows Tutorial

Below is the complete setup guide for Clash Verge Rev, suitable for Windows 10 / 11 (x64 / ARM64). Clash Verge Rev is the most recommended client for new Windows users.

Download Clash Verge Rev
01

Download & Install Clash Verge Rev

Go to our Download Page and get the Clash Verge Rev Windows x64 installer (.exe). Most Windows 10 / 11 users should choose x64; choose ARM64 for devices like Surface Pro X.

Run the .exe installer and follow the prompts. Once installed, find the Clash Verge icon in your Start menu or desktop and launch it.

If you see a Windows SmartScreen warning, click "More info" → "Run anyway". This is a common warning for unsigned open-source software; the code is public on GitHub for auditing.
02

Importing Subscriptions (Node Configuration)

Clash requires a Subscription URL from your service provider (Airport). Follow these steps to import it into Clash Verge Rev:

  1. Click "Profiles" in the left menu
  2. Click the "New" button at the top right
  3. Paste your subscription link into the "URL" field
  4. Enter a name (e.g., "My Provider") and click "Save"
  5. Click the refresh icon on the profile card and wait for the update to complete
After updating, go to the "Proxies" page to see all available nodes. You can select a node manually or use an auto-test group to choose the lowest latency node.
03

Choosing Routing Mode & Enabling System Proxy

Go to "Settings" in the left menu, find "System Proxy", and choose your preferred mode:

Rule Mode Recommended
Smart routing: Direct for local sites, Proxy for global ones. Best for daily use.
Global Mode
Force all traffic through the proxy, including local sites. Good for testing connectivity.
Direct Mode
Disable proxy; all traffic goes direct. Use this to bypass Clash entirely.

After selecting "Rule Mode", enable the "System Proxy" switch. Your browser and most apps will now use the proxy.

04

(Advanced) Enable TUN Mode for Full Traffic Proxy

Standard system proxy only affects supported apps (like browsers). To proxy all TCP/UDP traffic (including games and CLI tools), enable TUN Mode:

  1. Right-click the Clash Verge Rev icon in the taskbar and select "Run as administrator"
  2. Go to "Settings" → find "TUN Mode" and turn it on
  3. If prompted to install a virtual network adapter (WinTun), click "Allow"
  4. Once enabled, all network traffic will be processed by Clash
TUN mode requires admin privileges. For standard web browsing, the regular system proxy is sufficient.

Other Windows Clients

Clash Nyanpasu
Workflow is similar to Clash Verge Rev: Install → Import Subscription in "Profiles" → Enable "System Proxy". Features a unique UI and supports switching between Clash Meta and Clash Rust cores.
Download Clash Nyanpasu →
FLClash
A Flutter-based cross-platform client with a clean Material Design interface. Click "+" to import a URL and toggle the switch. Very intuitive and consistent across platforms.
Download FLClash →
Clash for Windows Discontinued
The classic client (CFW). Import in Profiles → Select Node in Proxies → Enable System Proxy. No longer maintained; use Clash Verge Rev for better security and features.
Download Clash for Windows →

Clash for macOS Tutorial

Below is the setup guide for Clash Verge Rev on macOS (12 Monterey or newer). Supports both Apple Silicon (M-series) and Intel chips.

Download macOS Client
01

Download & Install Clash Verge Rev

Visit our Download Page and choose the version matching your chip:

  • Apple Silicon (M1 / M2 / M3 / M4): Download Apple Silicon (.dmg)
  • Intel Chip (pre-2020 Macs): Download Intel x64 (.dmg)

Check your chip type: Click Apple Logo → About This Mac → Processor/Chip.

Open the .dmg and drag Clash Verge to your Applications folder.

02

Handling macOS Gatekeeper Warnings

On first launch, macOS might say "Developer cannot be verified". This is standard Gatekeeper security; it doesn't mean the app is unsafe.

Solution: Go to "System Settings" → "Privacy & Security", scroll down to find the blocked app, and click "Open Anyway".

Remove Quarantine via Terminal (macOS 13+)
sudo xattr -rd com.apple.quarantine /Applications/ClashVerge.app
Open-source apps often lack expensive Apple developer certs, but the code is public on GitHub and safe to use.
03

Importing Subscription & Updating Nodes

In Clash Verge Rev: Click "Profiles" → "New" → Paste URL → Save → Click the refresh icon to load nodes.

In "Proxies", select your preferred node or use the "Auto" group.

Enable "System Proxy" in Settings. Safari, Chrome, and other browsers will now use the proxy.
04

(Advanced) Enable TUN Mode for Full Proxy

TUN mode on Mac requires a network extension. Toggle "TUN Mode" in Settings and provide your system password when prompted.

If blocked, go to "Privacy & Security" and click "Allow" for the extension, then retry in Clash Verge Rev.

With TUN enabled, all traffic (including App Store and system updates) will go through Clash.

Other macOS Clients

ClashX Meta
A native menu bar client. Install, then click Icon → Config → Managed Config → Add → Paste URL. Enable by clicking "Set as System Proxy". Lightweight and native experience.
Download ClashX Meta →
FLClash
Flutter cross-platform client for Mac. Same UI as Windows/Android versions. Simple "+" to import and toggle proxy.
Download FLClash →

Clash for Android Tutorial

Guide for Clash Meta for Android (5.0+). Maintained by the MetaCubeX community, this is the most powerful Android client.

Download Android Client
01

Download & Install APK

Go to the Download Page. Use arm64-v8a for most modern phones; use Universal if unsure.

Since this is an APK, you must allow installation from unknown sources:

  1. Go to "Settings" → "Security"
  2. Find "Install unknown apps" or "Unknown sources"
  3. Enable for your browser or file manager
  4. Open the APK and tap Install
You can disable unknown source permissions after installation.
02

Importing Subscriptions

Launch Clash Meta for Android and tap "Profiles":

  1. Tap the "+" button at the top right
  2. Select "URL"
  3. Paste your subscription link
  4. Enter a name and tap "Save & Update"
  5. After downloading, tap the profile to activate it
03

Select Node & Start VPN

Tap "Proxies" to see nodes. We recommend choosing a low-latency node or using the "Auto" group.

Go to the "Dashboard" and tap the "Stopped" button to start. Allow the VPN permission request from the system.

A key icon in the status bar indicates the proxy is running. Keep "Rule Mode" enabled for the best experience.

Other Android Clients

FLClash
A modern Material Design 3 interface. Tap "+" to import and start the VPN. Consistent experience across desktop and mobile.
Download FLClash →
Surfboard
An elegant Android client compatible with Clash / Surge subscription formats. Tap "Config" → "Download from URL", paste your link, and save. Features rich traffic monitoring tools.
Download Surfboard →

Clash for iOS / iPadOS Tutorial

Below is the guide for Stash on iPhone/iPad. Due to App Store policies, proxy apps require a non-mainland China Apple ID to download.

View iOS Clients
Note: Stash and Shadowrocket are not available in the mainland China App Store. You must log in with a US, HK, or TW Apple ID to purchase them. If you don't have one, consider using Clash Meta for Android on a different device.
01

Purchase & Download Stash

After switching to a foreign Apple ID, search for "Stash" in the App Store, or use the link on our Download Page (approx. $3.99, one-time purchase).

Once downloaded, tap the Stash icon on your home screen to launch the app.

02

Importing Clash Subscriptions

Launch Stash and tap the "Config" tab at the bottom:

  1. Tap the "+" button at the top right
  2. Select "Download from URL"
  3. Paste your Clash subscription link and give it a name
  4. Tap "OK" to download and import the configuration
  5. Once finished, tap the checkmark next to the profile to activate it
03

Select Node & Start Proxy

Tap "Policy" or "Proxies" at the bottom to choose a node or use an auto-test group.

Return to the "Home" tab and toggle the main switch. Tap "Allow" if prompted to add VPN configurations, and confirm with Face ID / Touch ID.

A VPN icon will appear in the status bar. Stash uses Smart Proxy (Rule Mode) by default to intelligently route traffic.

Shadowrocket Setup

Shadowrocket
A classic iOS client. After purchasing (approx. $2.99), tap "+" → Type: "Subscribe" → Paste URL. It also supports auto-importing when you open the app with a link in your clipboard.
View Download Info →

Clash for Linux Tutorial

Below is the guide for Clash Verge Rev on Linux. Supports Debian/Ubuntu (.deb) and Fedora/RHEL (.rpm), offering the same GUI experience as desktop versions.

Download Linux Client
01

Install Clash Verge Rev

Visit our Download Page and get the package for your distribution, then run the installation command:

Debian / Ubuntu — Install .deb
sudo dpkg -i clash-verge-rev_*.deb
Fedora / RHEL / CentOS — Install .rpm
sudo rpm -i clash-verge-rev_*.rpm

After installation, find Clash Verge in your app menu or launch it by typing clash-verge in the terminal.

02

Importing Subscription & Config

The UI is identical to Windows/macOS: Click "Profiles" → "New" → Paste URL → Save & Update.

In "Proxies", choose a node, then go to Settings and enable "System Proxy".

System proxy on Linux depends on your desktop environment (GNOME/KDE). For terminal apps, use TUN mode or manually export http_proxy.
03

(Advanced) Enable TUN Mode for Full Proxy

TUN mode on Linux requires root privileges or specific capabilities. We recommend one of the following:

Option 1: Launch with sudo (Temporary)
sudo clash-verge
Option 2: Set capabilities (Permanent, Recommended)
sudo setcap cap_net_admin=ep $(which clash-verge)

After configuration, enable "TUN Mode" in Clash Verge Rev to proxy all system traffic transparently.

Other Linux Clients

FLClash
A Flutter-based GUI client for Linux. Provides a consistent experience across platforms. Simple "+" to import URLs and toggle system proxy.
Download FLClash →

Mihomo Core Tutorial

Mihomo (formerly Clash Meta) is the leading Clash core. This guide is for advanced users who want to deploy proxies on servers, use custom routing, or prefer CLI environments.

Download Mihomo Core
Note: For daily use, we recommend a GUI client (see Windows/macOS/Android tabs). The bare core is best for server deployments and routers.
01

Download Mihomo Binaries

Visit our Download Page and choose the version for your architecture:

Linux (Servers / Routers)
Most x86_64 VPS use linux-amd64; use linux-arm64 for Raspberry Pi; use linux-mipsle-softfloat for OpenWrt (check your router specs).
Windows (CLI Mode)
Use windows-amd64. It's a .exe file; keep it in the same directory as your config.
macOS (CLI Mode)
Use darwin-arm64 for M-series chips, or darwin-amd64 for Intel Macs.

After extracting the mihomo binary, grant it execution permissions:

Linux / macOS — Grant Permissions
chmod +x mihomo
02

Preparing config.yaml

Mihomo uses YAML config files to define nodes and rules. Default directory: ~/.config/mihomo/ (Linux/mac) or %USERPROFILE%\.config\mihomo\ (Windows).

The easiest way is to download a config directly from your Clash Subscription URL:

Download Config (Replace with your URL)
mkdir -p ~/.config/mihomo && curl -L "https://Your Subscription Link" -o ~/.config/mihomo/config.yaml

If writing manually, here is a minimal config.yaml structure:

Minimal config.yaml Example
mixed-port: 7890 # HTTP + SOCKS5 mixed proxy port
allow-lan: false # Allow LAN connections
mode: rule # Proxy Mode: rule / global / direct
log-level: info
external-controller: 127.0.0.1:9090 # API port for Web Dashboards

proxies: # Node list (auto-fetched)
- name: "Example Node"
type: ss
server: example.com
port: 443
cipher: chacha20-ietf-poly1305
password: "your-password"

proxy-groups: # Policy Groups
- name: "PROXY"
type: select
proxies: ["Example Node"]

rules: # Routing Rules
- GEOIP,CN,DIRECT
- MATCH,PROXY
We strongly recommend using your provider's subscription link to get the full node list and automatic rule updates.
03

Launching Mihomo Core

Once config.yaml is in the default directory, simply run the binary:

Start with Default Path
./mihomo
Start with Custom Config Path
./mihomo -d /path/to/config/directory

On success, you will see Start initial compatible provider default. At this point:

  • The HTTP/SOCKS5 proxy port (default 7890) is ready. Point your apps to 127.0.0.1:7890
  • The RESTful API port (default 9090) is active for Web Dashboards
Use Metacubex Dashboard (https://d.metacubex.one) to manage nodes and rules visually. Connect using http://127.0.0.1:9090.
04

(Linux Server) Configure as systemd Service

For Linux servers, use systemd for auto-start and background management:

1. Move binary to system path
sudo mv mihomo /usr/local/bin/mihomo
2. Create config directory and place config.yaml
sudo mkdir -p /etc/mihomo
sudo cp config.yaml /etc/mihomo/config.yaml
3. Create /etc/systemd/system/mihomo.service
[Unit]
Description=Mihomo Proxy Service
After=network.target

[Service]
Type=simple
ExecStart=/usr/local/bin/mihomo -d /etc/mihomo
Restart=on-failure
RestartSec=5

[Install]
WantedBy=multi-user.target
4. Enable and start the service
sudo systemctl daemon-reload
sudo systemctl enable mihomo
sudo systemctl start mihomo
sudo systemctl status mihomo
TUN transparent proxy requires the tun: field in config.yaml and root privileges. See the Official Wiki for details.

Advanced Mihomo Resources

Metacubex Dashboard (Web UI)
A web-based UI to manage your Mihomo core. View real-time traffic, switch nodes, and change proxy modes. Access https://d.metacubex.one and enter your local API address (default http://127.0.0.1:9090).
Open Dashboard →
Mihomo Documentation
The complete reference for all supported protocols (Hysteria2, TUIC, Reality), routing syntax, DNS, and TUN settings. Essential for power users.
View Documentation →

Core Concepts Explained

Understanding these concepts will help you configure Clash more effectively.

What is a Clash Subscription?

A subscription is a URL provided by your service (Airport) that contains node configurations (server address, port, keys). Clash uses this to automatically fetch and update your node list.

You only need the URL; Clash handles the rest. We recommend enabling "Auto-update" to keep your nodes current.

https://your-airport.com/api/v1/client/subscribe?token=xxxxxxxx

Proxy Modes Explained

Rule Mode Recommended
Uses internal rules to decide: local sites go direct, while global sites go through the proxy. Best balance of speed and functionality.
Global Mode
Forces all traffic through the proxy, including local sites. May slow down local browsing.
Direct Mode
Bypasses the proxy entirely. All traffic connects directly to the destination.

System Proxy vs. TUN Mode

System Proxy (Standard)
  • Sets the OS HTTP/HTTPS proxy ports
  • Only works for apps that respect system settings (browsers)
  • Doesn't require admin / root privileges
  • Games, certain apps, and UDP traffic may bypass the proxy
TUN Mode (Full Transparency Proxy)
  • Creates a virtual NIC to intercept all system traffic
  • All application traffic is processed by the Clash core
  • Requires admin / root privileges
  • Games, CLI tools, and UDP traffic work perfectly

Clash FAQ

Common questions about Clash configuration and usage, with quick solutions.

How do I import a Clash subscription? Where do I paste the URL?
Paths vary slightly by client but the logic is the same:

Clash Verge Rev (Win/Mac/Linux): Profiles → New → Paste URL → Save → Click refresh.

Clash Meta for Android: Profiles → + → URL → Paste link → Save & Update.

Stash (iOS): Config → + → Download from URL → Paste link → OK.

FLClash (All platforms): Home → + icon → Paste URL → Confirm.
Clash is connected but pages won't load, or it's very slow. What should I do?
Follow these troubleshooting steps:

1. Check System Proxy: Importing isn't enough; you must enable "System Proxy" in settings or ensure TUN mode is active.

2. Test Latency: Go to the Proxies page, run a speed test, and choose a low-latency (green) node. Avoid timed-out nodes.

3. Switch to Global Mode: If it works in Global but not Rule mode, your rule set may be broken. Update your subscription to get the latest rules.

4. Check Subscription Status: Ensure your data hasn't run out and the subscription hasn't expired.
How do I set Clash to start automatically on boot?
Clash Verge Rev (Windows): Go to Settings → System, and enable "Start on Boot". We also recommend "Silent Start" to avoid popups.

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

Clash Meta for Android: Allow the app to auto-start in system settings and disable battery optimization to prevent the system from killing the background process.
Are Clash subscription links universal across all clients?
Yes, Clash subscription links (YAML format) are universal across all Mihomo/Clash-based clients like Clash Verge, Clash Meta for Android, ClashX Meta, and FLClash.

If your provider only gives SS/V2Ray links, you can usually switch to Clash format in their dashboard. Stash and Shadowrocket on iOS are also fully compatible with Clash formats.
Local websites are slow after enabling Clash. How to fix?
This usually happens if you are in "Global Mode", forcing local traffic through a remote proxy node.

Solution: Switch to "Rule Mode". Rule mode uses a database to decide traffic flow: local traffic stays direct (full speed), while global traffic uses the proxy. If local sites are still slow, refresh your subscription to update the routing rules.
Does the Clash client collect my data or browsing history?
Clash clients do not collect or upload any user data. All recommended clients are open-source projects with code public on GitHub for security audits. They contain no tracking, ads, or backdoors.

Your privacy depends on your proxy provider's (Airport) logging policy, not the client itself. Always download from official GitHub releases to ensure file integrity.
What's the difference between Clash Meta, Premium, and Original?
Clash: The original open-source core by Dreamacro. Discontinued in 2023.

Clash Meta (Mihomo): The active community successor. It supports newer protocols like Hysteria2 and Reality and is the core used by all clients on this site.

Clash Premium: A closed-source enhanced version of the original, also discontinued. We recommend all users migrate to Clash Meta.

Haven't downloaded Clash yet?

Free and open-source for all platforms. Get the official installers for Windows, macOS, Android, iOS, and Linux. No ads, no bundles, 100% secure.

Free Download Clash Clients