SETUP GUIDE · Tutorial Center

Cross-Platform Installation
& Configuration Tutorials

From installation to subscription import and TUN mode setup, we'll teach you step-by-step how to get started with Clash on Windows, macOS, Android, iOS, and Linux.

Windows macOS Android iOS Linux Core · Mihomo

Windows Installation Tutorial

Clash client installation and configuration guide for Windows 10 / 11. We recommend Clash Verge Rev or FlClash, both of which are actively maintained and support TUN global proxy and subscription management.

Clash Verge Rev — Windows Tutorial
Built with Rust + Tauri and featuring the built-in Clash.Meta kernel, it is the most actively maintained Clash graphical client in the community for Windows and the best alternative to the original Clash for Windows.
Go to Download Clash Verge Rev
1
Download Installer

Find Clash Verge Rev on the download page and choose the version matching your computer's architecture:

· x64 (Recommended): For the vast majority of Windows PCs with Intel / AMD processors
· ARM64: Only for Copilot+ PCs powered by Qualcomm Snapdragon processors (e.g., Surface Pro X)

Unsure about your version? Check "System type" in Windows Settings → System → About; if it says "x64-based processor," choose x64.
2
Run the Installer

Double-click the downloaded .exe installer and follow the wizard's "Next" prompts to complete the installation. Once finished, the program will launch automatically, and its icon will appear in the system tray (bottom right).

If Windows Defender or antivirus software blocks the installation, it is a false positive. Clash Verge Rev is open-source software, and its full source code can be viewed on GitHub. Simply select "Run anyway" in the warning prompt to continue the installation.
3
Import Subscription Link

After launching Clash Verge Rev, configure your subscription:

1. Click the "Profiles" menu on the left.
2. Paste your Clash subscription link into the top input box.
3. Click the "Import" button and wait for the configuration file to be parsed.
4. Click the new profile card to set it to the Active state (the card border will turn blue).

Subscription links are provided by your proxy service provider, usually found on the "Subscription" or "Dashboard" page of their site. Clash itself does not provide node services.
4
Select a Node and Enable Proxy

1. Click the "Proxies" menu on the left to see available nodes.
2. Select a node within a strategy group, or select a single node directly in "Global" mode.
3. Return to the home page and turn on the "System Proxy" switch.

On the "Proxies" page, you can click the "Latency Test" icon to the right of a node to find the one with the lowest latency for better speed.
5
(Optional) Enable TUN Mode — Global Traffic Proxy

A system proxy only handles applications like browsers that support proxy settings. To proxy all programs (including command-line tools, game clients, etc.), enable TUN Mode:

1. Click "Settings" on the left.
2. Find the "TUN Mode" option and click to enable.
3. A system UAC request will pop up; click "Yes" to authorize (TUN requires administrator privileges to create a virtual network interface).

Once TUN Mode is enabled, all network traffic passes through Clash. Ensure your subscription rules are configured correctly to avoid misrouting local traffic to proxy nodes.
FlClash — Windows Tutorial
A cross-platform Clash client built with Flutter, featuring a Material You design style—perfect for users who want a consistent experience across Windows, macOS, Android, and Linux.
Go to Download FlClash
1
Download and Install FlClash

Get the FlClash Windows x64 version (.exe installer) from the download page, double-click to run, and follow the prompts to install. A shortcut will appear on your desktop; double-click it to launch.

2
Add Subscription Profile

1. Launch FlClash and click the "Profiles" tab or the "+" icon at the bottom left.
2. Select "Import from URL."
3. Paste your subscription link, click "Confirm," and wait for the download to complete.
4. Click the profile to activate it.

3
Select a Node and Start Proxy

Go to the "Proxies" page, select an available node within a strategy group, and then click the "Enable" switch at the top or top right. FlClash will automatically configure the Windows system proxy.

FlClash supports "App Routing," allowing you to specify which apps use the proxy and which connect directly for high flexibility.
Clash Nyanpasu — Windows Tutorial
Supports switching between multiple kernels (Clash Premium / Clash.Meta / Clash.rs) and provides JavaScript/Lua script extension capabilities, suitable for advanced users and developers.
Go to Download Clash Nyanpasu
1
Download and Install

Download the Clash Nyanpasu Windows x64 installer and double-click the .exe to install. On the first run, the program will automatically download the required kernel files (internet connection required).

2
Select Kernel (Optional)

Go to "Settings → Kernel" to switch between:
· Clash.Meta (Recommended): Latest features and widest protocol support
· Clash Premium: Better compatibility
· Clash.rs: Rust implementation for higher performance

3
Import Subscription and Enable Proxy

