mihomo core · Apple silicon and Intel

Clash for Mac Client Downloads

From subscription imports to Rules & Routing, enable TUN mode when needed.

  • mihomo Core
  • GPL-3.0 Licensed Core
  • Apple silicon / Intel

CLIENT DOWNLOADS

Clash Downloads for Every Platform

Check your operating system and processor first, then choose a client. Desktop and mobile apps use different distribution methods, and your subscription must use a format the client supports.

Windows Clients

Start with Clash Plus, or compare Clash Verge Rev, FlClash, and Clash Nyanpasu. After installation, import your configuration and enable the system proxy. If you need to route game or command-line traffic, check TUN permissions. If another app is already using a listening port, resolve the conflict before testing the connection.

Go to Downloads →
Choose a Build for Your Chip

macOS Clients

Open About This Mac from the Apple menu. If it lists an Apple chip, choose the Apple silicon build; if it lists Intel, choose the Intel build. Clash Plus is the featured option on the downloads page, alongside Clash Verge Rev and FlClash. ClashX Meta remains available as an archived option.

Move the app to Applications, then follow the system prompts to grant network permissions. Test browser connectivity with the system proxy first, then enable TUN if your use case requires it. If you lose access after changing networks, check that the configuration is enabled, the proxy mode is correct, and no other proxy app is running.

Go to Downloads →

Android Clients

Choose from Clash Plus, Clash Meta for Android, FlClash, and Surfboard. Match the app package to your device architecture and approve the system VPN prompt on first connection. If the connection drops in the background, check battery optimization settings. Subscription format support varies by client.

Go to Downloads →

iOS Clients

Open the Clash Plus App Store page from the downloads page. The product website is clashplus.io. Import a subscription, select the configuration, and follow the prompts to add a VPN configuration. If an app cannot connect, check its selected proxy group and matched rules before changing the routing setup.

Go to Downloads →

Linux Clients

For desktop environments, choose Clash Verge Rev or FlClash and select the package format for your distribution. Whether an app honors the system proxy depends on how it is built. Server and router users can find mihomo in the core section, then manage service permissions, configuration paths, and listening interfaces themselves.

Go to Downloads →

A subscription provides connection settings; the client imports and applies them. After installation, make sure a valid configuration is enabled. When moving to another device, check your proxy group selection and local overrides as well as the subscription URL.

Browse All Clients → View the Client Selection Guide →

MIHOMO CONFIGURATION

Proxy Groups, Rules, and Traffic Capture

Explore common configuration options through a macOS window mockup. Interface labels vary by client; refer to the documentation for the mihomo core you are using for field definitions.

config.yaml · Proxy Group Preview
proxy-groups:
  - name: Proxy
    type: select
    proxies:
      - Auto
      - DIRECT
  - name: Auto
    type: url-test
    use:
      - subscription
    url: https://www.gstatic.com/generate_204
    interval: 300
    tolerance: 50
type: url-test
Example snippet · provider must be defined separately

Open the client's Proxy page. Check which proxy group your rules use, then choose a manual group or an automatic test group. select lets you choose a proxy explicitly, while url-test selects the best candidate based on tests to a specified URL—useful on devices that move between networks. You can nest the two: the outer group controls the selection method, and the inner group runs periodic tests. Test results reflect performance to the test URL at that moment, not the experience on every site. The subscription provider shown in this example must be defined in the full configuration; this snippet alone is not enough to connect.

Verify the connection before adding complexity

For a first connection, check each item in order: the configuration is enabled, the proxy group is available, rule mode is active, and the system proxy is on. Get a browser connection working first, then check the target domain, matched rule, and proxy group on the Connections page. If no connection appears in the log, traffic may not be reaching the client. If it appears but fails, check the proxy group, DNS results, and upstream connectivity. This separates traffic-capture issues from outbound connection issues and avoids unnecessary reinstalls.

If you need custom routing, use the client's local override feature to save work domains, LAN exceptions, and fixed proxy choices separately. Direct edits to a downloaded subscription configuration may be overwritten on update. Change one type of setting at a time and keep a working copy so you can roll back and compare behavior. For field definitions, compatibility notes, and fuller YAML examples, see the mihomo Advanced Configuration Guide. For your first import, start with the Subscription Import Guide.

OPEN SOURCE CONTEXT

The Clash Ecosystem and the Open-Source mihomo Core

Understand clients, cores, and subscriptions separately to know where to check when updating, migrating, or troubleshooting.

