10-Minute Basic Setup

V2Ray Setup Guide: From Subscription Import to Connection Verification

Follow the same four steps every time: import the subscription, choose a proxy mode, start the connection, and check the result. This works for first-time setup and for confirming the connection after a subscription update.

STEP 01 Import Subscription STEP 02 Choose Mode STEP 03 Start Connection STEP 04 Verify Result
Preparation

Confirm the Client, Subscription URL, and System Time

Confirm the inputs before opening the client. Most first-time setup issues can be eliminated at this stage.

Before you begin, prepare two things: an installed client and the subscription URL provided by your service provider. Use v2rayN on desktop devices and v2rayNG on Android devices. If the client is not installed yet, visit the Download Center, choose the appropriate platform and processor architecture, install it, and then return here. If it is already installed, launch it once to confirm that the main window opens and that the system can complete any required network authorization.

A subscription URL is usually a complete link beginning with https://. When copying it, select everything from the first character to the end, without including spaces, line breaks, or punctuation added by a chat app. The subscription URL is the entry point for your configuration, so copy it from the control panel of the service provider you actually use. Do not mistake a web login address, a server share string, or QR code instructions for a subscription URL. If the provider lists multiple subscription formats, choose the general format marked as compatible with V2Ray, v2rayN, or v2rayNG.

Check that the device date, time, and time zone are correct. Some protocols use time information during connection setup, and a significant clock offset can make a configuration look complete while connections still fail. Enable automatic date and time synchronization, then close other clients that modify the system proxy so two programs do not manage the same settings. Once everything is ready, proceed to subscription import; the remaining steps will be easier to diagnose.

This page covers only the basic steps needed for a first connection. Protocol fields, routing rules, DNS objects, and manually written JSON are outside this workflow. For the full configuration structure, see the JSON Manual; for unfamiliar terms, consult the Terminology Guide.

Step One

Add a Subscription Group and Update the Configuration List

Target state: the client shows a subscription group with at least one selectable configuration.

v2rayN Desktop Steps

After launching v2rayN, find the subscription group menu near the top of the main window and open its settings. Depending on the version, it may be labeled “Subscription Group Settings,” “Subscription Management,” or something similar. The key is that it lets you add a group name and subscription URL. Click Add, enter an easy-to-recognize name such as “Daily Subscription” in the remark or alias field, and paste the complete subscription URL into the address field. Leave other advanced options at their defaults for now, then click OK or Save.

Saving the group only records the URL; the configuration list may still be empty. Return to the main window, open the subscription menu again, and choose “Update All Subscriptions,” or select the group you just created and update it. Watch the status information at the bottom of the window during the update. When it succeeds, the main list should show several configurations, usually with an alias, address, port, or protocol type. Step one is complete when the list contains entries.

If the list does not change after the update, do not keep clicking Connect. Reopen the subscription group settings, confirm that the URL is complete at both ends, make sure the group is enabled, and check whether the current network can reach the subscription URL. Some versions let you update an individual group; update only the current group first to avoid confusion from older groups. If the status bar reports a format error, recopy the original URL instead of editing its characters manually.

v2rayNG Android Steps

Open v2rayNG, tap the top-right menu, and open “Subscription Group Settings.” Tap the Add button in the top-right corner, enter a group name in the remark field, paste the complete URL into the subscription address field, confirm that the group is enabled, and save. Return to the main screen, open the top-right menu, and choose “Update Subscription.” After the update, selectable entries should appear in the configuration list. If the screen is still empty, return to Subscription Group Settings and confirm that the information was saved.

v2rayNG may also offer options to import a single configuration from the clipboard or scan a QR code. These are useful when you have only one shared configuration. This guide focuses on subscription groups because they let you refresh configurations together instead of importing them one by one. When a provider gives you a subscription URL, do not split the same content into multiple individual configurations; later updates and deletions will be harder to manage.

After importing, do not test every entry in succession. Choose one clearly named configuration for the first connection. If there are many entries, use the client's sorting or testing tools to help narrow them down, but remember that test results reflect current network conditions and are not a guarantee of long-term performance. Next, choose how traffic should be proxied before starting the connection.

