Free subscription links: four sources, and how to vet one
Four sources for free subscription URLs ranked by reliability, the User-Agent quirk that makes a working link look broken, and three checks to run before you paste anything into a client.
Free proxy nodes covers the general method. This one is specifically about subscription links, because they are the efficient way to do this.
Node links vs subscription links
A node link is one server:
vmess://eyJhZGQiOiJleGFtcGxlLmNvbSIsInBvcnQiOiI0NDMi...
trojan://[email protected]:443?sni=example.com#JP-01
A subscription link is a URL holding a batch:
https://example.com/api/v1/client/subscribe?token=abc123
The subscription wins for a practical reason: when nodes die, the provider replaces them and you press refresh. With individual links, every death is your problem.
Look for subscriptions.
Four sources, ranked
1. Trial allowances from paid providers — best quality
Many paid services offer a free tier or trial, usually a few gigabytes. Start here, because:
- The nodes are the same ones paying customers use
- The subscription URL is well-formed and every client accepts it
- It ends predictably, when the data runs out, rather than vanishing
The limit is the size — typically 1 to 10 GB.
2. GitHub aggregator repositories — most of them
A genre of repository scrapes publicly posted nodes, deduplicates, health-checks, and republishes as a subscription several times a day.
Search terms: free node, v2ray subscribe, clash subscription, plus date-stamped repository names.
Quality: poor. Much of it is leaked paid-provider content that gets rotated out quickly. Three to five usable nodes per hundred is normal.
3. Telegram channels — fastest, messiest
Daily posts, quick updates, wildly variable quality.
4. Non-commercial and academic nodes
Occasionally an institution or individual provides access for a specific purpose. Usually more stable and better governed, usually restricted in what you may use them for, and generally not advertised.
If you find one, treat it well.
Three checks before importing
Two minutes, and they save a lot of guessing.
Check 1: what does the URL actually return?
curl -A "clash" -sI "your-subscription-link" | head -1
| Response | Meaning |
|---|---|
200 | Fine |
404 | Link is dead |
403 | Rejected — probably a User-Agent requirement |
| Timeout | Server gone, or you currently have no route out |
Check 2: how many nodes are in there?
curl -A "clash" -s "your-subscription-link" | head -50
Clash format shows a proxies: block with entries beneath it. If there are only two or three, or if the "nodes" are named things like Remaining data and Expires on, the subscription is spent.
Check 3: does the domain look sane?
A random string, or a near-miss imitation of a well-known brand, deserves a second thought.
Not automatically disqualifying — but the subscription server sees all of your traffic, so an implausible origin is a reason to keep looking.
Maintaining it afterwards
Set a short refresh interval
- Paid subscription: 12–24 hours
- Free subscription: 4–6 hours
Free node lists turn over fast. A slow refresh interval leaves you holding dead entries.
Keep three loaded
My client holds three at all times: one paid as primary, two free as backup. When one dies I switch instead of going hunting.
Prune periodically
Dead subscriptions slow client startup, because each one is fetched and each fetch has to time out. Clear them out monthly.
Quick troubleshooting
| Symptom | Start here |
|---|---|
| Empty node list after import | No nodes after importing |
| Nodes present, all timing out | Either no route out, or the whole list is dead |
| Refresh errors | Client cannot reach the URL — check whether you have any exit at all |
| Node names are mojibake | Encoding issue; try another client, or the feed is non-standard |
| Fewer nodes after an update | Normal — the provider pruned dead ones |
The honest cost
The recurring expense of free subscriptions is maintenance frequency.
My log says 1.5 interventions a week, 10 to 20 minutes each. Around two hours a month.
If your use is occasional lookups, that is a fine trade. If you are on it daily with AI tools and video, you will eventually do this arithmetic yourself — I did, here.
Read next
- Free proxy nodes: where they come from
- Free Clash nodes: get them and import them
- How to actually test a free node
- No nodes after importing a subscription
Questions people keep asking
What is the difference between a node link and a subscription link?
A node link (ss://, vmess://) is one server's connection details. A subscription is a URL holding a batch of them that the client re-fetches on a schedule, so when nodes die the provider swaps in replacements and you just press refresh.
My subscription imported but the list is empty. Why?
Four usual causes. The link expired. The server returns different formats depending on User-Agent and yours got something the client cannot parse. The format is wrong for your client. Or — most commonly overlooked — you currently have no route out at all, so the client cannot fetch the URL in the first place.
How long does a free subscription last?
Median six days across the public sources I tracked. Trial allowances from paid providers last until the data is gone. Assume any free subscription is temporary and keep a spare configured.
Can I share a subscription link with a friend?
Never share a paid one — it is tied to your account, consumes your allowance, and simultaneous logins from different places can get the account suspended. Public free subscriptions are already public, so it makes no difference.