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.