Windows
Best for desktop work, browsers, and always-on proxy use. On the download page, compare graphical clients such as Clash Plus, Clash Verge Rev, and FlClash, then choose an installer for your processor architecture.
Go to DownloadsStart by choosing your operating system, then complete subscription import, rule-based routing, and TUN capture. Each entry links to platform-specific instructions, making it useful for a first install and easy to revisit when you need to find a setting.
Client labels may vary slightly, but the core workflow is much the same: prepare a profile, choose a proxy mode, then decide whether traffic should be handled by the system proxy or TUN. The four guides below separate the switches that are easiest to confuse; select a tab to view the relevant settings.
Subscription links are usually generated by your service provider. They are not client installers, and copying one does not activate it automatically. Open the profile or subscription page, paste the URL, and start the download. Once the profile appears in the list, select it as the active profile. If the format is rejected, make sure the copied text begins with a standard web address and check that the browser did not truncate the link.
Compared with adding nodes one by one, a subscription profile can carry nodes, proxy groups, rule providers, and DNS settings together, while later updates keep them in sync. After importing, leave the existing rule structure intact instead of editing YAML immediately. Confirm that the connection works first, then adjust the update interval and proxy-group selection to suit your needs.
Rule mode reads domain, IP, application, and regional rules from the profile to choose a proxy, direct connection, or reject policy for each connection. It works well for daily use: local websites, LAN addresses, and services that need no proxy can stay direct, while other connections go through the appropriate proxy group. “Rules” are not a speed setting; they are condition-based routing decisions.
Global mode sends most connections through the current proxy policy and is useful for temporarily checking whether a node works. Direct mode bypasses the proxy and can help determine whether a problem comes from the local network or the profile. After testing, switch back to rule mode and choose a proxy group on the proxy page instead of repeatedly changing rule order in the profile.
A system proxy relies on apps actively reading the operating system’s proxy settings, so browsers usually work, while some game launchers, command-line tools, and standalone network components may connect directly. TUN mode captures this traffic through a virtual network adapter and passes it to the Clash core for rule processing. It expands the range of captured traffic; it is not required in every situation.
The first activation often requires administrator privileges and may install a service or virtual network adapter. Start with the system proxy to establish basic connectivity, then enable TUN so fewer variables need troubleshooting at once. If DNS resolution fails afterward, check the client’s DNS settings, network stack, and other virtual-adapter software before repeatedly switching nodes.
A subscription update may change node names, proxy-group options, or rule content. Routine maintenance does not require deleting and re-importing the profile; update it from the profile page and confirm that the updated profile remains selected. If your provider recommends automatic updates, choose a moderate interval to avoid repeated requests during brief network interruptions and to make it easier to confirm that an update completed successfully.
Client upgrades and subscription updates are separate: the former changes the interface or core capabilities, while the latter refreshes the service profile. Before upgrading the client, note the current mode, TUN status, and selected proxy group. Afterward, restore those key settings and test your browser and everyday apps. This makes it easier to tell whether a change came from the program settings or the subscription.
The download page organizes graphical clients and platform notes by operating system. It does not link directly to installer files; open the relevant platform section first, then choose a client based on architecture, maintenance status, and required features to reduce the chance of downloading the wrong file.
Best for desktop work, browsers, and always-on proxy use. On the download page, compare graphical clients such as Clash Plus, Clash Verge Rev, and FlClash, then choose an installer for your processor architecture.
Go to DownloadsFor Intel and Apple Silicon Macs. Before downloading, check your chip type in “About This Mac.” After installation, follow macOS prompts to grant permissions for network extensions, proxies, or background services.
Go to DownloadsFor phones, tablets, and some Android devices. Most phones should use an ARM64 package; if the architecture is unclear, compare the universal package with the supported platforms listed for each client on the download page.
Go to DownloadsGet Clash Plus for iPhone and iPad through the App Store. After installation, add a profile with a subscription link and allow the VPN network connection when iOS asks for permission the first time.
Go to DownloadsDesktop users can choose a graphical client, while server, soft-router, and command-line users can explore the Mihomo core section. Before installing, confirm the distribution, architecture, and package format.
Go to DownloadsWhen opening the client for the first time, you do not need to change every advanced setting. Get one valid profile running first, then learn the difference between rule mode and TUN; troubleshooting will be much clearer.
View the Complete Tutorial →Copy the complete subscription URL from your service provider. Open the client’s Config, Subscription, or Profiles page, paste the link into the input field, and import it. When the download finishes, return to the list and select the new entry as the active profile. Seeing a profile name does not mean it is enabled; selecting it is required for its rules and proxy groups to take effect.
Open the proxy page, choose an available option in the main proxy group, and set the running mode to Rules. Rule mode uses the profile to decide between direct and proxied connections, making it suitable for everyday use. If a website does not load, briefly try Global mode. If Global works but Rules does not, the rules or proxy group usually need checking—not a client reinstall.
After enabling the system proxy, visit a familiar website in your browser and then test other apps. If the browser works but a standalone app still connects directly, consider enabling TUN mode. Change one switch at a time and record the result before and after each change. This separates subscription, node, rule, and traffic-capture issues instead of changing several settings at once.
The Clash ecosystem is not a single installer. A graphical client handles the interface, system integration, and updates; the core reads profiles, processes rules, and forwards connections; and a subscription supplies nodes, proxy groups, and rule content. Keeping these three layers separate makes client selection and troubleshooting more straightforward.
Clash first gained attention as a rule-driven proxy core, followed by a range of desktop and mobile clients. After the original project stopped being maintained, the community continued developing around compatible profile formats, rule systems, and established workflows. Today’s clients may use different interfaces, but core concepts such as proxy modes, proxy groups, and subscription profiles remain similar.
When choosing a client, prioritize maintenance status, platform support, and the core it uses—not just visual similarity. Button locations may have changed since older tutorials were written, but understanding the chain of “profile → proxy group → mode → traffic entry” usually makes the corresponding options easy to find.
Mihomo is a widely used community-maintained core in the current Clash ecosystem. It continues the Clash approach to profiles and rules while providing capabilities such as TUN, DNS, and rule providers. Many graphical clients bundle the core inside the app, so most users operate it through the interface; server and router users can also run the core separately.
The client name and core name do not need to match. Updating the graphical interface does not necessarily change subscription content, and updating a subscription does not replace the client program. When troubleshooting compatibility, record the client name, operating system, profile source, and active mode. This is more useful than simply saying “Clash does not work.”
Open-source repositories make profile formats, feature changes, and issue discussions available for public review. Most users do not need to understand the entire codebase, but repository documentation can clarify parameters, known issues, and whether a capability belongs to the core, client, or operating-system integration layer. The guides here use names that are as consistent across clients as possible.
If you need to study the core further, clone the Mihomo repository and inspect its documentation and commit history locally. The command only retrieves the project source code; it does not install a graphical client or create a subscription profile.
Stable operation depends on three kinds of updates: client updates improve the interface and system compatibility, core updates can change proxy capabilities and rule behavior, and subscription updates synchronize service settings. They do not need to happen together. For everyday use, update subscriptions periodically; when the client is stable, read the changelog before scheduling a program upgrade.
Before upgrading, note the active profile, proxy mode, proxy group, and TUN status. After upgrading, check them in the same order. If something goes wrong, return first to the basic combination of system proxy and rule mode, then restore advanced settings such as DNS or TUN step by step. This is usually easier than deleting every profile and starting over.
git clone https://github.com/MetaCubeX/mihomo.git
The client only provides the runtime. You still need to import a valid subscription, select the profile, choose a proxy group, and enable the system proxy. Confirm each item in the order shown in the tutorial.
View the Quick-Start StepsUse Rules for everyday traffic, Global for a temporary proxy test, and Direct to bypass the proxy or check the local network.
View Mode DetailsThe app may not read the system proxy. First confirm that your browser connects normally, then check the permissions and virtual-adapter settings required by TUN mode.
Read the TUN SectionMake sure the link has not expired or been truncated, then check the local network, current proxy status, and the server response before repeatedly deleting the profile.
View Troubleshooting StepsIn-depth guides on TUN, subscription updates, and client selection, designed for reading after basic connectivity is working.
Understand the difference between TUN mode and the system proxy, including permissions, service installation, DNS handling, and network-stack settings.
Read the Full GuideDistinguish expired links, server-side restrictions, and local proxy interference by their symptoms, then learn how to choose an automatic update interval.
Read the Full GuideCompare popular clients by platform support, core, TUN capabilities, and maintenance status, then follow a selection path suited to your device.
Read the Full Guide