On the "Profiles" page, paste your subscription link to import. Once the profile is active, turn on the system proxy switch on the home page.

Clash for Windows — Tutorial (Historical Version)
The original author deleted the repository in 2023, and this version no longer receives updates. The following is a basic usage guide for existing users. Migration to Clash Verge Rev or FlClash is strongly recommended.
Note: Clash for Windows is no longer maintained and does not receive security fixes. New users are advised to use Clash Verge Rev or FlClash.
1
Install and Launch

Run the downloaded Setup.exe to install. Once launched, the program will appear in the system tray.

2
Import Subscription

Click the tray icon to open the interface, go to the "Profiles" tab, paste your subscription link into the URL box, and press Enter to download. Click the profile name to activate it after a successful download.

3
Enable System Proxy

On the "General" tab, turn on the "System Proxy" switch. You can also switch to "Rule" mode on the "Proxies" page to automatically route domestic and international traffic according to rules.

macOS Installation Tutorial

Clash client installation and configuration guide for macOS, supporting both Apple Silicon (M-series chips) and Intel architectures.

Clash Verge Rev — macOS Tutorial
Features native versions for both Apple Silicon (M1/M2/M3/M4) and Intel; it's the most feature-complete Clash client for macOS.
Go to Download Clash Verge Rev
1
Download the Correct Architecture Version

· Apple Silicon (Recommended): For Macs from 2020 and later with M1, M2, M3, or M4 chips
· Intel x64: For Macs with Intel processors from 2019 and earlier

Click the Apple menu (top left) → About This Mac, and check the "Chip" field. If it says "Apple M1 / M2 / M3 / M4," choose Apple Silicon; if it says "Intel Core," choose Intel x64.
2
Mount .dmg and Drag to Install

Double-click the downloaded .dmg file and drag the Clash Verge Rev icon into the Applications folder in the popup window. After dragging, eject the disk image, find the app in Launchpad or /Applications, and double-click to launch.

3
Bypass macOS Gatekeeper Security Restrictions

When first opened, macOS might say "cannot be opened because the developer cannot be verified." To fix this:

· Method 1: Right-click the app icon → select "Open" → click "Open" again in the dialog.
· Method 2: Go to System Settings → Privacy & Security → find the blocked app in the Security section → click "Open Anyway."

You only need to do this once; afterwards, you can launch normally with a double-click. Clash Verge Rev is open-source software with its code hosted on GitHub.
4
Import Subscription Link

1. Click "Profiles" on the left.
2. Paste your subscription link into the top URL input box and click "Download."
3. Click the imported profile card to activate it.

5
Enable System Proxy

Turn on the "System Proxy" switch on the home page, and Clash Verge Rev will automatically configure your macOS network proxy settings. It may request network setting permissions on the first run; click "OK" to authorize.

6
(Optional) Enable TUN Enhanced Mode

Enable it in "Settings → TUN Mode." macOS will prompt you to install a Helper Tool; enter your system password to authorize. TUN Mode can take over network traffic for all apps, including terminal tools, for true global routing.

FlClash — macOS Tutorial
Provides a consistent cross-platform experience with native installers for both Apple Silicon and Intel, ideal for users switching between platforms.
Go to Download FlClash
1
Download and Install

Choose the Apple Silicon or Intel .dmg version based on your Mac's chip type and drag the app into the Applications folder.

2
First Launch (Gatekeeper)

As with Clash Verge Rev, right-click the app → "Open" to bypass Gatekeeper restrictions.

3
Add Subscription and Enable Proxy

Go to the "Profiles" page and import your subscription via URL. Once active, click the "Enable" switch on the main interface, and FlClash will automatically set the system proxy.

ClashX Meta — macOS Tutorial
A native macOS menu bar client provided as a Universal package (compatible with both Apple Silicon and Intel). It is lightweight, low-resource, and easy to use.
Go to Download ClashX Meta
1
Unzip and Move to Applications

Download ClashX.Meta.zip, double-click to unzip, and drag ClashX Meta.app to the /Applications folder.

2
First Launch and Permissions

Right-click the app → "Open" to launch ClashX Meta. On the first run, it will request to install a Helper Tool; enter your system password to grant permission to modify network settings.

3
Import Subscription Link

Click the ClashX Meta icon (the cat icon) in the macOS menu bar and select "Config → Remote Config → Manage." In the popup window, click "Add," paste your subscription link, and click "OK" to download and activate the configuration.

4
Enable System Proxy

Click the menu bar icon and enable "Set as System Proxy." You can select "Rule" mode in "Proxy Mode" for intelligent routing.

Android Installation Tutorial