Step Two

Start with Rule Mode, Then Adjust as Needed

Target state: the client has an active configuration and you know whether it is using Rule, Global, or Direct mode.

The proxy mode determines which connections are handled by the active configuration. Common options are Rule, Global, and Direct mode. Rule mode evaluates target traffic using the client's routing rules and is the best default for everyday use. Global mode sends more traffic through the active configuration and is useful for briefly checking whether rules match. Direct mode is mainly for pausing the proxy path or comparing the underlying network connection.

For first-time setup, start with Rule mode. It provides a basic test without sending every local app through the same handling path. Note that the mode and system proxy are separate settings: choosing Rule mode selects a routing policy, while the desktop client usually also needs the system proxy enabled so browsers and other system-aware apps send requests through v2rayN. On Android, the system connection channel takes over the selected traffic after you tap Connect.

Choose a Mode in v2rayN

First click the configuration you plan to use in the main list and confirm that it is selected. Then use the bottom or top menu of the main window, or the system tray menu, to find the system proxy and routing options. Set the routing mode to Rule mode, then enable automatic system proxy configuration. The tray menu or status bar usually shows the current system proxy status. If the client is open but the system proxy is still disabled, browser results may not change.

Some v2rayN versions show routing modes as predefined rule names rather than simply “Rule.” In that case, choose the basic rule supplied by the client; there is no need to edit domain, IP, or port conditions during first-time setup. Custom rules involve matching order, outbound tags, and DNS coordination, so handle them after the basic connection works. For field details, see the routing section of the JSON Manual.

Choose a Mode in v2rayNG

Select a configuration in the v2rayNG main screen; the selected entry usually has a clear marker. Open the side menu or settings page, find the routing settings, and choose the predefined Rule mode. For first-time use, do not enable per-app proxying or change local ports, Mux, DNS, or sniffing options. Keep the defaults until the connection is verified to avoid changing several variables at once.

If only one target is unreachable in Rule mode while other pages work, briefly switch to Global mode for comparison. If it works in Global mode, the basic connection is usually established and the issue is more likely related to routing matches or DNS. If it still fails in Global mode, continue checking the subscription, active configuration, and network connection. Switch back to Rule mode after the comparison.

Once the mode is selected, leave the current configuration highlighted. The next step is to start the core or system connection channel. Do not edit the subscription URL or switch between multiple configurations at this point; otherwise, startup logs may refer to a different entry and make troubleshooting harder.

Step Three

Start the Active Configuration and Check Its Status

Target state: the client shows that it is running or connected, with no recurring startup errors in the log.

Start the Active Configuration in v2rayN

Confirm that the target configuration is active in the list. You can usually double-click the entry or choose “Set as Active Server” from its context menu. Then check that the client core is running and switch the system proxy to automatic configuration. Some versions start the active configuration automatically when the program launches; others require an explicit start command from the tray menu. Use the active configuration name and runtime information shown in the status bar as your reference.

After a successful start, the log area will show messages about initialization, loading the configuration, and listening on a local port. You do not need to understand every line on your first attempt; just watch for errors that repeat continuously. If the window settles, the status bar shows the active configuration, and the system proxy is enabled, proceed to browser verification. If the log reports that a port is already in use, exit other similar clients and restart v2rayN. If it reports that the configuration cannot be parsed, return to the subscription update step and fetch the group again.

After the main window is closed, v2rayN may continue running in the system tray. The browser may still use the system proxy. To pause it, disable the system proxy or exit the program from the tray menu instead of simply closing the window. Conversely, if the window is open but the tray shows that the system proxy is disabled, do not assume from the program icon alone that browser traffic is being redirected.

Start the Active Configuration in v2rayNG

In the v2rayNG main list, confirm that the target configuration is selected, then tap the circular connection button at the bottom. The first time this type of connection is enabled, Android will show an authorization prompt. Read the system message and allow the current connection. The button state will change, and the notification area will show the running connection. Keep the app open for a few seconds so the core can initialize before moving to verification.

