Open-source core · Desktop and mobile clients

Clash Desktop
Download & Setup

Start by choosing a client, then work through subscription import, proxy mode, and rule-based routing in order. Desktop and mobile entry points, including Windows, macOS, and Linux, are organized in one place.

Free forever Open source Rule-driven Chinese documentation

RULE ENGINE INDEX

Rule Engine at a Glance

The client UI is only the control surface. Actual behavior depends on the configuration, proxy groups, match order, and the scope of system traffic interception. The five areas below cover the points users encounter most often.

Current Focus

Check Match Order Before Changing Policy Fields

Rule issues are often caused not by syntax, but by a broad rule earlier in the list intercepting the request first. Open Connections, find the target domain, and note the matched rule and proxy group before returning to the configuration to adjust the order. Reload the configuration and create a new connection after editing; existing connections do not automatically repeat the full matching process.

PLATFORM ENTRANCE

Choose a Client by Operating System

The same Clash configuration can be loaded by clients with very different interfaces. Focus on the operating system, processor architecture, TUN support, and maintenance status; visual appearance should not be the only deciding factor.

Windows

A good fit for everyday desktop use. After installation, check the system proxy, listening port, and UWP app loopback. If more applications need to be intercepted, configure TUN according to the required permissions.

Go to Downloads

macOS

When downloading, choose the build for Apple Silicon or Intel. The first launch may require approval for a network extension or other system permissions; check the menu-bar status and system proxy switch separately.

Go to Downloads

Android

Designed for phones and tablets. After importing a subscription, the system VPN interface handles app traffic. Battery-saving settings, background restrictions, and always-on options directly affect connection persistence.

Go to Downloads

iOS

Uses a system network extension to establish the connection, with configuration, proxy groups, and on-demand connections managed in the app. On first use, allow the VPN configuration to be added, then check the connection status in the system status bar.

Go to Downloads

Linux

Suitable for desktops, servers, and routers. A GUI client makes everyday switching easier, while running the Mihomo core directly requires you to manage configuration files, service processes, and permissions yourself.

Go to Downloads

QUICK START

Build a Verifiable Connection in Three Steps

Do not change rules, DNS, TUN, and the system proxy all at once during initial setup. Establish a minimal working path first, then expand the interception scope one item at a time. If something breaks, you can clearly return to the last known-good state.

Read the Complete Guide
  1. 01

    Install the Client and Confirm the Core Starts

    From the Downloads page, choose a client that matches your operating system and processor architecture. After the first launch, check the log or status page to confirm that the configuration directory is writable and the listening port is open. Make sure no other proxy process is using the same port.

  2. 02

    Import and Activate a Subscription

    Paste the subscription URL on the configuration page and start the download. After the configuration entry appears, select it manually so the client reloads the core. Then open the proxy page and choose a specific node for each selectable proxy group.

  3. 03

    Enable the Proxy and Test Each Path

    Enable the system proxy first, visit a test destination in a browser, and find the corresponding request in Connections. Once the browser works, test the terminal and other apps separately. Configure TUN and DNS last when broader traffic interception is needed.

OPEN SOURCE CONTEXT

How the Open-Source Projects and Core Fit Together

To decide whether a Clash client is suitable for long-term use, separate the graphical interface, proxy core, configuration format, and subscription source. They are maintained by different projects or services and follow different release cycles.

A

Project History

Clash first became widely used as a rule-driven, cross-platform proxy core with a recognizable configuration syntax and policy model. After the original project stopped updating, its configuration format, rule language, and client workflows continued across the ecosystem. When reading older guides, first determine whether they discuss the original Clash, a later core, or a specific GUI client so fields and features from different stages are not mixed together.

B

The Open-Source Ecosystem

Common desktop clients usually combine a graphical interface, configuration management, system proxy controls, and a core process. The interface project handles installation, subscription updates, policy selection, and system integration; the core handles protocol connections, DNS, rule matching, and traffic forwarding. A client UI becoming unmaintained does not immediately invalidate the configuration syntax, but system compatibility and core capabilities will gradually diverge.

C

Mihomo Core

Mihomo continues the Clash configuration ecosystem and adds capabilities for protocols, rules, DNS, and TUN. Many modern desktop clients use it as an optional or built-in runtime core. Whether a configuration loads depends on both valid YAML syntax and support for its fields in the current core. When you encounter an unfamiliar option, check the core documentation first rather than looking only for a matching switch in the client UI.

D

Update Paths

Client updates, core updates, and subscription updates are three independent tracks. Client updates address the interface and system compatibility; core updates change protocol and network handling; subscription updates replace nodes, proxy groups, and remote rules. Record their statuses separately during maintenance. When troubleshooting, roll back one track at a time to determine whether the change came from the software, configuration, or subscription.

SOURCE COMMAND

Mihomo Source Repository

The command below fetches the public source code. Building the core requires a separate Go development environment; for everyday use, choose a client with a graphical interface instead.

git clone https://github.com/MetaCubeX/mihomo.git

FIRST CHECKS

Featured FAQs

These four categories cover the most common points of failure during first-time setup. The Quick Start Guide and user manual contain the complete procedures; this section focuses on how to narrow down the cause.

Why don't I see any nodes after importing a subscription?

First confirm that the URL returns Clash-readable YAML rather than webpage content or another subscription format. Then check that the configuration downloaded successfully and is selected as the active entry. Nodes may be inside a proxy group instead of appearing directly on the home screen.

View the Subscription Import Steps →

Why does the terminal still connect directly after enabling the system proxy?

Some terminal programs do not read the operating system's proxy settings. Configure the HTTP, HTTPS, or SOCKS environment variables separately, or use TUN if appropriate. Test the browser and terminal independently, and confirm for each whether its request appears in Connections.

View System Proxy and TUN →

Should I use rule mode or global mode?

Rule mode is usually best for everyday use, sending local services, proxy destinations, and rejected traffic to their respective paths. Global mode is useful for briefly testing whether a node connects, but it should not replace a complete rule set. After switching modes, create a new test connection so an old session does not affect the result.

Read About Proxy Modes →

Where did my custom rules go after the configuration updated?

Content written directly into a file generated from a remote subscription may be replaced entirely during the next update. For lasting customization, use the client's override, merge, or scripting mechanism. Keep a bootable copy before editing, and confirm the final insertion point and its order relative to MATCH.

Learn How to Maintain Rules →

LATEST NOTES

Recent Guides

Practical, reproducible checklists for three frequent scenarios: system proxy issues, Windows setup, and navigating the client interface.

Download Client