中文

Troubleshooting

No nodes after importing a subscription: eight checks

The node list came up empty, or holds a few odd entries. Eight causes ordered by how often they occur, each with the command to run and what the result means.

By MaoUpdated 2026-08-275 min read

The most common beginner problem. Work through these in order — do not skip — because 90% of cases resolve in the first three.

1. Is the profile actually selected?

The single most common cause, more than half of what I see.

In most clients, importing and enabling are separate actions:

An "import succeeded" message does not mean that configuration is in use.

Check: go back to the profiles list and confirm yours is marked as current.

2. Read the status code in the log

Skipped by almost everyone, and the answer is usually here.

Clash Verge Rev: sidebar → Logs. v2rayN: View → View service log. Mobile: usually under settings.

Find the subscription fetch:

CodeMeaningAction
200FineProblem is elsewhere; keep reading
404Link is deadGet a new source
403RejectedProbably a User-Agent requirement — see step 5
502 / 503Server faultWait, or the provider is gone
TimeoutUnreachableSee step 4

3. Verify the subscription by hand

Take the client out of the equation:

curl -A "clash" -sI "your-subscription-link" | head -1
HTTP/2 200        ← fine
HTTP/2 404        ← gone

Then look at the content:

curl -A "clash" -s "your-subscription-link" | head -50

Clash format shows a proxies: block with entries under it.

PowerShell:

curl.exe -A "clash" -s "your-subscription-link" | Select-Object -First 30

4. The chicken-and-egg problem

Symptom: refresh spins, then times out.

Cause: the subscription server is outside the network you are trying to leave. Fetching it needs an exit; you are looking for a subscription because you have no exit.

Workaround one: mobile data

Tether your phone and refresh. Conditions on mobile networks are sometimes different.

Once fetched, the nodes stay; switching back to Wi-Fi is fine.

Workaround two: connect with a single node first

If you have one working ss:// or trojan:// link, import that alone, connect, then update the subscription through it.

v2rayN has an explicit "Update subscriptions via proxy" for exactly this.

Workaround three: an accelerated subscription domain

Some providers publish a CDN-backed subscription URL reachable without a proxy. Look in your account dashboard for a "backup" or "accelerated" subscription address.

5. The User-Agent quirk

Symptom: the browser shows gibberish for the subscription URL, and the client cannot fetch it either.

Cause: many subscription servers return different formats based on User-Agent:

AgentReturns
clash / mihomoClash YAML
v2rayN / v2rayNGBase64 node list
sing-boxsing-box JSON
A browserWhatever the default is

So a browser showing gibberish proves nothing.

Test properly:

curl -A "clash" -s "link" | head -5
curl -A "v2rayN" -s "link" | head -5

Whichever returns sensible content tells you which family of client to use.

6. Format mismatch

Symptom: "failed to parse configuration" or "format error".

You haveClient expectsResult
Clash YAMLClash-family
Clash YAMLsing-box
Base64 node listv2rayN
Base64 node listClash-family❌ usually

Fixes:

  1. Use the matching subscription URL. Providers normally publish several: ``text https://xxx.com/sub?target=clash https://xxx.com/sub?target=singbox https://xxx.com/sub?target=v2ray ``
  2. Run it through a subscription converter.
  3. Change client.

7. Status entries, not nodes

Symptom: a handful of entries named Remaining data: 0.00GB, Expires 2026-08-01, Resets in 3 days.

Those are not nodes. Some providers display account status this way. They will never connect, and that is expected.

If they are all you have, then:

Check your dashboard.

8. Nodes present, everything timing out

Different problem — the nodes are there and dead.

For a free subscription this is routine. Median lifespan across the nodes I tracked was six days.

Do this:

  1. Refresh once — the provider may have already replaced them
  2. Still all dead → change source: Public subscription links that still update

Checklist

Eight checks and still nothing means the source itself is gone. Replace it.

If this keeps happening

Honestly: with free subscriptions, it will happen roughly weekly. Six days is the median.

If that rhythm is not something you want in your life, the arithmetic on the alternative is in Do free nodes actually save money?

Questions people keep asking

It says import succeeded but the list is empty.

Most often the profile imported but was never selected as active — in many clients those are two separate actions. Check whether the profile card is highlighted. If it is and the list is still empty, read the HTTP status code for the fetch in the client log.

The only entries are things like "Remaining data".

Those are not nodes. Some providers use node names to display account status, and they will never connect. If that is all you have, your data allowance is spent or the plan has expired.

Refreshing the subscription spins forever.

The client cannot reach the subscription URL. Almost always this means you currently have no route out at all — a chicken-and-egg problem with three workarounds listed below.

Would a different client fix it?

Sometimes. If the issue is format mismatch — Clash YAML fed to sing-box, or the reverse — then a matching client or a subscription converter fixes it. If the subscription itself is dead, no client will help.

Written from my own testing. Conditions change; if something here has gone stale, email [email protected] and I will update it with a date.

Read next