Project history: names, forks, and maintenance
Clash first became known as a rule-based proxy core, followed by graphical clients for different operating systems. After the original Clash project and some early clients were discontinued, the ecosystem continued with projects taking different directions. Clash Meta later continued development under the name mihomo, so Clash, Meta, and mihomo in older tutorials and current documentation may refer to projects at different stages. When reading a guide, first identify whether it discusses a core, a client, or a configuration format.
Clash for Windows is the name of a discontinued desktop client, not a general term for every Clash client on Windows. Archived installers may still be useful for research or existing setups, but discontinued software carries no guarantees of future OS compatibility, protocol support, or bug fixes. For a new installation, compare actively maintained clients first. When migrating, keep the original configuration and check that its rules, DNS, and proxy groups are compatible rather than simply replacing the app files.
Open-source ecosystem: distinguish code licenses from service providers
mihomo is released under the GPL-3.0 license. Its public repository contains the source code, commit history, and issue discussions. Open code makes configuration behavior easier to inspect, but each graphical client's features, packaging, and maintenance schedule are determined by its own project. We don't use star counts to predict connection quality or treat community popularity as proof that a client suits every device. Instead, consider OS support, permission requirements, and how the software is maintained.
Open-source cores, clients, and proxy services are separate layers. Software licenses govern how code can be used and distributed; subscriptions provide connection details under their own terms. Neither replaces the other. Public proxy nodes can stop working at any time, and a sharing page alone may not identify who operates them. Assess the source before using a route for account logins, payments, or other sensitive activity, and continue to use the target app's own encrypted connection.
How the core works: interface settings aren't universal across platforms
Graphical clients typically manage configurations, system proxy settings, service installation, and logs; the core handles the actual connections. The syntax shown here is based on mihomo. For iOS and other platforms, check each client’s documentation for supported features. Even when two clients use YAML, fields can behave differently because of core capabilities, platform network interfaces, or client-specific overrides. A successful import only means the file was accepted; verify how traffic is actually routed.
System proxy, TUN, and Rule mode operate at different layers. The system proxy relies on apps honoring proxy settings. TUN routes traffic into the core, and Rule mode selects a policy after traffic has been captured. Keeping these concepts separate makes it easier to diagnose issues such as “the browser works but other apps don't” or “some connections bypass the proxy even in Global mode.” First check whether traffic reaches the core, then identify the matching rule, and finally confirm that the selected route is reachable.
Updates: check the app, subscriptions, and rule data separately
Client updates can change the interface and system integration; core updates can change protocol or configuration behavior; subscription updates replace connection details; and rule set or geolocation database updates can affect classification. These updates don't necessarily happen together. Before upgrading, note your current configuration and local overrides, and read the release notes. Afterward, test frequently used sites, LAN devices, and recovery from sleep. Avoid changing all your network settings at once.
The download page lists platform links and installation instructions; the home page doesn't pin specific release numbers. To troubleshoot an issue after upgrading, reproduce it with a minimal configuration first, then restore rule sets, DNS policies, and TUN one at a time. When reporting an issue, include your OS, client name, core details, and steps to reproduce. Remove subscription URLs, account details, and other sensitive information. “Can't access the internet” alone doesn't distinguish DNS failures, route conflicts, and unavailable proxy routes.