If the connection immediately returns to a disconnected state, open the log and inspect the last few lines. Common causes include an expired subscription entry, an unresolvable server address, an incorrect system clock, or a temporarily unavailable network. Do not tap Connect repeatedly in quick succession. Stop the current attempt, wait until the state fully resets, and then test another subscription configuration. This prevents overlapping startup actions from making the log order difficult to interpret.

Android power-saving policies may restrict the client after the screen turns off, so complete the first verification with the screen on. Once the foreground connection works, adjust background permissions according to your needs. If it works in the foreground but stops after the screen locks, see FAQ Troubleshooting for background operation and system restriction guidance; there is no need to change protocol parameters during first-time setup.

Once the connection is stable, do not immediately run speed tests or switch through configurations in bulk. First perform a simple webpage test and match the result with the client log. After basic access works, testing other apps or adjusting rules will make differences easier to isolate.

Step Four

Cross-Check the Page, Status, and Logs

Target state: the target page loads normally, the client records the corresponding connection, and access changes as expected when the client is stopped.

Open a new browser window and first visit a page that normally loads to confirm that basic network access is intact. Then visit the target page you want to test through the active configuration. Do not rely only on a loading spinner; wait for the page's main resources to finish rendering. If it loads, return to the client and inspect the connection log or traffic record to confirm that the domain request used the active configuration. The connection path is verified only when the webpage result and client record match.

In v2rayN, confirm that the system proxy is still enabled, the active configuration has not changed, and the log contains a connection initiated by the browser. Some browsers use their own proxy settings or retain old connections, so fully quit and reopen the browser before testing again. If other programs work but one browser does not, check that browser's network settings before changing the subscription.

In v2rayNG, confirm that the bottom button still shows an active connection and that the system notification still displays the current connection. If the browser works but an app does not, check whether per-app proxying is enabled and whether the app is included in the selected scope. For first-time setup, disable per-app filtering and complete an overall test first; restrict the app scope only after the basic path works.

Run a Stop-and-Compare Test

After verification succeeds, perform one brief stop-and-compare test. In v2rayN, disable the system proxy and refresh the target page. In v2rayNG, tap the connection button to stop the current connection, then reopen the page. The goal is not to force a particular page result, but to confirm that changing the client state changes the network path as expected. Restart the connection afterward and confirm again that the active configuration and mode are unchanged.

If the page loads but speed or stability is below expectations, compare another configuration from the same subscription first. Change only one thing at a time, recording the active configuration name and test time; do not change the mode, DNS, routing, and several advanced options together. Isolating one variable at a time shows whether the issue comes from the configuration entry or local settings. Node testing can help with initial screening, but actual page and app connectivity should be the final measure.

Save the Working State

After basic verification passes, note the current subscription group, active configuration, and proxy mode. v2rayN users should also remember where the proxy switch is in the system tray; v2rayNG users should confirm that the current configuration is still visible after reopening the app. When a future subscription update changes something, compare it with this known-good state instead of changing every setting again.

To learn more about VMess, VLESS, Xray, V2Fly, routing, and DNS, see the Terminology Guide. When editing a configuration file field by field, use the JSON Manual; do not change multiple advanced fields at once on a basic configuration that already connects successfully.

Quick Troubleshooting

Check These Items in Order When the Connection Fails

Check each item from the input conditions through runtime status. Fix the first problem you find and test again before changing anything else.

A

Did the Subscription Update Succeed?

Confirm that the group is enabled and that entries appear in the configuration list. If the list is empty, recopy the complete subscription URL and run the update again.

B

Is the Active Configuration Clear?

Check the name of the selected entry and, if necessary, switch to another configuration in the same group. Wait for the status to stabilize before testing.

C

Do the Mode and System Takeover Match?

On desktop, check the system proxy. On Android, check the connection button and system notification. If Rule mode behaves unexpectedly, use Global mode briefly for comparison.

D

What Does the Log Point To?

Review the last stable error and distinguish between address resolution, port conflicts, configuration parsing, and connection timeouts. Then check the FAQ for the corresponding fix.