mihomoRule engine · Desktop setup

Clash for PCDownloads & Setup

Choose a client for your device, go from importing a subscription to routing traffic with rules, then check that the proxy is working.

  • Setup guides in Chinese
  • Open-source ecosystem
  • config.yaml

Find downloads by device

CONFIGURATION / PROFILE PATHS

Rules, proxies, and profile management

The graphical client handles imports, switching, and status displays; the core parses configuration and handles connections. Understand how they divide the work before changing settings, so you can tell whether a problem comes from the subscription, client options, or your system's network environment.

Rule order determines the match

In rule mode, connections are checked against the configuration in order. The first matching rule determines the policy; later exceptions are not considered. Place LAN domains, specific sites, and reject rules where they fit your needs, and put MATCH last to handle everything else. Unlike global mode, which sends traffic through one selected route, rule mode lets different destinations use different paths. Before editing, confirm that the referenced proxy groups exist, then check the matched rule in connection details. Use client overrides to add rules to a subscription without losing your changes on refresh.

rules:
  - DOMAIN-SUFFIX,local,DIRECT
  - DOMAIN-SUFFIX,github.com,Proxy
  - MATCH,Proxy
mihomo

A proxy core continuing the Clash Meta lineage

GPL-3.0

Open-source license used by the mihomo core

5 platforms

Choose a compatible client for desktop or mobile

CLIENT SHELF / DOWNLOADS

Choose a Clash client for your operating system

Check your operating system and processor architecture before choosing an installer. When client names are similar, compare maintenance status, core support, and system requirements. The downloads page lists available projects by platform, with version information on each card so you can check details before installing.

Windows

Desktop users can start with clients such as Clash Plus and Clash Verge Rev. Check your device architecture in system settings, then import a subscription and enable the system proxy after installation. Test the connection in a browser. If you need TUN, follow the client's instructions for setting up its service and permissions.

Go to downloads →

macOS

Check whether your Mac uses Apple silicon or an Intel processor before choosing a build. On first launch, grant the permissions requested by macOS. If you migrate an existing profile, check the listening port and local paths. The menu bar controls and locations of system proxy and TUN settings vary by client.

Go to downloads →

Android

Choose an installer for your device architecture. The first connection requires approval for the system VPN configuration. If the app stops running in the background, check battery optimization and background activity permissions. Subscriptions that work on desktop still need to be compatible with the mobile client; a URL opening successfully does not guarantee it will import.

Go to downloads →

iOS

The downloads page links to Clash Plus on the App Store and lists its official site, clashplus.io. After installation, import a compatible profile and approve the VPN configuration. Check the connection status and proxy group selection again after switching between mobile data and Wi-Fi.

Go to downloads →

Linux

On desktop Linux, choose Clash Verge Rev or FlClash, then select a package format for your distribution. How system proxy settings work depends on the desktop environment and app implementation. Server and router users can find the mihomo core on the downloads page and manage its configuration and service for their environment.

Go to downloads →

Post-install checks

Installation is only the first step. Make sure the profile is enabled and has no parsing errors, select an available proxy in the relevant group, then enable the proxy entry point you need. Test with a new browser request so existing connections don't affect the result. If the proxy still isn't working, note the client message and matched rule, then troubleshoot in the help center. Change one setting at a time to identify what made a difference.

Browse all clients → Read the installation and first-connection guide →

OPEN SOURCE / PROJECTS & CORES

Open-source projects and maintenance boundaries

How Clash, Meta, and mihomo are related

Clash originally provided a proxy core and configuration system, around which graphical clients emerged for different platforms. After the original Clash project was discontinued, follow-on projects in the ecosystem continued to evolve. Clash Meta is a name often found in older guides and configuration notes; mihomo continues the technical path of that fork. When reading documentation, match historical project names to the core you're using today. Not every installer with Clash in its name belongs to the same project.

The core handles protocols, DNS, rule matching, and connection forwarding. The graphical client provides settings, profile management, system integration, and logs. Clients such as Clash Verge Rev call on a core to handle traffic, but updating the interface and updating the core are separate maintenance tasks. A feature is available only if the client exposes the relevant controls and its bundled core supports the setting. Replacing the interface alone won't resolve every configuration compatibility issue.

How to assess a project through its public code

Public repositories let you review source code, commit history, issue discussions, and release notes. If a setting changes or a protocol isn't supported, check the project's documentation and release history before trying configuration snippets from unknown sources. The mihomo core uses GPL-3.0. For other clients, check their own project files for code licenses, distribution terms, and third-party dependencies; the core's license does not automatically apply to every graphical client.

The command on the right clones mihomo's source code for users who want to inspect its implementation or contribute to development. Cloning the repository does not install a desktop client or create a system proxy service. Most users can choose a graphical client from the downloads page. To understand configuration behavior, consult the official documentation for syntax and defaults. This site provides download links and usage guides in Chinese; it is not part of the upstream projects' development teams.

What to check before and after updates

Clients, cores, remote subscriptions, and rule sets each have their own update sources. A client update may move settings; a core update may add protocol support or change fields; a subscription update may replace proxies and groups; and a rule set update may change which traffic is routed. These are separate updates, and you shouldn't change them all at once when troubleshooting. Identify which layer is causing the error before deciding whether to update, roll back, or revise the configuration.

Before updating, save local overrides, frequently used proxy group selections, and any important settings notes. Afterward, confirm the profile loads, then check DNS, LAN access, and your usual apps. If a site that worked before is now unreachable, compare the old and new configuration and release notes, focusing on fields that changed. Keep reproducible steps and sanitized logs to help the project community diagnose the issue—instead of reporting only that the connection failed.

Commonly confused settings during initial setup

Why choose a proxy group if I already have a subscription?

A subscription defines the available proxies and routing policies; a proxy group determines which route is actually used. After importing, confirm the new profile is enabled, then check that the group names referenced by the rules match and see which proxy is selected in each group. Read the proxy group glossary →

Does enabling the system proxy affect every app?

Some apps ignore the system proxy or have their own network settings. Test a browser first, then check the proxy settings in the app itself. If you need to route other traffic, consider TUN mode. Troubleshoot the system proxy →

Will enabling TUN fix DNS problems?

TUN controls how traffic is routed. DNS behavior also depends on the core's resolver settings, the system's DNS path, and app-specific settings. Check the logs when troubleshooting resolution failures; the toggle alone won't tell you what's wrong. Read the DNS and protocol reference →

Why did my manually edited rules change after an update?

Refreshing a remote subscription may replace the original file. Add local rules through the client's override or merge feature, and confirm where they end up in the final configuration. Even valid rules may not match if they're in the wrong order. Read the profile import and setup guide →

READING / CONFIGURATION ARTICLES

Subscription imports, first connections, and rule syntax

These three articles are listed by publication date, newest first. If you're new to Clash, start with subscription imports, then check your connection. For more control over traffic routing, read about rule syntax and matching order. Setting names in the articles describe where to look; exact locations vary by client.

Browse all articles →