Open-source proxy clients · Free downloads and troubleshooting guides

Free Clash
Downloads

Choose a client for your device, connect with subscription settings, and troubleshoot access issues with rule-based routing and troubleshooting guides.

  • mihomo core
  • GPL-3.0 open source
  • Downloads for five platforms

Choose your operating system

Settings and troubleshooting

Clash Configuration and Common Features

Start with one setting to understand the roles of subscriptions, the core, and system networking.

If a website loads but one app keeps failing to connect, first check whether its traffic reaches the client. If a subscription imports but fails to activate, check the config fields and core support. The five feature guides below explain where to start. The examples show partial configs only; they are not complete files with proxies and proxy groups.

Rule-based routing

Match traffic by destination instead of switching to Global repeatedly

To send local network addresses direct and route other requests by policy, set the proxy mode to Rule. The core checks rules from top to bottom and stops at the first match, so put specific domains before broad rules and MATCH last. Unlike a single global toggle, rules let different types of traffic use different outbound paths. After editing, check Connections to see which rule and policy were matched. If a subscription update overwrites local changes, use the client's override feature to preserve them.

rules:
  - DOMAIN-SUFFIX,example.com,DIRECT
  - IP-CIDR,192.168.0.0/16,DIRECT,no-resolve
  - MATCH,DIRECT

This snippet demonstrates syntax only; all three rules use DIRECT. To proxy traffic, reference a proxy group defined in your config.

Rule order and MATCH explained →

Choose a download for your operating system

Clash downloads for every platform

Check your operating system and processor architecture before choosing a client.

Clash is an ecosystem of clients, not a single app that works on every device. The download page lists available clients by operating system, including recommended options and archived projects that are no longer maintained. New users can start with Clash Plus; those familiar with another client can choose based on config compatibility. Installing a client does not create a subscription. You must obtain the connection config from a service you are authorized to use.

For desktop users and anyone who prefers a graphical interface. Before downloading, check your device details in About, then verify service mode and system proxy settings after installation.

The platform download page includes clients such as Clash Plus and Clash Verge Rev. If a window crashes on launch, note the error and check the runtime environment and port usage; reinstalling over and over won't identify the cause. For your first test, run only one proxy client to prevent apps from changing the system proxy at the same time.

Go to downloads

In the Apple menu, open About This Mac to check whether your device uses Apple silicon or Intel, then download the matching build to avoid startup issues.

Clash Plus, Clash Verge Rev, and FlClash offer different interfaces. When you first open the app, follow the system prompts to grant permissions; read the instructions before enabling network extensions or background services. If your browser still uses an old proxy, check your system network settings instead of running multiple clients at once. Recheck local paths when migrating a config.

Go to downloads

Phone and tablet users should check their processor architecture before choosing a compatible package. The first time you connect, the system will ask you to authorize the VPN connection.

Clash Plus, Clash Meta for Android, FlClash, and Surfboard differ in config support, so a file extension alone can't tell you whether a config is compatible. If the connection drops when the screen turns off, check battery optimization, background activity permissions, and network change logs. App-level routing can also determine which apps use the proxy, so check the relevant settings in your client.

Go to downloads

iOS

iPhone and iPad users can open the Clash Plus App Store page from the download page. After installing, follow the app's prompts to add a config and authorize the VPN.

Before installing, check the system requirements on the App Store page and confirm that your subscription format is supported. The official Clash Plus website is clashplus.io, where you can find product information. If connection problems start after switching networks, first check that the app and system show the same VPN status, then test again. Avoid changing the subscription, DNS, and routing settings all at once.

Go to downloads

Desktop users should choose a package that matches their Linux distribution. The download page offers Clash Verge Rev and FlClash; check your desktop environment and dependencies before installing.

Server and router users can also check the core downloads, but a command-line core has no graphical interface and won't automatically configure proxy settings for every process. Terminal apps may need proxy options set individually. When managing the core as a service, check the user account, working directory, and config file permissions. Confirm it starts in the foreground before running it in the background.

Go to downloads

Linux penguin graphic: Font Awesome, CC BY 4.0.

Common installation and connection issues

First identify whether the problem occurs during installation, config loading, or an actual request. Change one setting at a time and record the result after each test; this makes the cause easier to find than switching everything at once.

Why can't I connect after installing the client?

First confirm that your network works with the proxy disabled, then check that the client has selected and successfully loaded a subscription. Next, verify the proxy mode, proxy group selection, and system proxy status. If only one app fails, check whether it uses the system proxy; if all requests fail, look for the specific error in the logs. Installing the client does not establish a connection: the app, subscription config, and available outbound connection are separate parts of the setup. See the subscription setup guide for steps.

Clash subscription updates failing—do I need to reinstall?

