A VPN subscription link is a URL that starts with https://. A client requests it and receives a list of server configurations. It is not an installer and not a username and password: the same link can be imported on several devices, and when servers are added or removed you do not need to get a new one. Below we walk through subscription links in order: what they are, where to get one, how to import one, when they update, and what to do if one leaks.
Subscription Links Explained: One URL, One Server List
There are only two things to hold on to: a subscription link is an ordinary URL, and what it returns is a plain-text list. The client requests that URL, receives the text, decodes and parses it, and builds the server list you see.
Open a subscription link in a browser and you will see one of two things: a single long Base64 string with no line breaks, or a plain-text list. Each line is one server, written in the URI scheme that clients share, commonly ss://, vmess://, trojan://, vless://, hysteria2://, tuic:// and similar. The client parses each line into parameters such as server address, port, encryption method and password, then uses its routing rules to decide which traffic goes over which route.
# Example of what a subscription link returns (sample data, not real servers)
ss://[email protected]:8388#Singapore-01
vmess://eyJ2IjoiMiIsInBzIjoiSEstMDEifQ==
trojan://[email protected]:443?sni=example.com#Japan-01
The URL usually also carries a random string (a token) that identifies the account. Every time a client updates, it requests the configuration with that token, and the server decides which servers to hand out. In other words, a subscription link behaves more like a credential than like an ordinary web address — which is why handling a leak gets its own section below.
How It Differs from a Single-Server Link
Many clients support both import methods, and they are not used for the same thing:
- Single-server link: one link describes one server. Import it and you get a single server; switching routes means copying and importing again.
- Subscription link: one link maps to a group of servers, and the server side maintains the contents. Route changes and added or removed servers all show up in the next update, with nothing for you to do.
One more case is worth calling out: some clients only accept a specific configuration format, so people paste their subscription link into a third-party “subscription converter” site. A converter has to read your link before it can generate a new configuration, which means handing your credential to a third party. If a client that natively supports the format can do the job, skip that step.
Where to Get It: The Subscription Page in Your Dashboard
Subscription links are not public; they are only available inside the user dashboard after you log in. The path is short:
- Create an account on the site with just a username and password — no email address required;
- Log in to the dashboard and open the Subscriptions or Downloads page;
- Copy the full subscription link, and download the client for your platform while you are there.
Some services provide several subscription URLs for different clients. Import the one you were given and do not mix them. Copy it in full — a single missing character in the token will make updates fail.
The dashboard usually also shows your used data and expiry date. Data is counted against the account, not against the subscription link: switching devices, re-importing or updating as often as you like does not change the data figures. This service does not limit the number of devices, so the same link can be imported on several of them — that is the convenience a subscription has over single-server links.
For this service, one subscription link covers the following:
A subscription link is tied to an account: the link only delivers server configurations, while data usage and expiry live on the account. Importing the same link on several devices does not affect the account itself.
For the full first-time setup, see Quick Start; to see which regions and route types are available first, visit the Routes page.
How to Import: Client Differences Across Platforms
The import itself is only four steps; the differences are mainly in where each client hides the entry point and in system permissions.
- Copy the full subscription link from the dashboard, and make sure you do not miss the characters at the end;
- Open the client and find the Subscriptions / Configs / Server List entry;
- Paste the link, save it, and run Update Subscription once by hand;
- Pick a server, connect, and open a web page to confirm it is working.
The table below shows the usual approach for each platform. There are many clients, so they are grouped by type here; for specific versions, use what the download page in your dashboard provides:
| Platform | Common client types | How to import | Things to watch |
|---|---|---|---|
| Windows | Clash-based clients, v2rayN, etc. | Paste the link into the subscription group and click Update | After updating, check that the system proxy switch is on; browser extensions and the system proxy can interfere with each other |
| macOS | Clash-based, sing-box-based | Paste the link, or import from the clipboard | On first run you must allow the network extension in system settings, otherwise it cannot take over traffic |
| iOS | Shadowrocket, Stash, etc. | Copy the link and open the client to detect it automatically, or import by QR code | The first connection requires adding a VPN configuration and granting permission; Low Power Mode can affect background refresh |
| Android | v2rayNG, sing-box, etc. | “Import subscription from clipboard” or paste manually | Turn off battery optimization so the system does not kill the app in the background and drop the connection |
| Linux | sing-box, Clash command-line builds | Write the subscription URL into the config, or pull it on a schedule with a script | With no GUI, update from the command line; mind the config file permissions and keep it out of public directories |
iOS and some desktop clients also support QR codes or automatic clipboard detection: copy the link, open the client, and it will ask whether to import the subscription from the clipboard — confirm and you are done. This saves manual pasting, but do not leave clipboard contents behind on a shared computer.
A common misunderstanding: opening a subscription link directly in a browser shows a block of gibberish or a plain-text list. That does not mean the link is broken. Subscription links are meant to be parsed by a client, not rendered by a browser.
Automatic Updates vs. Manual Updates: When to Refresh Yourself
The contents behind a subscription link are not fixed. When the server side adjusts routes, adds or removes servers or changes protocols, the next fetch reflects it — while the link itself stays the same. Clients handle this in one of two ways.
Automatic updates
Most subscription-based clients support automatic updates: they fetch once when you open the app, then refresh in the background at the interval you set, so day-to-day use needs no manual work. If you want the server list to stay as fresh as possible, set a shorter interval; if you worry about background wake-ups draining the battery, keep the default.
When to update manually
- You just imported the subscription and the server list is empty or clearly too short;
- A route is visible in the dashboard but missing in the client;
- Connection quality has dropped and you want to pull the latest routes and run a speed test again;
- The client reports that the subscription update failed.
Manual update is usually in the right-click or long-press menu of the subscription list, often labelled “Update Subscription” or “Update Configuration”. It is normal for server names and ordering to change after an update — that is the order the server side sends. Groups and routing rules are stored locally by the client and are not overwritten by a subscription update.
If an update fails, first retry on a different network: fetching a subscription is an ordinary HTTPS request, so if the current network has trouble reaching the dashboard domain, switch networks to tell whether the problem is the network or the link itself.
Updating a subscription only refreshes the server list. It does not reset your data usage and does not change the account status. Data is counted per account, no matter how many times you update.
Also keep two things apart: updating the subscription refreshes the server list, while updating the client software upgrades the program version. They often sit on the same screen, so do not click the wrong one.
Link Leaks: Risk and What to Do First
A subscription link carries your identity token, and anyone who has it can import and use it on their own devices. The scope of the impact is worth spelling out:
- They can use those servers and consume your account's data;
- They cannot see your dashboard password or change account settings;
- They can see the server information in the subscription, including server addresses, ports and protocol types.
The most common leak is not an attack but something you sent out yourself: a screenshot where the token was not masked, a link posted in a group chat for a speed test, a link committed to a public config repository, or a link handed to an unknown “setup helper”.
What to do, in order
- Invalidate the old link first: reset the subscription link in the dashboard, or open a ticket with support if you cannot find the reset option;
- Delete the old subscription on each device, import the new link and update once;
- If you suspect the account itself was exposed, change the login password while you are at it.
A subscription link is a credential, not a share link you can forward casually. Once a leak is found, the order is always: invalidate the old link first, then re-import device by device — not hunting for who is using it.
- ✅ Copy the subscription link only from the logged-in dashboard, and never forward it through chat apps.
- ✅ If you need a screenshot for help, mask the token part of the link first.
- ✅ If you suspect a leak, reset the subscription link right away, then re-import on each device.
- ❌ Posting a subscription link on public forums, in group chats or in code repositories.
- ❌ Treating a subscription link as a general share link and lending it out long term.
Common questions
How many devices can I import a subscription link on?
This service does not limit the number of devices, so the same link can be imported on several. Data is counted against the account and has nothing to do with how many devices you import it on.
Do subscription links expire?
The link itself stays valid long term; the server contents change with updates. Only two things actually invalidate a link: resetting the subscription in the dashboard, or the account expiring. Note also that this service's data packs are pay-as-you-go and never expire.
The server list is empty after importing — how do I troubleshoot?
Check three things in order: whether the link was copied in full, paying special attention to the characters at the end; whether the client supports that link format; and click “Update Subscription” once by hand. If all three are fine and the list is still empty, copy the link again from the dashboard and import it once more.
Do I need to be connected to a server to update the subscription?
No. Updating a subscription is an ordinary network request and has nothing to do with whether you are connected to a server. If updates keep failing, try a different network — in most cases the current network has trouble reaching the dashboard domain.
Summary: Four Rules for Using Subscription Links
- It is a URL, not an installer — import it into a client; do not expect it to connect when opened in a browser;
- It is a credential, not a share link — think twice before screenshots and forwards;
- The server side maintains it — route changes sync through “Update Subscription”, with no need to get a new link;
- It is tied to your account — data usage and expiry live in the dashboard, regardless of how many times you import or update.
Think of a subscription link as the key that fetches your configuration, and most questions answer themselves: if the key changes, import it again; if the contents are stale, update; and do not show the key around, because it stands for your account identity.
This service's subscriptions cover 100+ countries and 230+ routes, work on Windows / macOS / iOS / Android / Linux, with no limit on the number of devices and a 60-day money-back guarantee; signing up needs no email address, just a username and password. To compare price tiers first, see the Plans page; for help while using the dashboard, use the Help page or the ticket entry.