Subscription Links: How Your Client Pulls Its Config
A subscription link is a URL. Your client sends one request to it, and the server returns a configuration document containing the list of currently available nodes: the address, port, protocol, encryption method and transport settings for each route. The client writes that document into its local config, and every route shows up in the node list.
It is not the same thing as an installer. The installer determines what the client looks like; the subscription link determines which routes the client can connect to. The link itself carries no traffic and no key files. It is just the entry point for fetching config: the config lives on the server, and the link is the key to it.
There are three common subscription formats: a base64-encoded node list (one ss://, vmess://, trojan://, vless://, hysteria2:// or tuic:// link per line), a YAML config (nodes and routing rules written together), and a full JSON config. Which one your client can parse depends on the protocols and formats it supports.
base64 is just a transport encoding: it packs multiple node links into a single line inside the URL. It involves no encryption and does not affect connection parameters.
Client starts
→ Requests the subscription URL (with token)
→ Server returns the node list
→ Client replaces local nodes and connects using the routing rules
The link usually carries a unique token, which the server uses to identify which account the request belongs to. Anyone who gets hold of the link can pull the same node list and consume that account's traffic. Treating it like a password is the premise for every security step that follows.
A subscription link only handles fetching config. Routes are added, removed and adjusted on the server side; one update in the client is enough to see the latest result, with no need to reinstall anything.
Subscription Links vs. Single-Node Links
Subscriptions are not the only thing you can import into a client; you can also import a single node link. The two solve different problems: a subscription is a list that changes, while a single node link is one fixed set of route parameters. Confusing the two is one of the main reasons beginners keep failing at imports.
| Item | Subscription link | Single node link |
|---|---|---|
| Contents | A node list covering every available route | The full parameters of one route |
| How it updates | Pulled automatically or manually by the client; no re-import needed after server-side changes | Parameters are fixed; you must fetch it again after server-side changes |
| Protocol coverage | Can include Shadowsocks, VMess, Trojan, VLESS, Hysteria2, TUIC and more at the same time | Covers only the single protocol written into the link |
| Best for | Long-term use and managing several devices from one place | Adding a route temporarily or troubleshooting one specific route |
Bottom line: use a subscription whenever you can, and leave route maintenance to the server; a single node link is fine as a temporary stand-in, not as your main setup.
Where to Get Your Subscription Link
Subscription links are only visible after you sign in: open the subscription page in the user panel and copy the one that belongs to you. Different clients parse different formats, so the panel offers several at once; pick the one that matches the client you use. If you are not sure, start with the universal format, which most clients support. You need an account to get a subscription link, but signing up does not require an email address, and the link never appears on any public page.
Behind one subscription link is a continuously maintained node pool:
As for route types, the node pool includes both IEPL dedicated lines and relay or direct routes. Dedicated lines run on separate channels and hold up better during peak evening hours; relay and direct routes cost less and are fine for everyday browsing. After the client updates the subscription, all of these routes appear together in the node list, so you can pick whatever you need.
Import Steps by Platform
Importing works the same way on every platform: open the client's subscription section, paste the link, save, and update once. Only the location of that section differs. The steps for each platform are listed below.
Windows and macOS desktop clients
- Open the client and go to the Subscriptions or Profiles page.
- Choose Add Subscription and paste the subscription link into the URL field.
- Give the subscription a name you will recognize, then save.
- Click Update and wait for the node list to load.
- Pick a route from the node list, leave the routing mode on Rule, then turn on the connection.
Android
- Open the client and go to subscription settings.
- Add a new subscription, paste the link and save.
- Go back to the home screen, tap update, and confirm the node list has refreshed.
- Choose a route and a routing mode, then turn on the connection.
iOS and iPadOS
- Open the client and choose Add Subscription in the subscription list.
- Paste the link and save, then go back to the home screen and pull down to refresh.
- Choose a route and a routing mode, then turn on the connection.
Importing a Single Route Only
If you just want one route for a while, copy a single node link from the panel and import it in the client from the clipboard, or scan the QR code. That route does not follow subscription updates, so you will need to fetch it again after any server-side parameter change.
One account's subscription can be imported on as many devices as you like; each device picks its own route and its own routing settings, independently of the others.
Auto-Update: When Your Config Gets Refreshed
A subscription is not a one-time snapshot. The client pulls the config again at three moments: at startup, when you click Update manually, and when the scheduled update interval you set comes around. The switch and interval for scheduled updates come from the client; the server simply returns the current node list on every request.
Inside the client, one update roughly does the following:
- Fetches the subscription URL and gets the new node list;
- Compares it with the local config and replaces route parameters;
- Keeps the route you currently have selected, matching it by name;
- If the selected route was renamed in the new list, the client usually falls back to the default route; just select it again.
This is the biggest difference between a subscription and a single node link: after routes are added, removed or adjusted on the server, you do not need to re-import the link or reinstall the client; the next pull shows the new list.
A subscription only supplies routes; the routing rules decide which traffic uses them. In rule mode, local sites connect directly while traffic to other regions goes through the routes, which is the default choice for most people. Switching modes does not require re-importing the subscription.
If an update fails, most clients keep the last successfully fetched config instead of emptying the node list; just try again a little later.
Troubleshooting Import Failures
Import failures usually show up in only two ways: the client reports a parsing error, or the update succeeds but the list is empty. Work through the checks below in order; most problems are found in the first two.
- ✅ The link was copied in full: no missing characters from start to finish. After pasting, check for stray spaces or line breaks at either end.
- ✅ The client version is new enough: when the link contains newer protocols such as Hysteria2 or TUIC, older clients cannot parse it.
- ✅ The system clock is accurate: a large time offset makes the TLS handshake fail, and the subscription will not pull.
- ✅ The format matches the client: if the client only reads YAML, importing a base64 list will throw a parsing error.
- ❌ Pasting the link into a chat app and copying it from there: some apps insert line breaks into long links or rewrite them for safety.
- ❌ Exposing the link in public groups, forums or screenshots: the link is a credential, and making it public counts as a leak.
If every check passes and it still fails, match the symptom against the table below:
| Symptom | Likely cause | What to do |
|---|---|---|
| Parsing error reported | The link was truncated or contains stray spaces | Go back to the panel, copy the whole link again and re-paste it |
| Update succeeds but the list is empty | The account has expired or the traffic allowance is used up | Sign in to the panel and check the subscription status and remaining traffic |
| Some routes show as unsupported | The client is too old and does not recognize the newer protocol | Update the client, then refresh the subscription |
| The update hangs with no response | Local DNS cannot resolve the subscription domain | Switch to a different DNS, or try again later |
| The update works but nothing connects | The system clock is off by too much | Turn on automatic system time sync and try again |
Bottom line: first confirm the link is complete and the client is up to date, then check the network and the system clock. Failures beyond those two steps are usually about account status; a quick look at the panel beats reinstalling the client over and over.
What to Do If Your Subscription Link Leaks
A subscription link carries your account token. If it leaks, no one else can see what you access (traffic is protected by quantum encryption), but there are two real consequences: someone else can burn through your traffic allowance, and the node list is exposed in public. Here is the order to handle it.
If you find the link in a public group, forum or screenshot, reset it first and investigate afterwards; do not wait for unusual traffic before acting.
- Reset the subscription token in the user panel to generate a new subscription link; the old link stops working immediately.
- If you cannot find the reset option in the panel, open a support ticket and explain the situation.
- On every device, delete the old subscription, import the new link and update once.
- Check your traffic usage to confirm there is no extra consumption.
Avoiding leaks day to day is simple: do not paste the link into group chats, do not share screenshots of it, and delete the local subscription when you are done on a public computer. If the link only appears at the moment you import it, it is exposed far less.
FAQ
Do subscription links expire?
The link itself has no expiry date; it follows your account status. While the account is active you can pull it as often as you like; once the account expires or the traffic runs out, pulls return an empty list or an error. Separately purchased traffic packs are counted by volume and do not expire.
How many devices can one subscription link be imported on?
As many as you want. The same link can be imported on multiple devices, and they all get the same node list; which route each device picks and whether routing is on are independent per device.
Do I need to buy again if I switch clients?
No. The subscription is tied to your account, not to any client. After switching clients, just import the same link again; routes and traffic stay the same.
Will manually edited node parameters be overwritten after an update?
Yes. A subscription update replaces all node parameters under that subscription, and manual edits are not kept. If you need fixed parameters, save the node as a local profile instead of editing the subscription itself.