What a subscription link is and where to get one
A subscription link is an HTTP/HTTPS address that points to a remote configuration file. The client periodically visits this address to download the latest node list and rule set, then generates a usable local configuration from it. Subscription links are typically issued by a service provider after purchase or sign-up, in a format like https://example.com/api/v1/client/subscribe?token=xxxxxxxx, with a unique identifier (a token or uid) at the end of the link that distinguishes different accounts' configurations. This identifier should not be shared publicly.
Once you have the subscription link, you don't need to manually download a file and then import it — most Clash-family clients (Clash Verge, Mihomo Party, FlClash, and others) support pasting the link directly, with the client handling the download and parsing itself. The advantage of this approach is that when node information is updated, clicking "Update Subscription" fetches the latest content without having to manually replace the config file each time.
Keep in mind that the subscription link itself is just a data endpoint, and requesting it usually still requires a network path. If your device currently has no usable network route at all (for example, the system proxy is on but no node is available), the first import attempt may fail. It's a good idea to confirm the device can reach the external network directly before importing a subscription, or make sure the client has a "download subscription via direct connection" option.
Importing a subscription config in the client
Interface naming varies slightly between clients, but the core import steps are largely the same and generally include the following.
Open the config management page
On the client's main screen, find the "Config," "Subscriptions," or "Profiles" entry and open the config list page, which shows all currently imported configs.
Create a new subscription and paste the link
Click "New" or the "+" button, choose "Import from URL," and paste the full subscription link into the input field — make sure there's no extra whitespace or line breaks before or after the link.
Set an update interval (optional)
Some clients support setting an automatic refresh period, such as refreshing the subscription content every 24 hours, to keep node information up to date.
Confirm the download and wait for parsing
After confirming, the client requests the link, downloads the config content, and parses it into a node list, proxy groups, and a rule set. Once parsing completes, the config appears in the list.
Switch to this config as the active one
Click the newly imported entry in the config list to activate it as the currently active config. The client's top corner or status bar usually shows the name of the config in use.
If the client shows import progress and you see "Parse failed" or "Format error" during import, in most cases the subscription link itself returned invalid content (for example, an expired account or a broken link). Try opening the link directly in a browser to check the returned text and confirm whether it's valid YAML or Base64-encoded content.
Tip: Some clients automatically read the subscription-userinfo field from the response headers when importing a subscription, to display traffic usage. This is not required, and its absence doesn't affect connectivity.
Understanding proxy groups and choosing a node
After the subscription is parsed, the config file typically contains several "proxy groups" (proxy-groups), each grouping multiple specific nodes together. The group names you see in the client interface (such as "Auto Select," "Hong Kong Nodes," "Streaming Unlock") correspond to these group definitions in the config. A simplified proxy group definition looks roughly like this:
proxy-groups:
- name: Auto Select
type: url-test
proxies:
- HK-01
- HK-02
- JP-01
url: http://www.gstatic.com/generate_204
interval: 300
- name: Manual Switch
type: select
proxies:
- Auto Select
- HK-01
- JP-01
- DIRECT
Groups of type url-test automatically run speed tests at the configured interval and pick the lowest-latency node, which suits users who don't want to manually pick nodes. Groups of type select require you to manually pick which sub-node or sub-group to use, offering more flexibility. If the client's homepage shows a "Manual Switch"-style group on first use, click into the group details, check the latency values for each node, and pick one with a lower latency value and a normal status.
Node names are usually shown with a latency value in milliseconds; nodes with a color close to normal (not marked red or yellow) are typically usable. If every node shows a timeout or fails the speed test, it usually means the subscription's nodes are temporarily unavailable, or the speed-test requests are being blocked by the local network environment — this doesn't necessarily mean the config file has a problem. You can manually pick a node and try connecting first, then come back to investigate the speed-test issue afterward.
Enabling the system proxy and verifying the connection works
After choosing a node, you still need to make sure the system's or app's network requests actually route through Clash — this step is usually called the "System Proxy." Most clients provide a toggle on the main screen or sidebar; turning it on automatically updates the system's proxy settings to point HTTP/HTTPS requests to a port the client listens on locally (commonly something like 127.0.0.1:7890).
Find the system proxy toggle
On the client's homepage or under "General Settings," find the "System Proxy" option and switch it on.
Confirm the listening port isn't already in use
If nothing changes after turning it on, check whether the mixed port shown in the client settings conflicts with another program, and change the port number if needed before re-enabling the system proxy.
Test with a browser
Open a browser and visit a page that checks your IP's geographic location — if the location shown matches the region of the node you selected, traffic is being routed through Clash.
Check the client's connection log
Most clients offer a "Logs" or "Connections" panel that shows in real time which rule, proxy group, and target node each request is going through, useful for confirming whether a specific site is being proxied.
If the browser still shows your real local IP during verification, first confirm the system proxy toggle is actually on, then check whether the browser has its own independent proxy setting (some browsers don't follow the system proxy and need to be set to "use system proxy" separately). For scenarios that need to capture all traffic, including programs that don't follow the system proxy setting, consider using TUN mode instead of the system proxy — but that's an advanced setup, and for first-time use it's better to confirm basic connectivity with the system proxy first.
Signs of a successful connection: the IP location shown in the browser matches the region of the selected node, and the client's connection log shows a rule match record for the target domain.
Common issues and things to watch for
When a subscription is imported but the connection doesn't work, the cause usually falls into one of the following categories, and checking them one by one typically pinpoints the problem.
- The subscription link has expired or the data quota is used up: in this case the node list may still display, but actual connections will all time out — contact the subscription provider to check the account status.
- The system proxy toggle didn't actually take effect: on some systems, the proxy setting isn't properly restored after the client exits unexpectedly; reopening the client and toggling it again usually fixes this.
- A firewall or security software is blocking the local port: if the client reports a port-listening failure, check whether your local firewall rules allow that port.
- Some apps don't match any proxy rule in rule mode: rule mode decides where traffic goes based on the order of rules in the config; if an app's domain or IP doesn't match any rule, it falls through to the default policy, so check the rule set's coverage.
After completing the first import and confirming the connection works, it's worth noting down the proxy group and node name currently in use, so you have something to compare against when troubleshooting later. Subscription content changes as the provider updates it, so refreshing the subscription regularly — manually or automatically — keeps the node list current and reduces connection issues caused by stale nodes.