First check whether the link has expired, was copied in full, and returns a config rather than a web page. If the file downloads but won't load, check the config format and protocol support. Reinstalling won't fix an expired subscription link. Keep your current working config, note the update error, then follow the troubleshooting guide to tell a network request failure from a parsing error.

Should I enable both the system proxy and TUN mode?

You don't need to enable both by default. Start with the system proxy to test browser access; enable TUN according to your client's instructions if other apps also need to be routed. They handle traffic differently, so whether to use them together depends on the platform and your needs. After enabling TUN, check for conflicts with routes, DNS, and other VPNs instead of relying on the toggle alone. Verify each setting in the basic setup guide.

Why doesn't the proxy reconnect automatically at startup?

Launch at startup usually only controls whether the client opens; it doesn't guarantee that the subscription loads, the service starts, or the system proxy is restored. Sign in, check the client status and logs, then see whether the system blocked the startup item. If you're using TUN, check that its service is running too. First establish a working connection manually, then troubleshoot the startup sequence to avoid confusing subscription errors with permission issues. See the client setup guide for configuration steps.

Project origins and maintenance status

Clash, Clash Meta, and mihomo: what's the difference?

Separate the client interface, proxy core, and subscription source to find out what needs updating.

This site organizes download links and guides in English; it does not develop every client or provide proxy nodes. Follow the upstream project and your device's requirements when using downloads and troubleshooting instructions. If a config field is unsupported, a service won't start, or a subscription returns an error, identify which component is responsible first. That will point you toward the right fix.

Project history: similar names, different maintenance paths

The original Clash established a way of working centered on YAML configs, proxy groups, and rule-based routing. Multiple derivative cores and graphical clients followed. mihomo continues the Clash Meta development line, so Clash Meta in older guides and mihomo in current documentation often refer to the same project lineage. Always check the documentation for the core you're actually using to confirm specific fields.

Some older clients are no longer maintained; their download links are marked as archived. An archived app may still launch, but that doesn't mean it supports new protocols or current operating systems. For new installations, prefer actively maintained clients. When migrating an older device, back up your config and check protocol and rule compatibility rather than choosing based on a familiar name alone.

Open-source ecosystem: verify behavior against code and docs

You can find mihomo's source code, issue discussions, and release history in its public repository. The project is licensed under GPL-3.0. Public source code can help explain config and runtime behavior, but graphical clients may have different menus, permission requirements, and release schedules. Check each client's own license and documentation in its project.

If you suspect a bug, save a minimal config that reproduces it, your system details, and the relevant logs. Remove subscription URLs, credentials, and other private data before sharing. Clear reproduction steps are more useful than simply saying “connection failed,” and help distinguish a server-side problem from a client bug.

How the core works: the interface handles controls; the core processes the config

Graphical clients such as Clash Verge Rev and FlClash offer subscription management, controls, and log windows. The core parses configs, matches rules, and establishes outbound connections. Clients may merge or override config settings, so after editing a local file, verify the final effective config rather than checking just one line in the original subscription.

If the interface says Connected but requests still fail, check whether the target request appears in the connection log, which rule it matched, and which policy was used. If the request never reached the core, check the system proxy or TUN routes. If it did, investigate DNS and outbound errors. This narrows troubleshooting to a specific part of the connection path.

Updates: clients and subscriptions are maintained separately

Client updates usually affect the interface, system integration, and core capabilities. Subscription updates change the proxies, policies, or rule sources in a config. These are separate operations: a successful subscription refresh doesn't update the client, and installing a new client won't restore an expired subscription. Read the release notes before updating and keep a working config as a backup.

After upgrading, test basic web access, LAN access, and your usual apps before restoring complex overrides. If something breaks, record what changed and how behavior differs; revert to a known working setup if needed. Keep brief notes on long-term changes, especially DNS, TUN, and custom rules, so you can restore your setup after future updates.

View mihomo upstream source code

The command below only downloads the source code; it won't install a client or enable a proxy. Most users can use the download links above. Check the repository documentation if you want to study how the config works or report an issue.

Open the MetaCubeX / mihomo repository →
git clone https://github.com/MetaCubeX/mihomo.git

Install Git first, then run the command in a terminal.

Troubleshooting and Advanced Configuration

Clash troubleshooting and rule guides

Find the right guide by symptom, and keep the exact error message for reference.

Logs, rules, and startup failures involve different parts of the connection process. If the client won't start, fix the runtime environment first. If it opens but can't connect, check the config and request logs. If only certain websites use the wrong route, check the rule order. The guides below cover each issue in detail, so you can continue from a basic setup instead of starting over with a reinstall.

Clash Verge crashes on launch: troubleshooting and fixes

Does the window close right after you double-click, or hang on the startup screen? Follow the troubleshooting steps to check the WebView2 Runtime, port conflicts, corrupted config files, leftover service mode settings, and antivirus blocks, with cleanup and reinstall instructions for each platform.

Fix startup crashes →