Open-source code · Clients for every platform

Clash Clients for Every Platform

Find the right client for your platform, then start with subscription imports, rule-based routing, and TUN mode. Download links, core concepts, and troubleshooting steps are organized in one place for first-time setup and later reference.

Free forever Open source Chinese documentation Rules and subscriptions

Proxy management

From scattered settings to a unified client

The hard part of proxy tools is usually not installing the package, but finding configuration, modes, system integration, and troubleshooting details spread across different places. Establishing a clear workflow first makes switching clients or migrating configurations much easier.

Where setup commonly breaks down

  • Download links and platform architectures are mixed together

    Windows installers, macOS chip architectures, and Android package formats all differ. File names alone often do not make the right choice obvious.

  • No strategy selected after importing a subscription

    The configuration is present in the client, but the proxy group is still using its default option, so actual traffic may take a different path than expected.

  • System proxy and TUN mode are enabled together

    These two methods operate at different interception layers. Enabling both without a clear goal can make it harder to identify the source of a problem.

  • Reinstalling repeatedly when something fails

    Port conflicts, configuration syntax, permissions, and DNS can all cause connection problems. Reinstalling the client usually does not address these causes.

A clearer troubleshooting sequence

  • Start with the download page for your operating system

    Platform tabs open the relevant client list directly. Choose an installer based on device architecture, GUI requirements, and maintenance status.

  • Check proxy groups after updating the configuration

    Confirm the subscription update time and configuration status, then open the proxy page to choose automatic selection, a manual node, DIRECT, or another strategy.

  • Choose the interception method based on app coverage

    Apps such as browsers that follow system settings can start with the system proxy. To cover more traffic, learn about and enable TUN separately.

  • Start troubleshooting with logs and configuration validation

    Read the key error terms first, then check ports, configuration, permissions, and the network environment to narrow down the cause faster.

Core configuration paths

Three common tasks, explained step by step

The sections below cover rule modes, subscription updates, and log-based troubleshooting. Each option corresponds to a real client setting and can be switched with a mouse, touchscreen, or keyboard arrow keys.

MODE / RULE

How rule mode and proxy groups work together

Rule mode matches traffic against domains, IPs, processes, or rule sets defined in the configuration, then sends each request to the corresponding proxy group. Unlike Global mode, which typically sends all traffic to one strategy, Rule mode can preserve separate direct, proxy, and blocked paths. In practice, first confirm that the client is set to “Rule” at the top, then open the proxy page to review each group’s current selection.

A proxy group is not simply another name for a node list. Nodes establish individual connections; proxy groups organize selection logic such as manual selection, automatic selection, or failover. After importing a subscription, check that the groups still match your goals. For field relationships, rule order, and matching behavior, continue with the Complete Configuration File Reference.

Operation mode Rule
Proxy group Auto select
Unmatched traffic MATCH

Start small with the system proxy

The system proxy relies on apps reading the operating system’s proxy settings. Browsers, download tools, and many desktop apps usually follow them, making this a good starting point for verifying a connection. If a specific app clearly ignores the system proxy, consider broader interception instead of changing several network settings at once.

TUN mode changes the interception layer

TUN mode processes traffic at the IP layer through a virtual network interface, covering some apps that do not read system proxy settings. It may involve administrator permissions, routing tables, and DNS behavior. Save the current configuration before enabling it, and confirm that the basic proxy connection already works. For the detailed mechanics, see TUN Mode vs. System Proxy.

Choose your device

Clash platform downloads

The same configuration may be used across devices, but installation formats, system permissions, and interfaces differ. Start with the tab for your current device, then compare the available graphical clients for that platform.

Windows

Best for users who need a desktop GUI, a system proxy switch, and configuration management. Check the system architecture and maintenance status before downloading. If the discontinued Clash for Windows no longer meets your needs, compare actively maintained alternatives.

Go to downloads

macOS

Best for managing the system proxy, menu bar status, and subscription configuration on macOS. On the download page, distinguish Apple Silicon from Intel first, then choose the matching installer to avoid architecture incompatibility.

