Clash Meta / mihomo Core

Clash Meta
Download & Setup

Choose a client for your platform, from importing subscriptions to routing rules, and learn how to configure and troubleshoot the mihomo core.

  • Open source
  • YAML configuration
  • Documentation in Chinese

Client platforms

Clash configuration block

Understand the traffic path through configuration options. Select a topic to see what it does, how to enable it, and a YAML snippet. Examples show partial structures and must be merged into an existing configuration. Proxy group names must match the targets used by rules.

Match rules in order; route traffic by policy

In rule mode, rules are checked from top to bottom. The first match selects a policy, and no further rules are evaluated. Domain suffixes work well for covering a service's subdomains; IP rules are useful for known address ranges, while MATCH catches everything else. Put rules that need special handling first, followed by regional rules and a final policy. mihomo retains familiar Clash rule syntax and extends its capabilities. When migrating an older configuration, check that the rule types and data files you use are still supported. In the example, PROXY is a proxy group name that must be defined in the configuration before use; copying the rule alone is not enough to start the client.

config.yaml · rules
mode: rule
rules:
  - DOMAIN-SUFFIX,github.com,PROXY
  - GEOIP,CN,DIRECT
  - MATCH,PROXY

Choose a client for your operating system

Graphical clients handle subscriptions, system proxy settings, and everyday controls; the core handles protocols, DNS resolution, and rule execution. Choose a client that fits your device, then check its CPU architecture, system requirements, and configuration support.

Browse all clients →

Windows

Start with a maintained graphical client such as Clash Plus. Import a subscription, enable the system proxy, and test a browser connection. If you need to route games or store apps, learn about TUN and loopback restrictions next.

Before moving from Clash for Windows, back up your subscriptions, custom rules, and overrides. The new client's configuration directory and service mode may differ, so don't overwrite the entire old directory. Check the system proxy port shown by the new client rather than assuming it is unchanged.

Go to downloads

macOS

Check whether your Mac has Apple silicon or an Intel processor, then choose the matching installer. Clients such as Clash Plus and Clash Verge Rev can manage subscriptions and rules. Follow the system prompts to grant network permissions after installation.

System proxy and TUN use different permission models. If your browser connects but your terminal does not, first check whether command-line tools read proxy environment variables. Enable TUN only when transparent routing is necessary, and avoid changing the default route alongside another VPN.

Go to downloads

Android

Options include Clash Plus and Clash Meta for Android. Import a configuration, allow the VPN connection, and test app access. Match the installer architecture to your device; if you are unsure, check the device's processor information first.

Background disconnections do not necessarily mean your subscription has expired. Check battery optimization, background activity, and auto-start permissions first, then see whether switching Wi-Fi networks restores the connection. Change one setting at a time to identify whether the cause is system background management or a change in the connection path.

Go to downloads

iOS

The download page links to Clash Plus on the App Store and lists the official site, clashplus.io. After installation, import a subscription in a supported format, allow the VPN configuration, and confirm the connection status in system settings.

Different clients may support different fields in the same subscription. If import fails, check whether the link returns a full configuration or a proxy collection, then review the specific error. Do not copy desktop listener addresses, file paths, or TUN settings directly to a phone.

Go to downloads

Linux

For desktop Linux, consider Clash Verge Rev or FlClash; server and router users can look for mihomo core packages. Before installing, check the distribution's package format and CPU architecture, then set the configuration directory and permissions.

When running from the command line, start in the foreground and inspect the logs before handing the process to a service manager. Listening on ports as a regular user, creating a TUN device, and changing routes require different permissions. Diagnose configuration errors separately from permission errors.

Go to downloads

The mihomo core and open-source ecosystem

Keep the core, client, and configuration source distinct. Source code explains implementation, release notes document changes, and the client interface determines the steps you take.

Clash Meta and mihomo: what's the connection?

Clash Meta was an earlier name for this core project, which is now actively developed as mihomo. Tutorials may still use the old name, old repository paths, or screenshots from different clients. To determine whether a configuration applies, check the core actually running and its documentation—not just whether the client name includes Meta. Graphical client updates and core updates may also happen at different times.

A client is not a subscription service

mihomo handles proxy protocols, DNS resolution, and routing rules. Graphical clients provide configuration management, system integration, and an interface on top of it. Subscriptions come from a service you choose or a configuration you create yourself. Installing a client does not provide a working egress route, and open-source code does not mean subscription contents are public. This site provides download listings and Chinese-language guides; each project’s maintainers handle its development, releases, and support.

Check changes in source code and release notes

Browse the core source in the MetaCubeX/mihomo repository; the LICENSE file in that repository specifies the license. Commits, issue discussions, and release notes can help confirm whether a field is supported or behavior has changed. Run the command below to fetch the source for review. This is not required to install a graphical client, and it does not replace importing a subscription or configuring your network.

Record your configuration before updating; verify the traffic path afterward

Before updating a client or core, back up your current configuration and local overrides, then read the release notes. After updating, confirm the configuration loads, then check DNS, rule matches, and egress separately. When reporting an issue, include the operating system, client name, core details, and minimal reproduction steps. Remove subscription URLs, credentials, and private domains before sharing logs. A clear reproduction is more useful than a screenshot of the entire configuration.

Open source

MetaCubeX / mihomo

Explore the core implementation, configuration changes, and community discussions. Check desktop and mobile client support separately.

Open the core source repository ↗
Terminal · Get the source
git clone https://github.com/MetaCubeX/mihomo.git

Configuration and troubleshooting guides

Start with common scenarios: first-time setup, migrating from an older client, and Windows app loopback restrictions. Each article walks through the relevant steps and explains when they apply.

Browse all articles →