Open-source ecosystem · Cross-platform configuration guides

Clash Docs Hub

From choosing a client to establishing a connection, find practical guidance on subscription imports, rule-based routing, and TUN mode.

  • Free forever
  • Open source
  • Multi-platform clients
  • Chinese configuration guides
United States Japan Hong Kong Singapore South Korea
Choose by operating system

Clash client platforms

Clients differ in interface design and kernel integration. Open the download page for your device first, then choose software based on maintenance status, system architecture, and your workflow.

Windows

Ideal for everyday desktop use: choose Clash Plus, Clash Verge Rev, FlClash, or Clash Nyanpasu, or read the migration notes for discontinued clients. Check your system architecture before downloading; after installation, configuration usually starts from the subscription section.

Go to downloads

macOS

Supports both Apple Silicon and Intel devices. When first enabling the system proxy or TUN, follow the system prompts to grant network extension permissions.

Go to downloads

Android

Suitable for phones and tablets. After importing a subscription, approve the system VPN request; adjust per-app proxy and background activity limits in the device settings.

Go to downloads

iOS

Get Clash Plus from the App Store. After installation, the system creates a VPN profile; add your subscription in the client and select Rule mode.

Go to downloads

Linux

Desktop users can choose a graphical client, while servers, soft routers, and container environments often run the mihomo kernel directly. Both use the same general YAML configuration style, but service management, permissions, and log locations differ. The download page lists separate entry points.

Go to downloads
Configuration roadmap

Subscriptions, modes & rule-based routing

Start with a working base configuration, then handle system interception, rule maintenance, and subscription updates step by step. The panels below mirror the settings most commonly found in clients.

Basic configuration

Subscription imports & update strategy

A subscription URL centrally provides proxy nodes, proxy groups, and rule configuration. Before importing, confirm that the link comes from your own service provider, then paste the complete address into the client's subscription or configuration section. Save it and run one manual update to verify that the configuration name, proxy groups, and rules appear correctly. There is no need to use a very short update interval; daily updates are usually sufficient. If an update fails, first check whether the URL has expired, whether the system clock is accurate, and whether the current network can access the subscription address directly.

  • Run one manual update after the first import to confirm that the configuration parses correctly.
  • Keep a working older configuration so you can roll back if an update fails.
  • When sharing one URL across devices, check the last update time on each client.
Configure subscription
Configuration nameDaily Rules
Auto-update
Update interval24 hours
Save configuration
Open-source ecosystem

Clash, Meta & mihomo

Understanding the roles of the kernel, client, and configuration file helps keep interface, rule, and network issues separate during troubleshooting.

Project evolution

The original Clash kernel established familiar practices such as rule matching, proxy groups, and YAML configuration. After the original project stopped being maintained, community forks continued work on protocol extensions, TUN implementations, rule types, and data management. Today, graphical clients commonly ship with the mihomo kernel, but update schedules, interface layouts, and system integration still vary by client.

Client & kernel

The graphical client handles subscription management, system proxy switches, policy selection, log viewing, and desktop integration; the kernel reads configuration, establishes connections, applies rules, and handles DNS. An interface opening does not mean the kernel is running, and a successful subscription update does not mean system traffic is being intercepted. During troubleshooting, verify configuration loading, kernel status, system proxy settings, and actual connection logs separately.

Configuration compatibility

Common base fields are broadly similar across Clash ecosystem clients, but mihomo extensions for protocols, rule types, or DNS fields may not be recognized by older kernels. When migrating between clients, do not simply copy the entire configuration and assume compatibility. A safer approach is to import the subscription first, then migrate your own rules, overrides, and DNS settings separately while checking field warnings in the startup log.

Updates & maintenance

Client updates, kernel updates, subscription updates, and rule-data updates are four separate things. A client update mainly changes the interface and system integration; a kernel update affects protocol and configuration capabilities; subscription updates are generated by the service provider; and rule data may be downloaded independently. When an update fails, identify what failed first, then check the network, permissions, configuration path, or upstream status.

Clone the mihomo open-source repository git clone https://github.com/MetaCubeX/mihomo.git
Quick troubleshooting

Common questions

First identify whether the issue occurs during download, subscription import, kernel startup, or system interception, then open the relevant guide.

What should I check first when a subscription update fails?

Confirm that the subscription URL is complete and still accessible, then check the system clock, current network, and client logs. If the old configuration still works, keep it instead of repeatedly deleting and recreating configurations.

View subscription import steps →

How do I choose between Rule and Global mode?

Use Rule mode for everyday use. Global mode is useful for briefly checking whether a target connection is being routed incorrectly; return to Rule mode afterward and fix the rules.

Read about proxy modes →

Why do some apps connect directly after I enable the system proxy?

Some programs do not read system proxy settings. Check the app's own proxy options first; if you need to capture more traffic, configure TUN mode according to the operating system's requirements.

View connections & verification →

What should I do if the network fails after enabling TUN?

Disable TUN first to restore basic connectivity, then check administrator permissions, DNS hijacking, auto routing, and the LAN exclusion range. Avoid changing several parameters at once.

Read the TUN configuration guide →