Install APK directly without Google Play. Enable "Allow installation from unknown sources" in system settings before installing.

FlClash — Android Tutorial
Featuring a Material You design, intuitive interface, app-level routing, and low-power background operation, it is the premier Clash client for Android beginners.
Go to Download FlClash APK
1
Choose the Correct APK Version

· arm64 (Recommended): For the vast majority of Android phones released after 2016
· armeabi-v7a: For older devices released before 2016

Unsure about the architecture? Just download the arm64 version; currently, 99% of modern Android phones on the market support arm64.
2
Enable "Allow installation from unknown sources"

Since the APK is not from Google Play, you need to manually enable installation permissions:

· Android 8+: Settings → Apps → Special app access → Install unknown apps → find "File Manager" or "Browser" and enable permission.
· OnePlus / Xiaomi / Huawei, etc.: The system will automatically show a prompt during installation; follow it to enable the permission.

3
Install the APK

Find the downloaded APK file in your file manager and tap to install. Once finished, find FlClash in your app drawer and open it.

4
Import Subscription Profile

After opening FlClash:
1. Tap the "Profiles" tab at the bottom.
2. Tap the "+" in the top right → select "Import from URL."
3. Paste your Clash subscription link and tap "Confirm."
4. Wait for the download to complete, then tap the profile to activate it.

You can also import a subscription via "Scan QR Code." If your service provider provides a subscription QR code, you can scan it directly without manually entering the link.
5
Enable VPN and Select a Node

1. Go to the "Proxies" page and select a node.
2. Tap the "Enable" button on the home page.
3. Android will prompt a VPN connection request; tap "OK" to authorize.
4. A VPN icon will appear in the status bar, and the proxy is successfully enabled.

Clash Meta for Android — Installation Tutorial
Official release from MetaCubeX, featuring the full Clash.Meta kernel and supporting the latest protocols like Hysteria2 and TUIC—perfect for users who need the latest protocol support.
Go to Download APK
1
Select APK Version

· arm64-v8a: For most modern Android phones (Recommended)
· armeabi-v7a: For 32-bit older devices
· Universal: Compatible with all architectures, larger file size

2
Install APK (Unknown Sources required)

As in step 2 for FlClash, enable the "Install unknown apps" permission in system settings and then install the APK.

3
Import Profile and Launch

Open Clash Meta, tap "Profiles" → "New Profile → Import from URL," then paste your subscription link to download. After activating the profile, tap "Enable" on the home page and authorize the VPN connection.

Surfboard — Android Tutorial
Compatible with the Clash subscription format, featuring built-in traffic packet capture and HTTP sniffing debugging—ideal for developers and advanced users.
Go to Download Surfboard APK
1
Download and Install Universal APK

Download the Universal APK, enable unknown sources permission, and install.

2
Import Clash Subscription

Open Surfboard, go to "Profiles" → "+" → "Download from URL," and paste your Clash subscription link. Surfboard fully supports the Clash YAML format without needing conversion.

3
Connect and Use Packet Capture

After enabling the VPN connection, you can view all HTTP/HTTPS traffic in real-time on the "Requests" tab, which is convenient for debugging and troubleshooting connection issues.

iOS Tutorial

iPhone / iPad users need to install proxy clients compatible with the Clash configuration format from the App Store. The following apps fully support Clash subscription links.

Why is there no direct APK download for iOS?

Due to Apple's iOS security mechanisms, iPhone / iPad cannot install applications from sources other than the App Store. iOS users must use a non-mainland China Apple ID to log in to the App Store and purchase the following proxy clients. These apps all support importing standard Clash subscription links and YAML rule sets directly, with no extra configuration needed.

Stash
  1. Purchase and download Stash from the App Store using a non-mainland China Apple ID
  2. Open Stash and go to "Profiles"
  3. Tap "+" → select "Download from URL," then paste your Clash subscription link
  4. Tap the downloaded profile to activate it
  5. Return to the home page, tap "Enable," and when iOS prompts for VPN authorization, tap "Allow"
  6. Download Shadowrocket from the App Store
Stash is the most feature-complete Clash-compatible client for iOS, supporting HTTP traffic sniffing and packet capture debugging—recommended for users with higher functional requirements.
Download from App Store
Shadowrocket
  1. Purchase and download Shadowrocket from the App Store using a non-mainland China Apple ID
  2. Open Shadowrocket and tap the "+" in the top right corner
  3. Select "Type → Subscribe"
  4. Paste your Clash subscription link into the URL field and tap "Done"
  5. Subscription nodes will be automatically parsed and imported
  6. Download Quantumult X from the App Store
