mihomo Core · Clients for Every Platform

Clash Official DownloadClash Verge Clients for Every Platform & Setup Guides

Choose a client for your platform, then set up subscription import, rule-based routing, and proxy settings.

Open-source codeConfiguration guidesDesktop and mobile downloads
Clash Verge · Settings
SettingsSettings / General
Traffic Routing
System Proxy
TUN Mode
Allow LAN
Mixed Port7897
Startup & Control
Launch at Startup
Silent Startup
Proxy ModeRuleGlobalDirect
External Controller127.0.0.1:9097

The settings interface is an illustration. Port values depend on your local client settings. Clash Verge Rev is for desktop systems; use a compatible client on mobile.

Rule-Based Routing and Traffic Capture

Separate how traffic enters the core from how it is routed afterward. System Proxy and TUN control traffic capture; Rule, Global, and Direct determine how captured traffic is handled. These are separate settings.

Clash Verge · Rules
Match rules in orderconfig.yaml
mode: rule
rules:
  - DOMAIN-SUFFIX,example.com,DIRECT
  - IP-CIDR,192.168.0.0/16,DIRECT,no-resolve
  - MATCH,PROXY

PROXY is an example policy group name. It must be defined in the configuration.

Rule-based routing chooses an outbound connection based on conditions such as the domain or destination address. It works well when you need to access local services alongside sites that require a proxy. Select Rule in the client's proxy mode, then check the active order on the Rules page. The core evaluates rules from top to bottom and stops at the first match; LAN direct rules usually belong above the final catch-all. The example's PROXY must refer to an existing policy group—copying the rule without defining the group is not enough. Global mode sends traffic through one global policy instead of applying this rule list. TUN changes how traffic is captured; it does not replace the rules.

See how to choose a mode →

Check Ports, Mode, and DNS Separately

The mixed port is where apps connect to the proxy; the external controller address is for managing the core from the client interface. They are not interchangeable. After changing the mixed port, check browser extensions, terminal environment variables, and any apps with manually configured proxy addresses. The switches shown in the settings illustration explain what each option does; they do not indicate that it is enabled on your device.

If a site won't load, first confirm that a configuration is selected and the core starts successfully. Then check whether System Proxy or TUN is capturing traffic. Next, inspect the connection's matched rule and policy group, then check DNS. Change one setting at a time and retest to identify what made a difference. Switching to Global mode can help isolate a routing issue, but it won't fix a port conflict, invalid subscription, or system DNS problem.

Clash Client Downloads by Platform

Open the download center for your operating system, then check the CPU architecture and system requirements. The client provides the interface; the core handles connections and rules. Whether a configuration can be transferred also depends on the fields and features supported by the target client.

Windows

Start with Clash Plus, or choose Clash Verge Rev, FlClash, or Clash Nyanpasu. Check your system architecture before installing. For first-time setup, configure the standard system proxy first, then enable the TUN service if needed.

Clash for Windows is no longer maintained. When migrating an old configuration, keep the original subscription URL and custom rules, then check the port and service mode. Don't overwrite the new client's entire configuration directory.

Go to Downloads

macOS

Choose the right installer for Apple Silicon or Intel. The download center lists Clash Plus, Clash Verge Rev, and FlClash, and notes the maintenance status of ClashX Meta to help with migration from older clients.

If first launch requires system permissions, verify the installation source before following the system prompts. System Proxy applies to a network service; after switching between wired and Wi-Fi, check in Network settings that the proxy still matches the client.

Go to Downloads

Android

Choose Clash Plus, Clash Meta for Android, FlClash, or Surfboard based on your needs. Check configuration compatibility: a subscription URL opening successfully does not mean every client can use it.

The first connection usually requires VPN permission. If the connection drops when the screen locks, check battery optimization and background activity restrictions. If another VPN is running, stop it before testing traffic capture in the current client.

Go to Downloads

iOS

Use the download center to open the Clash Plus App Store page, or visit clashplus.io for product details. After installing, import a compatible configuration and allow the VPN configuration when prompted by the system.

Mobile traffic capture is constrained by the operating system's network extension model, so desktop steps for installing services, setting mixed ports, and launching at startup do not apply. Before connecting, check the active configuration and policy, then confirm that the app can reach its destination.

Go to Downloads

Linux

