• Clash clients · Configuration and usage

Clash Official Site
Client downloads and configuration

Choose a client for your platform, follow the step-by-step guides to import a subscription, and learn about traffic routing rules and YAML configuration.

  • Open-source core
  • Desktop clients
  • Configuration reference

CONFIG / Configuration notes

Clash rules and configuration

Follow a connection from entry point to rule match to understand how each field affects traffic.

Clash is a proxy ecosystem built around rule-based traffic routing. Different clients handle installation, configuration management, and system integration, while the core processes connections. You don't need to learn every configuration option at once: first confirm that the configuration loads and you can select a policy group, then explore modes, DNS, and rules. The examples below show individual fields for reference alongside an existing configuration; they are not a complete setup and cannot replace a subscription.

Put domain-specific rules first and keep a fallback at the end

In rule mode, the core checks rules from top to bottom and applies the policy for the first match. Put sites that need special handling before broader rules, then use MATCH to catch all remaining connections. Proxy below is a policy group name and must exactly match its definition in your configuration. After making changes, check the client's connections page for the destination domain, matched rule, and actual route. If the result isn't what you expect, check the rule order before replacing the entire subscription.

rules:
  - DOMAIN-SUFFIX,example.com,Proxy
  - GEOIP,CN,DIRECT
  - MATCH,Proxy
View rule syntax →

Just want to get connected? Start with the quickstart. For definitions, open the glossary. The example above includes only direct outbounds to illustrate the configuration structure.

CLIENTS / Downloads by platform

Download Clash by platform

Check your operating system and processor architecture first, then choose a compatible client. Find installers and system requirements on the download page.

Windows

For everyday desktop use, start with Clash Plus or compare clients such as Clash Verge Rev and FlClash. Before installing, check your processor type under “Settings → System → About” rather than guessing from your computer's brand. After the first launch, import a configuration, then enable the system proxy in the client. Read about TUN permissions if you need to route more apps.

Clash for Windows is no longer maintained and is listed in the download page's archive. Before migrating from an older client, export your configuration and note your port and policy group selections. Don't copy the entire old program folder over the new client.

Go to downloads

macOS

Open About This Mac from the Apple menu and choose an Apple Silicon or Intel installer based on your chip. The download page lists options such as Clash Plus, Clash Verge Rev, and FlClash. Move the app to Applications before launching, then follow the prompts to authorize the system proxy or network extension. Required permissions vary by client.

If Keychain prompts keep appearing, first confirm that the request comes from the client you just launched, then follow the guide to check its authorization records. If web pages still won't load after quitting the client, check whether the proxy has been reset in your system network settings.

Go to downloads

Android

The download page lists Clash Plus, Clash Meta for Android, FlClash, and Surfboard. Check your device architecture before choosing an installer. After importing a configuration and starting the client, Android will ask to establish a VPN connection. Once authorized, a corresponding icon usually appears in the status bar. That icon confirms the network tunnel is up; it doesn't mean every configured outbound is working.

For continuous background use, check battery management and background restrictions. If you're using Surfboard, also confirm that the configuration format is supported; a matching file extension alone doesn't guarantee it can be imported.

Go to downloads

iOS

On iPhone or iPad, open the Clash Plus App Store listing from the download page and visit the official site at clashplus.io. After installing, import a subscription or configuration using the option provided by the client. The first time you connect, allow iOS to add a VPN configuration. Then check the active configuration and policy groups; allowing a configuration to be added doesn't finish the connection setup.

Mobile and Wi-Fi networks may have different DNS settings and network restrictions. If access problems start after switching networks, check connection logs and configuration status, then follow the troubleshooting guide step by step.

Go to downloads

Linux

On desktop Linux, choose Clash Verge Rev or FlClash and follow the installation instructions for your distribution's package format. After installation, confirm that the desktop environment's system proxy settings are active. Terminal tools often need proxy environment variables configured separately, so browser access alone doesn't mean every program is routed through the client.

Server and router users can find mihomo in the core section of the download page. Running the core directly means managing configuration paths, service permissions, and logs yourself. If you're new to the ecosystem, start with a GUI client to understand how the pieces fit together.

Go to downloads

QUICKSTART / Get started in three steps

Get started with Clash