Shadowrocket is a one-time purchase, affordable, and easy to use, making it one of the most popular choices for iOS users.
Download from App Store
Quantumult X
  1. Purchase and download Quantumult X from the App Store using a non-mainland China Apple ID
  2. Open Quantumult X and tap "⚙️ Settings" in the bottom right
  3. Under the "Server" section, select "Subscription"
  4. Paste your Clash subscription link to import nodes
  5. Tap "Policy" to configure routing rules
  6. Return to the home page and tap the icon to enable the VPN; it will take effect after authorization.
Quantumult X supports script extensions and fine-grained routing, making it the most powerful advanced proxy client for iOS—ideal for technical users with deep customization needs.
Download from App Store

Linux Installation Tutorial

Applicable to major Linux distributions like Ubuntu, Debian, Fedora, and CentOS, with both .deb and .rpm package formats available.

Clash Verge Rev — Linux Tutorial
Provided in .deb (Debian/Ubuntu) and .rpm (Fedora/CentOS) formats, supporting amd64 and arm64 architectures with features identical to Windows/macOS versions.
Go to Download Linux Installers
1
Choose the installer matching your distribution

· Ubuntu / Debian / Linux Mint: Download the .deb package (amd64 or arm64)
· Fedora / CentOS / RHEL / openSUSE: Download the .rpm package (x86_64)

2
Install the Package

Open a terminal and use your package manager to install:

# Debian / Ubuntu — install .deb
sudo dpkg -i clash-verge-rev_linux_amd64.deb

# Fedora / CentOS / RHEL — install .rpm
sudo rpm -i clash-verge-rev_linux_x86_64.rpm
You can also double-click the .deb/.rpm file to install via the system's graphical package installer, no command line required.
3
Launch Clash Verge Rev

Once installed, find Clash Verge Rev in your application menu (GNOME, KDE, etc.) and click to launch. Alternatively, run via terminal:

clash-verge
4
Import Subscription and Configure Proxy

The steps are identical to the Windows version: Go to "Profiles" → paste your subscription link to download → activate the profile → enable System Proxy.

5
(Optional) Enable TUN Mode

Enable it in "Settings → TUN Mode." On Linux, you may need to grant permissions or run the helper process as root. Some distributions require the iproute2 dependency:

# Ubuntu / Debian
sudo apt install iproute2
FlClash — Linux Tutorial
Provides a .deb installer for Debian/Ubuntu (amd64) with an interface consistent with Windows, macOS, and Android versions for easy platform switching.
Go to Download FlClash Linux
1
Install the .deb Package
sudo dpkg -i flclash-linux-amd64.deb
2
Launch and Import Subscription

Launch FlClash from your app menu; the steps are the same as the Windows/macOS versions—go to "Profiles" to import your subscription URL, and enable the proxy after activation.

Mihomo Core Engine Deployment Tutorial

Command-line deployment guide for the Mihomo (formerly Clash.Meta) kernel on Linux servers, Docker, software routers (OpenWrt), and headless environments. Regular PC users can use a graphical client and do not need to read this section.

1
Download Mihomo Binary

Choose the version matching your server's architecture on the download page:
· amd64: x86_64 architecture (most VPS / cloud servers)
· arm64: ARM64 architecture (Raspberry Pi 4/5, some ARM VPS)
· armv7: ARMv7 older devices
· mips-softfloat: Some MIPS architecture routers

# Example: download for Linux amd64
wget -O mihomo.gz https://clashsky.com/assets/clients/core/mihomo-linux-amd64.gz
2
Unzip and Set Executable Permissions
# Extract the binary
gunzip mihomo.gz

# Grant execute permission
chmod +x mihomo

# Move to system path (optional)
sudo mv mihomo /usr/local/bin/mihomo
3
Create Config Directory and config.yaml
# Create config directory
mkdir -p ~/.config/mihomo

# Create a minimal config.yaml
cat > ~/.config/mihomo/config.yaml << 'EOF'
mixed-port: 7890
allow-lan: false
mode: rule
log-level: info
external-controller: 127.0.0.1:9090

# Add your proxy-providers or proxies below
proxy-providers:
  my-sub:
    type: http
    url: "https://your-subscription-url"
    interval: 86400
    health-check:
      enable: true
      url: https://www.gstatic.com/generate_204
      interval: 300
EOF
Replace https://your-subscription-url with your actual Clash subscription link.
4
Start Mihomo
# Start with default config directory
mihomo -d ~/.config/mihomo

Once started, Mihomo listens on port 7890 (HTTP/SOCKS5 mixed proxy). The Web management interface is accessible via http://127.0.0.1:9090/ui (requires a Dashboard).

