1
Import a subscription
A subscription URL is a single line of text from your provider, usually starting with https://, found under One-click subscription or Copy subscription URL in the provider dashboard. The client pulls a server list from it, and when the provider adds or removes servers, one local update syncs everything — no need to add servers by hand.
Two things matter when pasting: keep the whole line intact, including the query parameters at the end, and don't add spaces or line breaks around it. The URL itself works like a credential, so don't share it publicly.
v2rayN · Windows / macOS / Linux
Open v2rayN and click Subscription → Subscription group settings in the top menu, then click Add in the subscription group window that opens. Three fields need filling in:
- Remarks: any name you'll recognise, such as the provider's name. It only distinguishes subscriptions in the group list on the left.
- Address (URL): paste the subscription URL. Put the plain URL only — no quotes, and don't prepend
http://.
- Update interval (minutes): controls automatic refresh.
360 pulls once every 6 hours, which is plenty for everyday use; 0 updates only when you click manually.
After saving, go back to the main window and click Subscription → Update subscription (without proxy). On a first import there are no usable servers locally yet, and this option keeps the update request from going through the proxy itself and looping.
When the update finishes, the new subscription group appears in the left-hand column and the servers it pulled are listed on the right, each row showing the server name, protocol and address. If the list is empty, first check that the URL is complete, then check your local network.
v2rayNG · Android
Open v2rayNG, tap the three-dot menu in the top-right corner, go to Subscription settings and tap + in the top-right corner to add one: fill in a name under Remarks, paste the subscription URL under Address (URL), leave Enable checked and save.
Back on the main screen, tap the three-dot menu → Update subscription. Once it succeeds the server list appears right on the main screen; tap any row to select it.
If your provider gives you a share link starting with vmess:// or vless://, that's a single server config, not a subscription URL. Copy that kind of link and add it with Import from clipboard in the three-dot menu. Don't mix the two formats — pasting a share link into the subscription URL field only gets you an empty list.
Terminology note
The difference between subscriptions and servers, and between base64 subscriptions and native JSON, is explained in full under Subscriptions and servers in the glossary. If you just want to get connected, skip it and move on to the next step.
2
Choose a proxy mode
The proxy mode, also called the routing mode, decides which traffic goes through the proxy and which connects directly. It doesn't change the server itself, only the routing rules. For everyday use, one of the three presets is enough; fine-tune later once everything works.
v2rayN · Routing presets
You can switch with the dropdown below the main window, or go through Settings → Routing settings in the top menu. Three common presets:
- Bypass mainland: addresses in mainland China connect directly and everything else goes through the proxy — the usual first choice.
- Global: all traffic goes through the proxy. Use it temporarily when troubleshooting or when everything needs to exit through the server.
- Direct: everything connects directly, effectively pausing the proxy while the core keeps running, so switching back needs no reconnect.
The system proxy switch lives under Settings → System proxy in the top menu. Choosing Set system proxy automatically hands the operating system's proxy settings to v2rayN; turning it off restores them.
There's also TUN mode: it takes over all traffic through a virtual network adapter, which suits programs that ignore system proxy settings, such as some games, terminal tools and container environments. It needs administrator rights, so there's no need to leave it on — enable it when a particular program never goes through the proxy.
v2rayNG · Predefined rules
Three-dot menu → Routing settings → Predefined rules gives three presets: Global, Bypass LAN and mainland, and Bypass LAN. For everyday use pick Bypass LAN and mainland, the counterpart of Bypass mainland on desktop.
Under Custom rules you can add entries by domain, IP and app, with the same field structure as on desktop. The full syntax for rules is in the routing rules section of the configuration reference, and the common routing and split-tunnelling terms have their own entries in the glossary.
Tip
Get the whole chain working with Bypass mainland first, then come back to the rules once you can browse normally. A wrong routing rule only sends some sites out through the wrong exit; it doesn't break the connection, and you can always change it back.
3
Connect
Once the mode is set, confirm both the server and the system proxy, and the connection is really up.
v2rayN · Pick a server and turn on the system proxy
Click a server in the list on the right and the row highlights; choose Set as active server from the context menu, or just press Enter. The active server gets a check mark, and all proxied traffic leaves through it.
Then turn on the system proxy: Settings → System proxy → Set system proxy automatically in the top menu. The status bar at the bottom of the window shows the current proxy state and active server — as long as System proxy reads as on, you're set.
You can test whether a server works first: right-click it and choose Test server latency (Tcping) for network reachability, or Test server real delay for the actual handshake result. Both write the result onto the server row; replace anything that times out.
v2rayNG · VpnService permission and the persistent notification
Back on the main screen, tap the round button in the bottom-right corner to connect. On the first connection Android shows a VpnService permission dialog explaining that v2rayNG will set up a VPN connection; tick the trust option and confirm. The dialog appears only once, and later connections don't ask again.
Once connected the button changes state and a persistent notification appears in the notification shade showing the current server and connection status. That notification is normal for a running VpnService — you can collapse it, but don't force-clear it, or the system may end the connection along with it.
Switching servers doesn't require disconnecting first: tap another server in the list and the connection moves to it automatically. To disconnect, tap the same bottom-right button again.
Android note
Some systems kill background processes after the screen locks or a long spell in the background, which drops the connection. Adding v2rayNG to the system's battery optimisation whitelist and allowing background running in the app info screen noticeably reduces this.
4
Verify it works
A successful connection doesn't mean traffic is already going through the proxy. Cross-check with any two of the three methods below, and then you're good to go.
Test in a browser
Open a browser and visit any site you use often — if it loads, the chain basically works. Then visit a site that shows your exit IP and see whether the location matches the server you picked. If it does, traffic really leaves through the server rather than connecting directly.
Check the connection log
On desktop, switch to the log pane at the bottom of the window: startup messages and a hit record for every connection are printed line by line. On Android, check the three-dot menu → Log, where you can see the tunnel being established and rules matching. If errors keep appearing in the log, switch to another server and watch again.
Check the system proxy state
On Windows, Settings → Network & Internet → Proxy shows the local address and port written by v2rayN; on macOS, System Settings → Network → Proxies has the same entries. Turning off the system proxy switch in v2rayN clears them again. On Android, VpnService takes over the whole device, and the status line at the top of the main screen shows the current server in step with the persistent notification.
If it doesn't work, check these
Check three things in order: whether the server is active, whether the system proxy switch is on, and whether the subscription needs updating. On desktop you can switch temporarily to Global mode to rule out a misjudged routing rule, then switch back to Bypass mainland once the chain is confirmed.