For desktop use, choose Clash Verge Rev or FlClash and select the package format for your distribution. Servers and routers typically run the mihomo core directly, so you'll need to manage the configuration directory, startup service, and forwarding rules yourself.

Enabling System Proxy in a desktop client does not guarantee that command-line tools will use it. Configure proxy environment variables for terminal programs that support them. With TUN, also check permissions, routes, and DNS to avoid conflicts with existing network management services.

Go to Downloads

Not sure which client to choose? Start with your platform, configuration format, and whether you need TUN, then compare the interface and configuration tools. Don't confuse an older client name with the core: apps in the Clash ecosystem may use different core implementations and update schedules.

View all clients → Read the client selection guide →

Import a Clash Subscription and Connect

For your first setup, establish a connection path you can test and repeat before adding auto-updates, launch-at-startup settings, or custom rules. Installing a client does not provide a usable configuration, and this site does not offer proxy subscriptions.

  1. Import and Select a Subscription

    Open the Subscriptions or Configurations page, paste the full URL from your provider, and select the configuration after import completes. For a local YAML file, check that its encoding and indentation are valid. Seeing the configuration name is not enough—make sure the core loads it successfully. A parse error or missing policy group reference won't be fixed by toggling System Proxy.

  2. Choose a Proxy Mode and Traffic Capture Method

    For everyday use, start with Rule mode, choose an outbound in the appropriate policy group, then enable System Proxy. Configure TUN only if an app ignores the system proxy. Global mode and TUN are separate features; you don't need to enable both. If multiple proxy clients are running, disable System Proxy and virtual adapters in the others to reduce port and routing conflicts.

  3. Test Access and Save Working Settings

    Test both sites that require a proxy and local network services, then check connection logs to confirm the matched rule and policy. If only one app fails, check its own proxy settings first. If all apps fail, troubleshoot in this order: port, traffic capture, rules, then DNS. Once everything works, set the subscription update interval and save any custom overrides so you can restore them after an update or migration.

View the full guide →

The Clash Ecosystem, mihomo Core, and Open-Source Projects

Distinguishing project names, core implementations, and client interfaces helps you assess configuration compatibility and update scope. The repository command below downloads mihomo source code; it does not install a client or provide a subscription.

Project History and Client Maintenance

The Clash ecosystem includes cores, desktop interfaces, and mobile apps—not one installer for every operating system. Although some earlier clients are no longer maintained, the community continues to develop other interfaces and core implementations. The end of updates for Clash for Windows does not mean the entire ecosystem has stopped evolving, nor does it give the old client automatic support for new protocols. Check a project's current maintenance status when choosing a client, rather than relying on a familiar name.

What mihomo and the GUI Each Do

mihomo handles configuration parsing, protocol connections, rule matching, and DNS. Graphical clients such as Clash Verge Rev add subscription management, settings, and system integration. A feature's availability depends both on core support and on whether the client exposes the relevant setting. A button's location in one desktop interface is not a configuration standard. When following a guide for another client, match the meaning of each field instead of looking for an identical menu.

Source Code, Documentation, and Issue Reports

Open-source repositories let you inspect implementations, commit history, and known issues, helping determine whether a behavior is caused by a configuration error or a feature limitation. When reading issue discussions, distinguish the operating system, core, and client. For a useful report, include the error type, reproduction steps, and a redacted configuration—but remove subscription URLs, credentials, and personal network details. Share only the log excerpts needed to diagnose the issue, not the full configuration.

Client Updates vs. Subscription Updates

A client update can change the interface, system integration, or bundled core. A subscription update fetches remote configuration from your provider. They have different update paths and failure causes. Before switching clients, note your current mixed port, TUN settings, and custom rules. Before updating a subscription, make sure local changes are saved in a merge or override configuration. After an update, check what is actually active; a success message alone does not confirm a complete migration.

Clash Configuration and Troubleshooting Guides

Choose what to check based on the symptoms, then follow the relevant settings path. Subscription parsing failures, DNS issues, and “connected but can't load websites” happen at different stages; reinstalling the client repeatedly won't solve them all.

View all articles →

For a step-by-step diagnosis, see the Troubleshooting manual. For your first connection, follow the subscription import guide. The Help Center covers core concepts and common settings, so you can check terminology before changing your configuration.