v2rayN / v2rayNG quick start

v2rayN setup guide: get connected in four steps

Four steps to get the client running: paste a subscription URL to pull servers, choose a proxy mode, hit connect, then confirm traffic really goes through the proxy. The buttons sit in different places on desktop and Android, but the logic is the same, so each step is written out separately. No manual config file editing is needed — the defaults are enough — and following along takes about ten minutes.

Two platforms, two interfaces

On Windows, macOS and Linux the desktop client is v2rayN: subscription groups and the server list on the left, settings such as subscriptions, routing and system proxy in the top menu bar, and runtime status at the bottom of the window.

On Android the client is v2rayNG: a single-page list, with subscription and routing settings tucked into the three-dot menu in the top-right corner and the connect switch in the bottom-right. The concepts map one to one, so each step below covers desktop first, then Android.

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.

Troubleshooting order

Common snags

If it still doesn't work after all four steps, go through the list below in order — most problems are pinned down by the first two items.

Subscription updates keep failing

Open the subscription URL directly in a browser first: if it downloads content, the URL is valid and the problem is on the client side. Check that the system clock is accurate and your local network is fine, then retry with Update subscription (without proxy) on desktop.

The URL usually ends with a parameter such as token, and missing part of it returns empty content — copying the whole thing again is the quickest fix.

Servers are listed but won't connect

The server may have expired. Right-click it and test the real connection delay; if everything times out, update the subscription again. If it's still unusable after updating, the server has been removed on the provider side — just switch to another one.

The browser works, but some apps ignore the proxy

These apps don't read system proxy settings. On desktop, turn on TUN mode to take over all traffic; on Android the whole device is already covered, so if the same thing happens, check whether that app is set to direct in v2rayNG's per-app proxy.

Android drops the connection after the screen locks

The system cleared background processes to save power. Add v2rayNG to the battery optimisation whitelist, allow background running in the app info screen, then go back to the main screen and reconnect.

Go deeper

What to read next

This page covers only the minimum needed to get connected. To dig into configuration and terminology, start from the three sections below.

Configuration reference

A section-by-section walkthrough of the JSON structure, inbounds and outbounds, routing rules, dns and policy, each with configuration snippets you can compare against.

Glossary

Plain-language explanations of VMess, VLESS, REALITY, subscriptions, routing and TUN, organised under protocols and cores, subscriptions and servers, and routing and split tunnelling.

Get the client

Download entry points for v2rayN, v2rayNG and v2flyNG across four platforms, with system requirements and version notes for each.