Guides 6 min read

Subscription Link: A Complete Beginner's Guide to Getting, Importing, Updating & Handling Leaks

Subscription links explained: what they contain, where to find them, how to import them on every platform, how often to update, and what to do if one leaks.

A subscription link isn't a file format that belongs to any one client — it's a URL pointing to a configuration endpoint. Your client trades it for a list of servers, and from then on routes are added or retired and protocols adjusted on the server side; all you do is hit “Update subscription” once. This guide covers all four stages — getting, importing, updating and handling a leak — and ends with a troubleshooting table for common errors.

110+ Countries / regions covered; see the dashboard list for current routes
150+ Routes; update your subscription to sync after a route change
Unlimited Simultaneous devices; one link imports on multiple devices
60 days Money-back guarantee, no questions asked, from your first payment

What's actually inside a subscription link

Paste the link into your browser's address bar and you'll most likely see a block of Base64 gibberish, or a long stretch of YAML or JSON. That's normal — it was never meant to be read by humans. The link itself contains just two parts: a fixed endpoint address plus a random token that belongs only to your account.

When a client requests that endpoint it sends its own identifier, and the server returns configuration in the matching format. That's why the same link yields different content in different clients:

  • Generic format: a Base64-encoded server list, each entry starting with a protocol prefix such as ss://, vmess://, trojan://, vless:// or hysteria2://;
  • Clash / Mihomo core: returns a YAML configuration file directly;
  • sing-box core: returns a JSON structure.

In other words, you don't have to pick a protocol yourself — the client parses whatever the server sends based on what its core supports. Below is how the common protocol families differ, which explains why the same subscription behaves slightly differently across apps:

Protocol Transport & encryption traits Typically used on What you notice as a user
Shadowsocks Lightweight AEAD encryption, no extra handshake layer Relay, direct Fast handshake, relatively easy on mobile batteries
VMess UUID-based authentication, often wrapped in WebSocket + TLS Relay Widest compatibility, even older clients support it
Trojan Uses standard TLS; traffic profile resembles HTTPS Direct More stable on networks that handle TLS well
VLESS No encryption layer of its own; relies on outer TLS / XTLS Direct Lower overhead, good for long-running connections
Hysteria2 Built on QUIC (UDP) Routes optimized for weak networks Holds up better on networks with heavy packet loss
TUIC Also built on QUIC (UDP) Mobile networks Recovers faster after frequent network switches

Where to get your subscription link in the dashboard

There's only one place to get it: the subscription area of your VPNDT dashboard after you sign in. Nothing along the way requires a separate application, and no email address is needed to register — a username and password are enough to get into the dashboard.

  1. Open the dashboard, sign in, and go to the subscription overview page.
  2. Find the subscription entry that's currently active and confirm your plan and data status look normal.
  3. Click “Copy subscription link”; if the client is installed on this device, you can also click “One-click import”.
  4. Paste the link into the client's subscription field, save, then run “Update subscription” once and the server list will appear.

Your account shows only one main link in the dashboard. You can reuse it across multiple devices and clients — there's no limit on simultaneous devices, and you don't need a separate link for each one.

A subscription link works like an account credential: anyone who has it can use your routes and data. After copying it, paste it straight into your client — don't send it to group chats, screenshot it into notes, or paste it into public online conversion tools.

How to import on each platform

The import step is essentially the same everywhere — you hand the link to the client and let it pull the configuration. The differences come down to system permissions and background policies:

Platform How to import Watch out for
Windows Paste the subscription link inside the client, or use one-click import in the dashboard The first connection triggers a firewall prompt; choose Allow
macOS Paste the subscription link, then update Grant system extension and network permissions on first run; takes effect after restarting the client
iOS Import from the clipboard, or scan the QR code shown in the dashboard The system shows an “Add VPN Configuration” prompt; you need to allow it
Android Import from the clipboard or scan a QR code Battery optimization may kill background processes; add the app to the allowlist
Linux Paste the link, or write it directly into the client's config directory Check who takes over local DNS resolution to avoid conflicts with systemd-resolved

Don't draw conclusions right after importing. Working through the checklist below saves you most of those “same link, so why won't it work on this machine?” headaches:

  • ✅ After importing, check that the server count matches the dashboard before picking a server
  • ✅ If routes changed or your plan was adjusted, run “Update subscription” before connecting
  • ✅ Import with the same account on every device; there's no limit on simultaneous devices
  • ✅ Disconnect before uninstalling a client so no system proxy settings are left behind
  • ❌ Don't paste your subscription link into public online subscription converters
  • ❌ Don't let two clients take over the system proxy or the same network adapter at once

How often should you hit “Update subscription”?

The subscription link itself stays valid long-term, so you don't need to fetch a new one every day. Most clients can auto-update at a fixed interval — 6 to 24 hours is typical. Manual updates are only worth doing when routes are retired or added on the server side, when you switch plans, when a server won't connect and you want a fresh batch, or when you've just copied a new link from another device.

One detail that's easy to overlook: the data usage shown in your client comes from the usage figures the server returned the last time you updated the subscription. So if you check your remaining data right after streaming a HD movie, the number usually hasn't refreshed yet — hit update manually for an accurate reading.

The takeaway: a subscription link is a pickup credential for your configuration, not a one-time redemption code. It stays valid long-term, and a single update after route changes is all it takes. The only time you truly need a new link is when you reset it yourself in the dashboard.

After a link leaks: reset first, then re-import

If your link turns up in a screenshot, a chat log, or a web form you didn't look at closely, work through it in this order — disconnect, replace, then verify — instead of hoping for the best and carrying on:

  1. Go back to the dashboard and run “Reset subscription link”; the old link stops working immediately;
  2. Re-import the new link on every device you use, then update once in each client;
  3. Check your data usage and device list for anything unusual;
  4. From then on, keep the link only inside your clients. If you need to share access, use the account system in the dashboard rather than sending the link itself.

Once reset, the old link can't be recovered and every device has to be re-imported. Do this when you have easy access to a computer, so you don't lock yourself out with only a phone at hand.

Common errors at a glance

The table below covers the five issues beginners run into most often. Work through them in this order: start with whether the link is complete, then check your network, and only then suspect the client.

Symptom Likely cause What to do
Subscription update times out or fails Your current network is temporarily unreachable, or the link was truncated when copied Retry on a working network and copy the full link again from the dashboard
Update succeeds but the server list is empty The subscription status is abnormal, or the link has been reset Check the subscription status in the dashboard, then copy and import again
Updates work, but connections always fail The client core doesn't support the protocol the server sends Switch to a client version that supports that protocol
Fewer servers than last time Routes were adjusted on the server side This is a normal change; the dashboard and list page are the source of truth
Data usage figure doesn't move for a long time Clients only sync usage when the subscription updates Run “Update subscription” manually once

Four habits for new users

  • Keep the link only inside your clients — no screenshots, no group chats, no pasting into unfamiliar websites;
  • When you switch devices, import first and connect second; only flip the system proxy after the server list looks right;
  • If you can't connect, update the subscription and try another route before troubleshooting your local network;
  • There's no need to delete the link during long periods of non-use, but after a reset, remember to clean up your old devices.
One line to remember the order: copy the link in the dashboard, then import it into your client; after route changes, update the subscription before connecting; and if the link ever gets out, reset it in the dashboard and re-import — far less hassle than worrying about it later.

VPNDT: 110+ countries, 150+ routes, one link for every platform

No limit on simultaneous devices, a 60-day money-back guarantee, and no email address needed to create an account; the Windows, macOS, iOS, Android and Linux clients all share the same subscription link.

Try for Free