5
(Optional) Configure systemd for Auto-Start
# Create systemd service file
sudo cat > /etc/systemd/system/mihomo.service << 'EOF'
[Unit]
Description=Mihomo Proxy Service
After=network.target

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

[Install]
WantedBy=multi-user.target
EOF

# Enable and start the service
sudo systemctl daemon-reload
sudo systemctl enable mihomo
sudo systemctl start mihomo

# Check service status
sudo systemctl status mihomo
1
Prepare the Configuration File

Create a local config directory and add the config.yaml file (see step 3 of the Linux Server section for content):

mkdir -p ~/mihomo/config
2
Run Mihomo with Docker
docker run -d \
  --name mihomo \
  --network host \
  --restart unless-stopped \
  -v ~/mihomo/config:/root/.config/mihomo \
  metacubex/mihomo:latest \
  -d /root/.config/mihomo
Use --network host to let the container use the host network directly, facilitating TUN mode and transparent proxy configuration.
3
Check Running Status
# View container logs
docker logs mihomo

# Check running status
docker ps | grep mihomo
1
Confirm Router CPU Architecture

Log in to OpenWrt via SSH and check the architecture info:

uname -m
# mipsel / mips / arm / aarch64 / x86_64

· mipsel / mips: Download mips-softfloat version
· arm / armv7: Download armv7 version
· aarch64: Download arm64 version
· x86_64: Download amd64 version

2
Upload and Deploy Mihomo
# Upload binary to router via scp
scp mihomo-linux-mips-softfloat.gz [email protected]:/tmp/

# SSH into router, extract and install
ssh [email protected]
gunzip /tmp/mihomo-linux-mips-softfloat.gz
chmod +x /tmp/mihomo-linux-mips-softfloat
mv /tmp/mihomo-linux-mips-softfloat /usr/bin/mihomo
3
Configure and Start

Create /etc/mihomo/config.yaml on your router, fill in the proxy-provider configuration (refer to the Linux Server section), and then start:

mihomo -d /etc/mihomo &
It's recommended to create an auto-start script using OpenWrt's /etc/init.d/ mechanism or use an integrated solution like OpenClash to simplify the setup.
GitHub · MetaCubeX/mihomo — View Full Documentation
FAQ.
Clash Config & Usage FAQ
Where do I get a Clash subscription link? +
Subscription links are provided by the proxy service you purchase or use. You can usually find Clash-format links on the provider's official site under "My Subscriptions," "Dashboard," or "One-Click Import." The Clash client is only a tool and does not provide node services; you must prepare your own proxy service.
What is the difference between TUN mode and a system proxy? When do I need to enable TUN? +
A system proxy works via HTTP/SOCKS5 protocols and only handles apps that support proxy settings (like browsers). TUN mode creates a virtual network interface at the system level, capturing TCP/UDP traffic from all apps, including those that don't support proxy settings (like command-line tools and game clients). If you need terminal tools (e.g., curl, npm, pip) or games to use the proxy, enabling TUN mode is the easiest way.
What should I do if nodes show "Timeout" or fail to connect after importing a subscription? +
Try these troubleshooting steps: 1) Use the "Latency Test" on the client's "Proxies" page to find nodes with normal latency; 2) Check your local network and try switching between Wi-Fi and wired connections; 3) If all nodes timeout, your subscription may have expired—check your account status with your provider; 4) Some nodes may be unstable; try a different one.
What are the differences between Rule, Global, and Direct modes in Clash? +
These modes represent different traffic policies: Rule mode (recommended) handles traffic according to rules in your config (international sites via proxy, domestic sites direct); Global mode routes all traffic through the proxy—useful for temporary global needs; Direct mode routes all traffic directly, essentially bypassing the proxy.
How do I automatically update my subscription configuration? +
Graphical clients like Clash Verge Rev and FlClash support automatic subscription updates. On the "Profiles" page, right-click the subscription profile, select "Settings," and you can configure the auto-update interval (e.g., every 24 hours or on every launch). This keeps your node information up-to-date without needing manual refreshes.
Does Clash affect game latency? How do I configure game direct connection? +
In Rule mode, game servers (especially those for domestic games) usually match "Direct" rules and don't go through the proxy, so they won't add extra latency. If you find that a game is using the proxy and causing higher latency, you can add the game's domain or IP range as DIRECT in the "rules" section of the configuration file, or manually add a direct rule in the client's "Rules" page.
Don't Have the Installer Yet?

FREE DOWNLOAD
ALL PLATFORMS.

Go to the download page to get installers for all platforms—Windows, macOS, Android, iOS, Linux, and the Mihomo core engine. All are open-source and free.

Go to Download Clash Client