Complete a connection you can verify before adjusting advanced options.

  1. Import a subscription or local configuration

    Open the client's Config or Profiles page, choose the option to import from a link, and paste a subscription URL you obtained legitimately. If you already have a YAML file, import it from your device instead. Wait for the download and parsing to finish, then select the configuration. The interface usually shows its name or last update time. If parsing fails, first check whether the URL returns configuration text rather than an account sign-in page.

    A subscription URL may contain credentials that grant access to your account. Never post the full URL in a public forum. A successful import only means the file was recognized; next, confirm that its policy groups and outbounds work. Keep the original file during your first setup so you can roll back if needed.

  2. Choose a rule mode and policy group

    Open the Proxy or Policy Groups page, select rule mode, then choose a working outbound in the main policy group. Some configurations use nested groups, so expand them to find the final selection. Group names are labels chosen by the configuration author and don't indicate whether a connection is working. Keep the existing rules and DNS settings for now to limit the number of variables.

    On desktop, enable the system proxy. On mobile, follow the prompt to establish a VPN connection. TUN is useful when you need to route more traffic, but it involves permissions and routing settings. If your browser already follows the rules, there's no need to enable every interception option just to turn on “all features.”

  3. Open a webpage and check connection logs

    Visit a site you know is available in your browser, then open the client's Connections or Logs page. Check whether the request appears, which rule matched, and which policy was used. If the request appears but access fails, check the outbound and DNS. If the request doesn't appear at all, check whether the app uses the system proxy and whether the ports match.

    Change one setting at a time, then revisit the page and compare results. Once everything works, note where to pause the connection and restore the system proxy so you can return to the original network state if problems arise. The full guide covers configuration updates, mode switching, and common troubleshooting steps in more detail.

Read the full guide →

OPEN SOURCE / How the projects fit together

The Clash and mihomo open-source ecosystem

Understanding project origins, client maintenance, and configuration updates is more useful than relying on a name alone.

From Clash to Clash Meta and mihomo

Clash built an ecosystem around rule-based proxies and YAML configuration. After the original project was discontinued, the community continued developing related cores and GUI clients. Clash Meta was later renamed mihomo, so tutorials, configuration notes, and client settings may use both names. The projects are related, but that doesn't mean every old field, new protocol, and client feature is fully compatible.

If a field has no effect, check the client's About or Core page to confirm which core is running, then consult its documentation. Older guides can explain the basics, but shouldn't be used to determine what current versions support. DNS, TUN, and rule providers in particular may work differently depending on core capabilities and client integration.

GUI clients and cores are maintained separately

GUI clients such as Clash Verge Rev and FlClash focus on configuration management, interface, system proxy, and permission integration. mihomo parses configuration, matches rules, and establishes connections. Clients and cores follow their own maintenance schedules, so a change in the app interface doesn't necessarily mean the core's behavior changed too. Choose a download based on your platform and needs; the Clash name alone doesn't guarantee that two clients have the same features.

Open-source licenses explain the terms for using, modifying, and distributing code; they don't mean different projects share a publisher. Our brand is used to organize downloads and Chinese-language guides. Check each project's own materials for its maintainer. For an overview, read How Clash, Clash Meta, and mihomo are related before deciding which configurations to migrate or keep.

Handle software updates separately from subscription updates

Updating a client usually affects its interface, system integration, or bundled core. Updating a subscription mainly changes nodes, policy groups, and rules. If connection problems start after a subscription update, compare the configuration changes before reinstalling the app. Before upgrading the client, export your current configuration, note overrides and proxy ports, and confirm the new version loads everything before removing old files.

Subscription management involves service URLs and account permissions. A client supporting a protocol doesn't mean every link from every source is trustworthy. Only import configurations from sources you know and are authorized to use. When asking for help publicly, redact access parameters, account details, and node credentials from subscription URLs. This site provides configuration and usage references; it doesn't distribute “free nodes” or guarantee third-party service availability.

Browse the source code and license

mihomo is licensed under GPL-3.0. You can explore its implementation, issue discussions, and release notes in the public repository. If you plan to build it yourself or distribute a modified version, read the license and relevant dependency notices in full. If you just want to use a client, start with a GUI app; you don't need to set up a build environment first.

The command on the right downloads the public source code to a local directory. It doesn't install a client, establish a proxy connection, or change your network settings. Run it in a terminal with Git installed. If you're looking for the meaning of a field, open the configuration reference or glossary instead. To verify implementation details, consult the source alongside the project documentation.

NOTES / Recent updates

Clash usage and troubleshooting notes

Start with errors from real-world use, check settings in order, and keep connection logs that help explain the issue.

If you haven't installed a client yet, start with the download page for your platform. If you can connect but specific sites have problems, read the troubleshooting article that matches what you're seeing. When you need to change the configuration structure, use the field reference and edit one item at a time rather than replacing all your network settings.

View all articles →