ClashX Subscription Setup and Node Switching: A Step-by-Step Guide

What ClashX Does After Installation Demystified

If whichever one of those stages is skipped, ClashX may appear to be running while applications continue to connect straight away. A green menu-bar icon alone does not prove that the browser is using the node you intended.

ClashX is a macOS desktop client that places a Clash-compatible proxy core behind a straightforward menu-bar UI. Installing the application is only the first part of the setup.

To browse through a provider’s network, ClashX needs a usable profile containing proxy nodes, proxy groups, DNS settings, and routing rules. That profile normally comes from a subscription URL supplied by your proxy provider.

A subscription URL is not the same thing as a single server address. It is a private feed that may contain dozens of nodes and the rules required to organise them into groups such as Proxy, Auto, Fallback, or DIRECT.

One more angle:When you refresh the profile, ClashX downloads the current version of that feed. Providers can add new nodes, remove expired nodes, change transport parameters, or refresh rule lists without asking you to edit a YAML file by hand.

The normal workflow is therefore: bring in the subscription, activate the downloaded profile, select a proxy group, test or inspect node performance, choose a server, and enable the appropriate macOS proxy mode.

Security reminder: Treat a subscription URL like a password. Anyone who obtains it may be able to download your full node list.

Do not paste it into public issue trackers, screenshots, chat rooms, or online YAML converters. If the link is exposed, revoke or regenerate it from your provider dashboard.

Subscription URLs, Profiles, and Proxy Groups at a Glance

You may instead see names such as 🚀 节点选择, Proxy Global, Auto Select, or a provider-specific label. The principle is the same: first activate the profile, then choose a node inside the group that controls ordinary proxy traffic.

Before opening ClashX, locate the provider’s subscription link. It may be labelled Clash subscription, ClashX link, Clash Meta link, or copy subscription URL. These labels are not always consistent.

A detail worth adding:A number of providers show separate links for Surge, sing-box, Shadowrocket, and Clash-compatible clients, so choose the link whose format matches Clash or Mihomo. A link that downloads a JSON, plain-text URI list, or incompatible client configuration may not load correctly in ClashX.

The majority of subscription links begin with https:// and include a long query string. Copy the entire value without adding spaces or line breaks. If your provider offers a short link and a full link, the short link is typically easier to maintain, while the full link can sometimes be more transparent when troubleshooting.

Do not by hand remove parameters unless the provider’s documentation explicitly tells you to do so; parameters may control the selected region, traffic quota, or client type.

  • proxies contains the individual servers and their connection parameters.
  • proxy-groups defines how nodes are selected, tested, or chained.
  • rules determines whether a domain uses a proxy, connects straight away, or is rejected.
  • dns controls how domain names are resolved when the provider includes DNS settings.
  • mixed-port or separate HTTP and SOCKS ports exposes the local listener used by applications.

Said differently:Once imported, the profile becomes the local snapshot that ClashX uses. The profile may include several important sections:

ClashX’s profile list and group names depend on the version of the application and the format generated by your provider. Do not assume that every installation has a group named Proxy.

Bring in and Refresh a ClashX Subscription Broken Down

The following procedure covers the the majority of common ClashX subscription setup on macOS. Menu labels can differ slightly between older ClashX builds and forks that use a newer Mihomo core, but the concepts remain steady.

Full the bring in while connected to a network that can reach the provider’s subscription domain. If the provider page itself is blocked or requires a browser login, solve that access problem before blaming ClashX.

  1. Open ClashX from the Applications folder. After launch, look for the ClashX icon in the macOS menu bar. If macOS displays a Gatekeeper warning, verify that you downloaded the application from a source you trust before approving it. Avoid running several Clash clients simultaneously because their local listeners and system proxy settings can conflict.
  2. Open the profile management menu. Click the menu-bar icon and locate the profile, configuration, or subscription section. Depending on the build, the command may appear as Config, Profiles, Remote Config, or Manage Configurations.
  3. Add the subscription URL. Choose the command for adding a remote configuration, paste the full HTTPS subscription link, and confirm. If ClashX asks for a profile name, use a meaningful label such as Home Provider or Personal Nodes somewhat than leaving several entries named “config”.
  4. Wait for the download to finish. A successful download normally creates a new local profile and displays its refresh time. If the profile is empty, check whether the URL was truncated, expired, or generated for another client format. A browser download that returns an HTML login page is also a sign that the provider requires auth or a fresh link.
  5. Activate the imported profile. Select the new profile and mark it as active. Importing a profile does not always activate it on its own. Confirm that a check mark or active indicator appears beside the correct configuration before testing nodes.
  6. Refresh it when the provider changes the list. Use the profile’s refresh or reload command whenever nodes disappear, credentials change, or the provider publishes a new rule set. A refresh replaces the local snapshot; it does not necessarily change the node currently selected by a group.