How the Client Interface and Proxy Core Work Together

Importing profiles, switching proxy groups, and viewing connections are tasks handled by the client's graphical interface. The core parses configuration, applies rules, and establishes proxy connections. mihomo builds on work associated with Clash Meta, so guides may refer to Clash, Clash Meta, and mihomo. Similar names do not mean every client has the same controls, or that an older core can read every field in current documentation. If a configuration fails, first identify the core in use, then check how the client passes the configuration to it.

When choosing a client, compare OS compatibility, configuration management, override support, and authorization steps. Even two clients using the same core may differ in defaults, menu layout, and service installation. You may be able to reuse a compatible subscription when migrating, but recheck the system proxy, launch-at-login settings, TUN permissions, and local overrides in the new client. Quit the old client before testing the new one to reduce conflicts involving listening ports, the system proxy, and virtual interfaces.

Project History and Archived Clients

The Clash ecosystem includes actively developed cores and interfaces as well as legacy clients that are no longer maintained. Older tutorial screenshots may still be useful, but download locations, configuration fields, and permission instructions may have changed. The downloads page labels archived clients separately from currently available options to help users check compatibility with existing configurations. For a new installation, start with a maintained option. When migrating an old configuration, keep the original file and check ports, DNS, proxy groups, and rule references section by section.

An older interface that launches may still be unable to handle newer configuration syntax. Likewise, a core may support a field that the client's interface does not expose. If configuration loading fails, read the field name and line number in the log, then check YAML indentation, proxy group names, and provider references before investigating feature compatibility. Narrowing the issue down to one field or a minimal snippet makes the cause easier to confirm than replacing the entire configuration at once.

Source Code, Licensing, and Issue Reports

mihomo source code is maintained in the public MetaCubeX repository, and the core is licensed under GPL-3.0. Repository documentation, commit history, and issue discussions can help clarify feature changes. Check each graphical client's own repository and license separately. This site organizes download links and Chinese-language instructions; clients, cores, and subscription services are maintained by their respective providers. When reporting an issue, identify whether a UI control is unresponsive, the configuration is not being passed correctly, or the core receives a connection but fails to handle it.

Before sharing logs, remove credentials from subscription URLs, server details, and anything that could identify you. Include your OS, processor architecture, steps to reproduce, error text, and a sanitized minimal configuration so others can reproduce the issue. If you want to inspect or build the core, run the command alongside to fetch its source. Most users can simply choose a graphical client; downloading source code is not required to install one.

App Updates and Subscription Updates

App updates typically change the interface, OS integration, or bundled core. Subscription updates fetch connection settings, proxy groups, or rules again; the two processes are independent. After updating an app, check that your original configuration is still enabled and that permissions and services are working. After updating a subscription, check whether your selected proxy group is still available, local overrides still apply, and rule sets loaded successfully. Verifying the two updates separately makes it easier to identify which change affected your connection.

Save a working configuration and local overrides before making broad changes. When the network environment, subscription content, and client settings all change at once, opening a single web page is not enough to pinpoint the problem. Keep a consistent test routine: open a target site, inspect the connection log, check the matched rule, and confirm the proxy group. Restore your normal mode when testing is done so temporary global settings do not affect later use.

Common Installation and Setup Questions

Where do I import a subscription link after installing the client?

Open the client's Configuration page, choose Add or Import, and paste a compatible subscription URL. Once it finishes downloading, enable the profile and check your proxy group on the Proxy page. Button names may vary; follow the subscription import steps to confirm the order.

Should I enable both the system proxy and TUN?

Start with the system proxy to test apps that follow system settings. If other apps need traffic capture, configure TUN as described by your client and check permissions, routing, and DNS. The two options cover different traffic; see the Advanced Configuration Guide for troubleshooting steps.

How do I keep custom rules after a subscription update?

Add rules through the client's local override or merged configuration feature instead of editing the generated subscription file directly. After updating, verify rule matches on the Connections page and make sure your custom rules still come before fallback rules. Find more help with common configuration issues in the Help Center.

Websites load, but other apps still can't connect. Why?

First check whether the app's connections appear in the client. If they do, inspect the matched rule, selected proxy group, and DNS. If they do not, check the app's proxy settings or traffic capture method. Command-line tools may need proxy environment variables set separately; see the Troubleshooting FAQ for more possibilities.

CONFIGURATION NOTES

Clash Configuration and Rules & Routing Guides

Explore guides on configuration fields and troubleshooting routing behavior.