Open-source clients · Setup guide by chapter

Clash Tutorial Setup Guide

Your client download and setup handbook: start by importing a subscription, then configure rule-based routing and TUN, with checks at every step.

Open-source ecosystemDocumentationNine-chapter learning path

Choose a client for your operating system

Clash client downloads

Choose your operating system first, then check your processor architecture. The download page lists installation methods, client options, and system requirements by platform. Subscription import and connection setup are covered in the usage guides, keeping app installation separate from network configuration.

Windows

Start with Clash Plus, or choose Clash Verge Rev, FlClash, or Clash Nyanpasu based on your interface preferences. Before downloading, check your device architecture under System Information in your system settings—don't rely on the computer brand alone.

After installation, import a configuration before enabling the system proxy. This is a good way to test access in a regular browser. For apps that don't follow system proxy settings, read the TUN chapter. Clash for Windows is listed only as an archived, discontinued option.

Go to downloads Windows client

macOS

Open Apple menu → About This Mac to identify whether your Mac has Apple silicon or an Intel processor, then choose the matching installer. Permissions and settings may differ across Clash Plus, Clash Verge Rev, and FlClash.

Follow the system prompts to grant any required permissions on first launch. System proxy and TUN are two different ways to route traffic; you don't need to enable every option at once. The ClashX Meta download link is kept for reference—check its maintenance status before choosing it.

Go to downloads macOS client

Android

Compare Clash Plus, Clash Meta for Android, FlClash, and Surfboard. Most recent devices use ARM64, but check your device information to be sure. If installation fails, verify the architecture and system requirements first.

After importing a subscription and starting the client, Android will usually ask to create a VPN connection. Verify the app's source before granting permission, then check the connection log. If the connection drops in the background, check battery optimization and background activity restrictions rather than reinstalling repeatedly.

Go to downloads Android client

iOS

The download page links to Clash Plus on the App Store and lists its official site, clashplus.io. Check the system requirements in the store before installing. Then import the subscription link from your service provider on the client's configuration page.

On the first connection, allow the client to add a VPN configuration when prompted by iOS. Back in the app, confirm the intended configuration is selected, then try opening a website. The VPN indicator means a tunnel is active; you still need to verify that traffic is actually getting through.

Go to downloads iOS client

Linux

For desktop Linux, choose between Clash Verge Rev and FlClash. Check your distribution's package format and processor architecture first. After installation, launch the client from your desktop and review any first-run prompts about services and permissions.

Server and router users can find mihomo in the core section of the download page. A command-line core requires you to set up the configuration, working directory, and service management yourself. It isn't a desktop installer with a graphical interface.

Go to downloads Linux client

When getting started, run just one client at a time. Multiple clients changing system proxy settings or creating virtual network interfaces can make it harder to trace the connection path.

Browse all clients → Compare clients by use case →

Five tracks for Clash configuration

Jump from a common setting to its guide. Understand which layer a setting controls before changing it. Select a topic on the left to see what it does, a syntax example, and a link to the full handbook. Examples show only the relevant fields and must be merged into your existing configuration.

Rule order and the final route

Rule-based routing sends different destinations through different routes instead of handling every connection the same way. In Rule mode, clients usually check rules from top to bottom, and the first match determines where traffic goes. After adding a domain rule, open the connection log to see which rule matched and confirm the final proxy group. Unlike tools with only a global on/off switch, this approach makes routing decisions easier to trace—but rule order needs maintenance. PROXY below is a proxy group name and must exist in your configuration; put MATCH last as the fallback.

mode: rule
rules:
  - DOMAIN-SUFFIX,example.com,DIRECT
  - MATCH,PROXY
See chapter 6 in the full handbook →

Get started with Clash: import, connect, verify

These three steps cover the essentials for first-time use. If you already have a client installed, start by importing a subscription. Otherwise, choose your operating system on the downloads page first. Button labels vary by client, but configurations, proxy groups, and connection logs serve the same purpose.

Step 1 · Configure

Import a subscription and activate it

Open the client's Configuration, Subscription, or Profile page, choose the option to import from a link, and paste the full URL from your service provider. Save it and wait for the download to finish. You should see the configuration name and its contents. Select it to make it the active configuration.

