• Clash Ecosystem · Clients and Setup

Clash PicksDownload & Go

Download a client for your device and follow practical subscription setup and rule-based routing guides in English.

  • Open-source core
  • Multi-platform clients
  • Step-by-step troubleshooting
Downloads by platform

Clash client downloads

Choose your operating system to find downloads and system requirements. The client provides the configuration interface; you’ll need to obtain a subscription and working proxy service separately.

When moving between devices, check subscription compatibility first rather than copying the entire application data directory. Clients may handle overrides, rule sets, and background activity differently. Keep a restorable copy of your local configuration before migrating.

Browse all clients →

Five parts of Clash configuration

Start by understanding how traffic reaches the client, then decide where it goes. These snippets illustrate configuration structure; they are not complete subscriptions you can use to connect.

Proxy modes / how they work

Match rules in order

Matched rules select a proxy group or a direct connection. Rule mode is a good default for everyday use; check the connection log to see which rules matched.

mode: rule

Proxy modes and traffic routing

For everyday use across services in different regions, start with Rule mode. It uses the configured match conditions to choose between direct and proxy routes, so there’s no need to switch your entire network each time. Global mode helps test the proxy chain; Direct mode provides a local-network comparison. These modes control traffic that has reached the core—they do not replace system proxy or TUN settings.

If a site works in Global mode but not in Rule mode, check the matched rule and proxy group before reinstalling the client. For a meaningful comparison, use the same app, destination, and network to identify what’s causing the difference.

Learn more →

config.yaml / proxy group structure

proxy-groups:
  - name: Manual Selection
    type: select
    proxies:
      - DIRECT

This structure example includes only a direct entry. Proxy names must match entries already defined in the configuration.

Proxy groups and subscription setup

Use a select proxy group when you want to choose an outbound route manually. For automatic selection or failover, explore url-test and fallback. A proxy group doesn’t provide proxy servers; it organizes existing entries into selectable routes. Names must match their references exactly, including spaces and capitalization, or the configuration may fail to load.

After importing a Clash subscription, confirm that the profile is active and that its groups contain usable entries. Don’t use the login page URL for your subscription management account as a subscription link. If the provider offers multiple formats, choose one compatible with your core. Consider real-world access alongside speed-test results; don’t choose a route based on a single test value.

Learn more →

config.yaml / rule matching order

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

Rules are checked from top to bottom. The final policy name must match a defined proxy group.

Rule-based routing and exceptions

To send specific sites direct while routing other traffic through a proxy policy, start by checking rule order. Put more specific domain rules first and the fallback MATCH rule last. Domain rules, IP rules, and remote rule sets serve different purposes. Once traffic matches an earlier rule, later rules generally aren’t considered for routing.

If you can’t reach a LAN service, first check whether its address matches a direct rule, then inspect the DNS resolution result. Save custom rules through your client’s supported override mechanism. Editing a remote subscription directly can mean your changes get overwritten at the next update. Add a few rules at a time and record access results before and after each change.

Learn more →

Network routing / static settings example

System proxy · On
TUN mode · Off
Mixed port7890

Settings shown for illustration only; this does not change your device’s network state.

System proxy and TUN mode

If your browser connects but some apps can’t, first check whether those apps follow the system proxy. System proxy settings add a proxy address to the operating system; only apps that read those settings will use it. TUN routes traffic through a virtual network interface and usually covers more apps, but it also depends on the right permissions, routes, and DNS settings. It’s not simply an acceleration switch.

For your first setup, enable only the system proxy. Verify the subscription, mode, and outbound connection before testing TUN if needed. If another VPN or network filtering tool is running, disable one of them to compare. Check port conflicts, virtual network adapter permissions, and routing conflicts in the troubleshooting guide. Avoid changing several settings at once.

Learn more →

Subscription management / auto-update

Configuration source
Remote subscription
Auto-update
On
Update interval
24 hours
Local overrides
Save separately

The interval shown is an example. Adjust it based on your provider’s recommendations and your client’s capabilities.

Subscription updates and local changes

When your provider changes servers or rules, refresh the subscription for the client to receive the new configuration. Auto-update reduces manual work, but a successful update doesn’t guarantee every route will connect. Check the last update time, profile parsing status, and actual connection results. If an update fails, check the link’s expiration, network access, and response content first; don’t keep adding duplicate subscriptions.

Keep local changes to rules, DNS, and proxy groups separate from remote content where possible. Before switching clients, record your subscription link along with override files, selected policies, and any required port settings. Subscription URLs may contain access credentials, so redact the full link before sharing logs or screenshots. Avoid submitting private subscriptions to online conversion services you don’t trust.

Learn more →

Open-source projects and configuration references

Know the difference between the core, the client, and the subscription service. Check separately that the installer fits your device, the configuration is compatible, and the connection is reachable.

The Clash ecosystem and the mihomo core

The Clash ecosystem includes cores that handle proxy traffic and rule matching, as well as GUI clients that manage configuration. After the original Clash project was discontinued, the community continued developing compatible cores and clients. mihomo is an actively developed open-source core. Interface labels and configuration fields in older guides may not match current tools, so check which core your client actually uses.

GUI clients mainly handle subscription imports, mode selection, connection status, and system integration. Even clients using mihomo can differ in how they merge overrides, request permissions, store configuration, and run services. When migrating, transfer subscriptions and rules first, then restore local settings one by one instead of copying the entire data directory from another device.

Check project documentation to understand feature limits

For core configuration syntax, protocol support, and field definitions, see the MetaCubeX/mihomo open-source repository and its documentation. If a configuration won’t load, save the error message and check field nesting, indentation, and referenced names first. Network connectivity issues and syntax errors are different problems; swapping clients repeatedly won’t help diagnose them.

Public source code helps explain behavior and track changes, but it doesn’t replace testing on your device. Before installing, check operating system requirements, processor architecture, and whether the client is maintained. For discontinued tools, consider archival compatibility separately from everyday use. Don’t let familiarity with an old interface distract from newer system permissions or protocol compatibility issues.

Recommended order for updates and troubleshooting

Software, subscription, and rule set updates are three different things. Software updates change client or core capabilities; subscription updates change the configuration provided by your service; rule set updates change the matching data. When troubleshooting, note what changed most recently before deciding whether to roll back or adjust settings. Updating a subscription won’t fix a client permission issue, and reinstalling the software won’t restore an expired subscription.

When comparing results, change one variable at a time. Test the same destination using the same route first, then check rule matches, DNS resolution, and whether the app’s traffic is being routed. Keep a configuration that loads correctly and note the original port and mode. When reporting an issue, include the client name, system environment, steps to reproduce, and redacted logs; this is more useful than saying only “the internet isn’t working.”

Clash Picks provides client download links and configuration references; it does not provide proxy routes or represent the client development projects. Results depend on subscription validity, your device’s network, and access conditions for the destination service. Follow local laws, network policies, and applicable service terms. Get administrative approval before changing settings on a workplace network or shared device.

New users can follow the configuration guide to import a subscription and test the connection in order. If you can connect but something isn’t working as expected, use the troubleshooting guide to narrow down the cause. For port conflicts, see the port settings section; to assess route performance, follow the node speed test steps. This helps avoid repeating unrelated steps across different pages.

Recent configuration guides

Once the basic connection works, move on to rule-based routing, multi-device sync, and speed issues. Each guide focuses on one configuration task so you can avoid changing several things at once.

Browse all articles →

Linux penguin graphic: Font Awesome, licensed under CC BY 4.0.