Three steps to get started: import a subscription → choose a mode → enable the system proxy

View the guide →

Clash Open Source Hub · Clients and setup guides

Download Clash clientsSetup guides for laptops and all platforms

Choose a client for your device, configure it by importing a subscription, then adjust how connections work with rule-based routing and step-by-step guides.

  • Open-source mihomo core
  • Rule-based routing
  • Setup guides
Downloads by platform

Choose a Clash client for your device

Check your operating system and processor first, then choose the right installer on the download page.

Browse all clients →

The client manages the interface, configuration, and system integration; the core handles connections and rule matching. Whether a subscription works as-is depends on the configuration format and core supported by the client. The same file extension does not mean every field is compatible. For your first setup, start with a graphical client, import a known-good configuration, and confirm the connection before adding custom rules.

If your laptop moves between networks, keep a basic configuration handy. Campus, office, and home networks may use different authentication methods. If a webpage will not load, pause the proxy and complete the network login or authentication first, then reconnect the client. Avoid repeatedly updating subscriptions before authentication is complete, or a network issue may look like a broken subscription.

Installing a client does not provide a working connection by itself. You must arrange your own proxy server, subscription, and access. This site provides software links and setup resources, not proxy services. Compare options in our client comparison, then follow the subscription import guide to connect for the first time. Discontinued clients are best used for reviewing legacy configurations and planning migrations.

Device connection map · Configuration explorer

Common features and configuration fields

Select a node on the right to see what it does, its limitations, and the related configuration. Understand one field before changing one setting.

Rule-based routing

Rule mode matches connections against rules in order, directing each one to a direct connection, proxy group, or reject policy. It's useful on laptops that need access to internal systems, code hosting, and regular websites. Make sure the proxy group exists, put specific domain rules before broader ones, and keep a fallback rule at the end. Unlike global mode, rule mode can preserve direct connections, but the outcome depends on the rules. If a connection behaves unexpectedly, check the matched rule in the connection log instead of relying on the toggle's color.

rules: ['DOMAIN-SUFFIX,github.com,PROXY']
Open-source ecosystem and maintenance

How Clash, mihomo, and clients fit together

Separate the interface, core, and configuration to make download choices and troubleshooting clearer.

Project history and configuration compatibility

The Clash ecosystem has grown around rule-based proxy configurations, with a wide range of clients and guides. After the original project and some desktop clients were discontinued, the community continued developing compatible implementations and new graphical interfaces. So a search for “Clash” may turn up legacy clients, compatible cores, or newer app names. Before choosing one, check which layer it belongs to and whether it's still maintained instead of relying on a familiar name.

mihomo is an actively developed open-source core in this ecosystem, maintained in the MetaCubeX organization. It inherits and extends related configuration formats, but support for new protocols, rules, and networking features depends on the specific feature. Older guides can help explain the basics, but they should not replace the current core documentation. If you encounter an unknown field or parsing error, first confirm which core is running and which documentation applies, then decide whether to keep, replace, or remove the setting.

How the client and core work together

Clients typically manage subscriptions, edit configurations, display connections, switch proxy modes, and install system services. The core reads the final generated configuration and handles rule matching, DNS resolution, and proxy connections. A toggle in the interface does not necessarily correspond to a field with the same name in the original subscription file. Some options are stored in the client's own settings; others are merged into the core configuration at startup.

When troubleshooting, start with two questions: did the configuration load into the core, and is the app's traffic reaching it? If the core won't start, check configuration parsing and port conflicts. If the core is running but there are no connection records, check the system proxy, the app's own proxy settings, or TUN routes. Following this distinction makes it easier to pinpoint the cause than changing subscriptions, DNS, and firewall settings all at once.

Public code and community resources

mihomo is licensed under GPL-3.0. Its public repository includes source code, commit history, release notes, and issue discussions. The open-source license sets the terms for using and distributing the code; it does not mean every third-party client uses the same license or that proxy services are free. Check each client project's documentation separately, and assess a subscription provider's trustworthiness and terms independently.

When searching community discussions, look for the same operating system, core, and error text. A vague report like “can't connect” rarely contains enough detail to diagnose the problem. More useful details include the affected app, connection method, matched rule, and whether the issue occurs only on a particular network. Before sharing configurations or logs, remove credentials from subscription URLs, server passwords, and personal domain names. Public discussions need reproducible conditions, not your complete private configuration.

Updates and rollback planning

Client, core, and subscription updates are three separate things. A client update may change the interface or system integration; a core update may affect protocols and configuration fields; a subscription update may replace proxy collections, groups, and rules. Before making changes, note the current working combination and export any local overrides you need. Change one layer at a time so you know which release notes to check if something changes.

This site provides curated resources and setup instructions; it is not the official maintainer of every client. Features and limitations depend on each project's documentation and actual behavior. The download page collects platform links, the setup page walks through a first-time configuration, and the troubleshooting handbook covers more complex issues. The homepage does not display fixed software versions, so its publication date won't be mistaken for a client's update status.

View mihomo source code

If Git is installed, run this command to clone the repository. It only downloads the source code; it won't install a client, create a subscription, or change your system proxy. See the repository documentation for build and runtime requirements.

Visit the MetaCubeX/mihomo open-source repository ↗
git clone https://github.com/MetaCubeX/mihomo.git

Recommended order for setup and troubleshooting

For your first setup, import a configuration, choose a proxy group, and enable the system proxy. Test the connection in the same browser. Once it works, try TUN, Network Sharing, or custom rules. Keep a verified working setup as a baseline so you can compare each later change. Running multiple clients at once can cause port and proxy-setting conflicts, so use only the one you need while testing.

If only one app can't connect, check whether it has its own proxy settings. If nothing connects, verify your basic network and active configuration first. If only domain names fail, trace the DNS path. Slow speeds don't necessarily mean a proxy node is faulty; Wi-Fi quality, destination rate limits, indirect routing, and concurrent downloads can all play a part. See FAQ for quick answers or the troubleshooting handbook to investigate by symptom.

When editing YAML, watch indentation, list nesting, and name references. Every proxy group reference must match a name in the configuration, and rules should be ordered by priority. Before overriding a subscription manually, understand how your client merges settings. Editing a temporary copy of a remote configuration may leave your changes behind at the next update. For settings you need to keep, use the client's supported override or merge feature, then check the final active configuration after updating.

Configuration and networking guides

Latest Clash guides

Start with a specific field or error, then connect the reason for a change to its result.

Browse all articles →

Keep the client log open while following a guide, and note what changed in the configuration. Field examples explain individual features; they are not complete, ready-to-use subscriptions. Before copying them, fit the structure, proxy groups, and connection details to your existing configuration. Make changes involving Network Sharing, service permissions, or routes on a trusted network, and keep a way to restore the previous settings.