If parsing fails, check that you didn't copy a webpage URL, instructions, or extra spaces by mistake. Subscription links may contain access credentials, so don't post them in public forums. Clients don't include working proxy nodes; installing the app and having a valid subscription are separate requirements.

Step 2 · Connect

Choose a rule mode and proxy group

Open the Proxy page and set the operating mode to Rule. Expand the main proxy group and choose an available route, then enable the system proxy or establish a VPN connection for your platform. On desktop, leave TUN off during initial setup to limit the number of settings changing at once.

If a proxy group is set to DIRECT, matching traffic may connect directly. If your configuration has multiple groups for different purposes, check each one. Don't stop when the main switch is on: the group selection determines which route is used after a rule matches.

Step 3 · Verify

Check the route in the connection log

Visit a website you want to test, then open the client's Connections or Logs page and find its domain. First confirm that a connection appears, then check the matching rule and final route. If there's a log entry but the site won't load, check the node, DNS, and the destination service itself.

If no connections appear, first check whether the app uses the system proxy or whether the VPN is actually connected. Change one setting at a time, revisit the site, and compare the results. Once the connection is verified, consider enabling startup, automatic updates, and TUN. This keeps your initial troubleshooting focused on one layer at a time.

Open-source projects, cores, and configuration maintenance

Understanding how the projects fit together is more useful than memorizing where a button sits in one interface. This site organizes client download links and configuration guides; it doesn't replace project release notes. Check the selected client's own documentation for feature support, installation requirements, and maintenance status.

Clash configuration and its community successors

Clash established a configuration approach built around YAML, proxy groups, and rules. After the original project was discontinued, the community continued developing compatible clients and cores. Clash download results today may lead to apps with very different interfaces; a similar name doesn't guarantee the same features or maintenance status. Before following a guide, check the product's full name, identify its core, and confirm that the settings apply.

mihomo is one actively developed open-source core in this ecosystem. It's a separate project from graphical clients: the core handles network traffic, while the client provides tools to import subscriptions, switch proxy groups, view logs, and integrate with the operating system. A client using mihomo won't necessarily share the same override interface, update strategy, or permission prompts as other clients. This handbook separates general concepts from platform-specific steps, so you can apply what you've learned even if you switch clients.

Check features against source code and release notes

Open-source repositories can help you check configuration fields, issue discussions, and project activity, but an active repository doesn't prove that any proxy service is available. Below are the mihomo upstream repository and clone command for users who want to read the source or compare it with the documentation. Desktop users don't need to clone or compile anything: choose a graphical client on the downloads page and follow the usage guide to configure it.

If an online guide doesn't match your client, check which product, operating system, and core it covers. Button locations may have changed since an older guide was published, and archived clients may no longer suit current systems. Don't downgrade a working setup just to match a screenshot. Look for the current control that provides the same function, and save a recoverable copy of your configuration before making changes.

Manage updates at three separate levels

App, core, and subscription updates solve different problems. App updates mainly affect the interface and system integration; core updates affect protocol and configuration field support; subscription updates fetch the provider's latest nodes or rules. If something suddenly stops working, note which type of update happened most recently before deciding what to check. Don't run every update one after another.

Once everything is working, keep a backup of a known-good configuration and give it a clear, descriptive name. Before making lasting changes to subscription content, check whether your client supports merging or overrides. Direct edits to a downloaded file may be lost on the next update. For a detailed backup, logging, and recovery workflow, see the Maintenance chapter.

Troubleshoot connections using evidence

A subscription can import successfully while websites still fail to load—and the problem may not be the client installation. First check whether traffic reaches the core, then whether the expected route matches, and finally the node and destination site. If only one app fails, check whether it follows the system proxy. If every destination fails, inspect the active configuration, network access, and DNS logs. Troubleshooting one layer at a time preserves useful clues better than repeatedly switching software.

A client handles connections but can't guarantee that a subscription service will remain available. Follow the laws, service terms, and network policies that apply where you are. When asking for help, include your operating system, client name, error message, and steps to reproduce the problem—but remove credentials from subscription URLs, node passwords, and personal information. To learn more, work through the Advanced topics chapter.

Clash technical notes

Here are three recent guides on speed troubleshooting, managing multiple configurations, and macOS permissions. Complete the quick start to establish a basic connection first, then open the relevant guide when a specific issue comes up. This avoids changing too many settings before you need to.