Go to downloads

Android

Best for subscription management, per-app routing, and VPN integration on phones and tablets. Devices may use different processor architectures; when unsure, start with a universal build and grant the permissions required to create a VPN connection.

Go to downloads

iOS

Best for iPhone and iPad users who install clients through the App Store and manage connections through the system network extension framework. On the download page, find the Clash Plus App Store link and official site details, then import the subscription through the client interface.

Go to downloads

Linux

Best for Linux desktops, development environments, and users who need graphical configuration management. Check the package format used by your distribution before installing. For servers, routers, or automation environments that run only the core, go to the Mihomo Core section of the download page.

Go to downloads

Open-source ecosystem and maintenance boundaries

Understanding clients, cores, and configuration

The Clash ecosystem combines cores, graphical clients, rule projects, and configuration tools. Distinguishing these layers is more useful for choosing and troubleshooting than memorizing a software name.

Project evolution

Clash first became widely used as a rule-driven proxy core, followed by graphical clients for different operating systems. Some early projects are no longer maintained, but core concepts such as configuration syntax, proxy groups, and rule matching continue in later projects. When choosing a client, check its maintenance status, underlying core, and platform support rather than relying only on a familiar legacy name.

Open-source collaboration

Public code lets developers inspect implementations, report issues, improve platform support, and build projects around rule sets, DNS, transparent proxying, and user interfaces. Client interfaces and release cycles may differ, while underlying capabilities depend on the adopted core. This site keeps client links and conceptual documentation separate so you can verify them against your needs.

mihomo core

mihomo is a commonly used successor core in the current Clash ecosystem, supporting rule mode, proxy groups, DNS configuration, TUN, and related capabilities. Graphical clients typically handle configuration management, system integration, and status display; the core performs traffic matching and connection handling. When features differ, first confirm which core the client uses and whether it supports the relevant configuration fields.

What gets updated

Client updates, core updates, and subscription updates are three different things. A client update changes the graphical interface and system integration; a core update may add protocol or configuration capabilities; a subscription update refreshes the nodes, strategies, and rules you use. When troubleshooting, note which layer changed most recently so configuration issues are not mistaken for installation problems.

View mihomo source code git clone https://github.com/MetaCubeX/mihomo.git

A practical order from reading to doing

When getting started, you do not need to read every configuration field first. Choose a graphical client matching your device on the download page, then follow Getting Started to import a subscription, select Rule mode, enable the system proxy, and run a basic check. Once the connection works, decide whether TUN is needed based on app coverage, and use the Glossary to understand DNS, proxy groups, rule sets, and virtual network interfaces.

When editing YAML, first keep a copy of a configuration that loads successfully, then make changes one at a time. Changing ports, DNS, proxy groups, and rule lists simultaneously makes the source of an error difficult to identify. A safer approach is to change one topic, reload the configuration, and watch the logs. If the core reports a syntax error, return to the last working version and check indentation, field types, and referenced names.

Configuration and troubleshooting articles

Recent reads

From learning the interface and configuration structure to resolving startup failures, these articles focus on real operating scenarios. They add the principles and troubleshooting details that do not fit naturally on the tutorial pages.

Troubleshooting

Clash client will not open? Steps to troubleshoot startup crashes and launch failures

Covers common startup failure causes in order of frequency: port conflicts, configuration syntax errors, insufficient permissions, corrupted core files, and missing system components, with checks and recommended handling steps for each.

Read the full article →
Advanced

Clash configuration file structure explained: read a YAML file from port to rules

Breaks down a complete configuration into common fields, DNS, proxies, proxy-groups, and rules, explaining how fields reference one another and covering common issues with indentation, mismatched names, and rule order.

Read the full article →
Advanced

TUN mode vs. system proxy: comparing traffic interception layers and how they work

Compares the two interception methods from the operating system network stack upward, explaining why system proxies depend on app support and how TUN uses a virtual network interface to cover more traffic.

Read the full article →