Project history and how clients relate
The Clash ecosystem includes cores, graphical clients, configuration tools, and rule sets. The original Clash project and later ecosystem projects are not simply the same product. mihomo continues the development of Clash Meta as a proxy core that supports Clash-style configuration. Some clients bundle this core; others use a different implementation. Check each project’s documentation for details.
Interface toggles call system features or generate core configuration. If options with the same name behave differently, first identify the client, core, and platform in use, then check the relevant documentation. Before migrating an old config to a new client, do not simply copy files and replace your working setup. Check supported fields, path references, and policy group names, then verify each one before switching.
Open-source licensing and community contributions
mihomo is released under the GPL-3.0 license. Its source repository lets you review the implementation, discussions, and the context behind changes. Before distributing or modifying code, read the license and follow its applicable requirements. The core’s open-source license does not automatically apply to every graphical client, rule set, or subscription service; check each project’s terms separately.
When reporting an issue, include steps to reproduce it, your platform, relevant config fields, and redacted logs. Remove personal subscription credentials, node credentials, and other private information, keeping only the smallest excerpt needed to explain the problem. A screenshot saying “Unable to connect” is usually not enough to distinguish between local traffic routing, DNS resolution, and a remote service issue.
Updates and configuration compatibility
Client, core, and subscription updates are three separate actions. A client update may change the interface or system integration; a core update may change field behavior or protocol support; a subscription update may replace nodes, policy groups, and rules. When troubleshooting, identify which one changed most recently. Rolling back several things at once makes it harder to find the cause.
Before updating, save your current config and personal overrides, then read the project’s release notes. Retest your usual apps afterward. The homepage explains client selection and setup; installers are listed on the download page. Check that page and the relevant project documentation for system requirements. If an older guide no longer matches the interface, follow the current client’s setting names and config validation results.
Scope and responsible use
Clients and cores handle connections on your device; they do not provide working remote services. Check your subscription source, service authorization, node availability, and local network conditions separately. A config that loads successfully has passed syntax and some reference checks; that does not mean every node is reachable or every app is following the routing rules.
Start with a minimal setup on one device before considering multi-device syncing, local network sharing, or router deployment. Before enabling LAN access, understand the listening address and access controls; when sharing, specify which devices are allowed. Follow local laws and network service terms when using network tools. Get the necessary authorization before making changes to a work network.