Refresh versus re-bring in: If the subscription URL has not changed, refresh the existing remote profile instead of creating a duplicate entry.

Multiple copies make it difficult to tell which configuration is active and can leave you testing an old node list.

Verify That the Profile Is Usable at a Glance

Never assume those numbers are universal. When configuring a terminal, browser extension, or another application by hand, use the ports currently shown by your ClashX installation.

In practice that means:After activation, open the proxy or group submenu from the ClashX menu-bar icon. You ought to see one or more groups and a list of nodes beneath them.

If the menu contains only DIRECT and no provider nodes, the profile may have downloaded successfully but failed to parse. Common causes include an expired subscription, a provider-side conversion failure, unsupported syntax, or a profile intended for a different core.

You are able to also inspect the local port information in ClashX preferences. A typical setup exposes an HTTP listener and a SOCKS listener on localhost, often using ports such as 7890 and 7891, but the exact values are configurable.

Check Node Performance and Select a Server From the Ground Up

For those tasks, a by hand selected steady node may be better. If an automatic group keeps selecting an unusable server, choose a manual group or temporarily remove the problematic node from consideration if the client supports that operation.

Worth noting:Having numerous nodes does not mean they are equally useful. A node can have a low ping but still perform poorly during downloads, video playback, or long-lived connections.

Conversely, a node with a slightly higher delay may offer better stability and throughput. ClashX’s delay test, when available, is a starting point somewhat than a full performance verdict.

First identify the group that controls normal traffic. Automatic groups may be named url-test, Auto Select, or Fallback. Manual groups typically show each node as a selectable item. Click the group and look for a test, delay, refresh, or delay command.

What you observe Likely meaning What to do
Timeout or no result The node is offline, overloaded, blocked, or incorrectly configured. Test another node and check whether the entire provider is unreachable.
Highly low delay but slow browsing The small test endpoint responds quickly, while bandwidth or routing quality is poor. Try a different region and compare a real download or target website.
Steady pages but frequent disconnects The route may be unstable under sustained connections. Prefer a node with consistent results instead of the lowest single ping.
A number of sites work and others fail Rules, DNS resolution, or regional restrictions may be involved. Inspect the connection log and identify the matched rule and destination.

One more angle:The test target is often a small web URL selected by the provider. A result such as 80 ms means the test request completed in roughly that time; it does not guarantee that every website or service will be equally fast.

For everyday browsing, select a node from a region that gives a practical balance of delay, reliability, and available bandwidth. Do not switch nodes every few seconds while diagnosing a problem.

A node switch can close existing TCP connections, invalidate a login session, or change the IP address observed by a website. Test one node for several minutes, record what works, and then compare it with a second candidate.

A detail worth adding:Automatic selection is handy when the provider maintains a well-designed group. However, an automatic group can change nodes while you are using it. That behaviour is useful for resilience but inconvenient for downloads, account logins, remote shells, and other sessions that dislike an IP change.

Choose a Proxy Mode for Normal Browsing Demystified

This is more dependable than repeatedly changing servers without knowing where the request went. If no connection appears, the application may bypass ClashX. If the connection appears as direct, the rule set may need adjustment. If it uses the proxy and fails, test another node or inspect DNS and TLS failures.

ClashX generally offers a mode that refreshs the macOS system proxy and may also provide a more global capture setting depending on the build and core. For ordinary web browsing, system proxy mode is typically the least intrusive choice.

It tells macOS applications that support system proxy settings to use ClashX’s local HTTP or SOCKS listener. Safari and numerous standard macOS applications follow these settings on its own.

Said differently:Look for a command such as Set as System Proxy, System Proxy, or Set Proxy in the menu-bar menu. Enable it after selecting the profile and node group. Then open a browser and visit a service that displays your public IP address.

Confirm that the result matches the selected route, but remember that IP geolocation databases are not always precise. The test ought to be combined with a connection log check showing the destination domain and the node used.

Clash routing mode controls how destinations are classified. In Rule mode, the profile’s ordered rules decide whether each request goes through a proxy or uses DIRECT. In Global mode, traffic handled by the proxy listener generally follows the selected proxy group, which can be useful for testing but may route more traffic than necessary.

Do not confuse system proxy with full-device capture. Applications that ignore macOS proxy settings, command-line tools without proxy variables, virtual machines, and a number of games may continue to connect straight away.

A TUN-capable client or explicit application proxy configuration may be needed for those workloads. Enable system proxy first for normal browsing, then expand capture only when you have a plain reason.

In practice that means:In Direct mode, requests bypass the proxy. The names and exact behaviour can vary by core, so read the current menu labels somewhat than relying on screenshots from another version.

When a website does not load, open ClashX’s connection or log view and search for the domain. Check whether the request appears at all, which rule matched, whether it used DIRECT or a proxy group, and whether the selected node returned an failure.

Common ClashX Subscription and Switching Problems at a Glance

The Subscription Will Not Bring in in Short

Launch by copying the URL again from the provider dashboard. Check for accidental spaces, missing characters, or a line break inserted by a password manager. Paste the link into a browser only as a basic reachability test; if it returns an access-denied page, an account login page, or an expired-link message, ClashX will not be able to build a profile from it either.

A number of providers also limit the number of downloads or require a specific user-agent, so their support page may offer a dedicated ClashX or Mihomo link.

The Profile Exists but Nodes Are Missing Decoded

Confirm that the selected profile is active somewhat than merely downloaded. Then check whether the provider generated a configuration with a compatible core. Older ClashX builds may not understand newer protocols or fields used by Mihomo profiles.

Worth noting:If the profile opens but produces parsing failures, refresh to a maintained client or request a legacy-compatible configuration from the provider. Avoid editing random fields until you have saved a backup, because one indentation failure can invalidate the entire YAML file.

The Browser Still Uses the Direct Connection in Practice

Make sure system proxy mode is enabled and that no other VPN or proxy application is overwriting the macOS network settings. Quit competing clients temporarily, disable browser-specific proxy extensions, and check whether the browser is configured to ignore system settings.

If the connection log remains empty when you load a test page, the browser is probably not reaching ClashX. If traffic appears but is marked DIRECT, inspect the active rule mode and profile order.

Switching Nodes Breaks Logins or Downloads at a Glance

This is expected when a service binds a session to an IP address or when an existing TCP connection cannot migrate between routes. Stop switching during the session, choose one steady node, and reconnect from the beginning.

For large downloads, remote work, or video meetings, stability is normally more important than a small difference in delay. If automatic selection keeps changing routes, use a manual group for the duration of the task.

ClashX Subscription FAQ Broken Down

How often ought to I refresh a ClashX subscription? in Short

Refresh it when the provider recommends doing so, when nodes expire, or when the current list produces repeated failures.

One more angle:Numerous users refresh once per day or whenever they launch a new session, but excessive refreshs can consume provider traffic quotas. A refresh downloads new configuration data; it does not on its own make an overloaded node fast.

Is system proxy mode sufficient for browsing? Decoded

For Safari and numerous macOS applications, system proxy mode is typically sufficient. It is not universal.

Terminal programs, games, virtual machines, containers, and applications with their own networking stack may ignore the system proxy. Configure those applications explicitly or use a supported TUN mode when you need broader capture.

How do I choose the best ClashX node? in Practice

Use delay tests to remove clearly unavailable nodes, then compare real browsing throughput, stability, and the destinations you actually use. The lowest delay number is not always the best choice.

A node that remains steady for ten minutes of normal work is often more useful than one that reports an excellent result but disconnects under load.

Can I share my subscription URL with someone? at a Glance

Its primary advantage in this workflow is a compact macOS UI that keeps subscription refresh, node selection, routing mode, and connection logs close together instead of forcing you to edit configuration files for every small change. If you want a clearer starting point for managing Clash clients and testing these settings, you are able to download Clash and continue with a setup that matches your Mac and subscription format.

A detail worth adding:You ought to not share it unless you understand the provider’s account and traffic policy. The link may expose your entire node inventory and consume your quota.

Create a separate limited subscription or regenerate the URL if another person needs access, and revoke the original link whenever you believe it has leaked.

Compared with lean menu-bar proxy tools that offer only a confusing server list, or older clients that provide limited support for current subscription formats and little troubleshooting context, ClashX can still be practical when its profile, group, and system-proxy layers are understood.