Understand Protocol, Core, and Routing Names
Review VLESS, VMess, Xray, V2Fly, subscriptions, nodes, traffic splitting, and related concepts to avoid confusing connection protocols with local proxy modes.
Open the Glossary →Complete four tasks in order: give the server configuration to the client, decide how traffic enters the proxy, start the connection, and check the result using a reproducible method. This page uses the v2rayN desktop client and v2rayNG Android client as examples and does not cover advanced routing or DNS tuning.
Before configuring anything, confirm that the client is installed and opens normally. Use v2rayN on desktop devices and v2rayNG on Android devices. If neither is installed yet, visit the client download page and choose the appropriate platform. On first launch, the system may request network access; follow the system prompt to allow the client to establish a network connection, then return to the main screen.
The second item to prepare is a valid subscription URL. Providers usually supply this URL; it is not an ordinary web address and should not be pasted into a browser to inspect its contents. When copying it, select everything from beginning to end and avoid extra spaces, line breaks, or punctuation added by a chat app. If the provider supplies both a QR code and a text URL, this guide recommends the text URL because it is easier to verify for completeness.
Check the device date, time, and time zone as well. Some connection methods require accurate system time, and a large discrepancy can cause the handshake to fail. Enable automatic date and time, then confirm that the time zone matches your location. Finally, temporarily disable other network tools that control the system proxy or VPN channel, so two programs do not modify the exit path at once and make later results difficult to interpret.
Once preparation is complete, do not change DNS, TUN, routing rules, or custom outbounds yet. The goal of this basic guide is to establish an easy-to-observe connection. Advanced options add variables, making it difficult to identify the cause when several settings change at once. After all four steps pass, continue to the advanced configuration guide for groups, routing, DNS, and TUN.
Subscription import has two separate actions: saving the URL and updating its contents. Many first-time setup failures happen because the subscription was saved but never updated. After this step, the client's main screen should show a set of server entries, typically with names, protocol types, addresses, or group information. The list confirms that the client has read configurations you can choose from.
Open the v2rayN main window, find “Subscription Groups” or a similarly named entry in the top menu, then open the subscription group settings. Create a group and give it an easy-to-recognize note, such as the service name or intended use. Paste the subscription URL you copied earlier into the address field, confirm there are no spaces at either end, and save it. The note is only for local identification and does not change server parameters.
Return to the main window after saving, open the subscription menu again, and run “Update All Subscriptions,” or update the group you just created. Watch the status bar and log area during the update. When it succeeds, new entries will appear in the server list. If the list already contained servers, use the subscription group or note to confirm that the new content is present. After the update, do not edit server parameters individually; the configuration supplied by the subscription should remain unchanged.
If the menu names differ slightly, look for a menu that combines the ideas of “subscription” and “group.” Newer interfaces usually manage subscriptions as groups, while classic interfaces may split adding, updating, and management into separate menu items. Completion does not depend on menu location: the subscription record must be saved and a server must appear in the main list.
Open v2rayNG and enter “Subscription Settings” from the side menu or top-right menu. Tap the add button, enter a subscription note, paste the URL, and save it. Return to the main screen and update the subscription from the menu. While the app is reading the configuration, keep the current network available; do not immediately switch to another app or repeatedly tap the update button.
After the update finishes, the main screen will list the server configurations. If entries for different regions or uses appear, simply confirm that entries exist at this stage; there is no need to study every name yet. Server names are assigned by the provider and do not represent connection quality measured automatically by the client. Establish one basic connection first, then organize groups and filters according to your needs.
Return to the subscription settings, reopen the saved item, and check whether the URL was truncated. Long URLs can lose their final characters when copied on mobile devices; on desktop, spaces at either end are common. Correct the URL, save it, and update again manually. If the status says access failed, first confirm that the current network can open ordinary web pages and check the device time. If the content format cannot be recognized, ask the provider whether the URL is intended for a general V2Ray client.
Do not create several identical subscriptions after a failure. Duplicate records can produce multiple servers with the same name, making it difficult to tell which group is in use. Keep one record and check its URL and update result. For a concise explanation of terms such as “subscription,” “node,” and “server,” see the glossary.
The client's main screen should contain at least one server entry from the subscription group you just saved. If the list is still empty, troubleshoot this step before configuring the proxy mode.
The server list answers “where to connect”; the proxy mode answers “which traffic enters that connection.” Clients commonly offer system proxy, rule, global, direct, or bypass-LAN options. Names vary by version, but the key difference is the range of traffic they match. For a first setup, choose an option that is easy to understand and undo rather than layering on complex routing immediately.
On desktop, find “System Proxy” in the v2rayN system tray menu or main window menu. Choose the option that lets the client set the system proxy. Programs such as browsers that follow system proxy settings will then send requests to v2rayN's local listening port. The tray icon or menu checkmark usually changes, providing a way to confirm that the client has taken over system proxy control.
Next, check the routing mode. For an initial everyday test, choose the basic rule mode provided by the client or a rule combination that bypasses the LAN. This keeps direct access to local devices, router administration pages, and common LAN addresses while sending requests matching proxy rules to the active server. If you temporarily use global mode to troubleshoot rules, treat it as a test; switch back to rule mode after verification as needed.
System proxy and routing mode are two separate layers. The system proxy determines whether an app sends traffic to v2rayN; the routing mode determines how v2rayN distributes traffic after receiving it. Changing only the routing mode while leaving the system proxy off may let the browser connect directly. Turning on the system proxy with unsuitable routing rules may produce different results for some sites. Understanding these layers makes the next verification step clearer.
On Android, v2rayNG requests that the system establish a VPN channel when it starts a connection. This channel passes device app traffic to the client for processing. The first time you tap the start button, the system displays an authorization dialog; after you approve it, a system network-channel indicator usually appears in the status bar and the start button on the v2rayNG main screen changes to show that it is running.
In v2rayNG settings, you can find routing and per-app proxy options. For the first setup, keep the basic routing settings and do not enable per-app filtering yet. Per-app proxy changes which apps enter the connection; if the list is incomplete, the browser may work while other apps continue using the original network. Verify the basic path first, then narrow the app scope if needed.
After changing the mode, pause and confirm that the selected state in the interface has changed. On desktop, check the selection in the system proxy menu; on Android, check that connection authorization is ready. Do not change the server, edit DNS, enable TUN, and modify rules at the same time, because the next step requires a single variable for judging whether the connection works.
v2rayN has system proxy and a basic routing mode selected; or v2rayNG is ready to use the system network channel with basic routing settings unchanged. You must still select a server before there is an actual exit path.
Having servers in the client list does not mean one is active. Before connecting, select an entry and set it as the current server. For a first test, do not keep chasing a particular name or region; choose an entry with complete parameters that was added by the latest subscription update. If the provider gives specific usage instructions, follow them.
Click the target entry in the server list, then use the context menu or top action menu to set it as the active server. Some versions support double-clicking for the same action. Afterward, the current entry usually changes color, font, icon, or status column. Check the selected state carefully so that the mouse focus on a row is not mistaken for an actual active-server switch.
Next, confirm that the v2rayN core is running. The client usually starts the core automatically; if the status bar says it is stopped, start it from the action menu. Open the log area and look for configuration loading and local listener startup messages. After a normal launch, the log should remain active rather than stopping immediately after a few lines. Do not clear it; Step 4 uses the log to determine whether requests reached the client.
If the core stops immediately after launch, do not randomly try several other servers. Check the final log lines; common causes include a local port already in use, incomplete subscription parameters, or leftover old configuration. For basic errors, fully exit other proxy tools and restart v2rayN. To interpret the log line by line, continue with the advanced configuration guide.
Tap an entry in the v2rayNG server list to make it the current configuration. Return to the main screen and check the server name shown at the top or in the card, confirming that it matches your selection. Then tap the circular start button at the bottom of the screen. The first launch displays a system authorization window; approve it and wait for the button state to change.
After the connection starts, do not tap the button repeatedly. Rapidly starting and stopping can reinitialize the log several times and repeatedly rebuild the system network channel. Wait a few seconds, then open the v2rayNG log or connection information page. Normally you should see the core start and local configuration load; if the button quickly returns to its stopped state, check the end of the log before continuing.
“Running” means the client and core are active; it does not guarantee that the selected server can reach the target network. Configuration parameters, server availability, and the current network environment can all affect the final result. This step confirms only that the program is running; use actual requests in the next step to determine whether traffic passes through the client.
If the subscription contains multiple servers, you can compare another entry after a failed verification, but change only the server each time. Set the new entry as active, restart the connection if necessary, and repeat the same verification. This shows whether the problem follows the server or consistently occurs in the local settings.
The interface clearly shows the active server, the client or core remains running, and the log does not stop immediately after launch. Once all three conditions are met, begin browser and app verification.
Verification is not simply about whether a page opens; the goal is to confirm that requests enter the client as expected. A page that was directly reachable may still open when the proxy is inactive, while a temporarily unavailable page does not necessarily mean the entire connection failed. Draw a conclusion from exit information, client logs, and behavior across different apps.
Close all relevant browser windows completely and reopen the browser to avoid old connections and cached data affecting the test. Visit a page that displays your current public exit information and note the result. Then stop the client connection or turn off the system proxy, refresh the same page, and compare whether the exit information changed. Restart the connection after the comparison.
When performing this test in v2rayN, watch the log window as well. After refreshing the page, new records for the target domain, an established connection, or a routing match indicate that the browser request reached v2rayN. If the page opens but the log does not change at all, the browser may be using its own proxy configuration, an extension, or another network channel; check the browser's network settings first.
In v2rayNG, browser traffic is normally handled by the system network channel after the connection starts. Open the test page while checking the client log for a new connection record. If per-app proxy is enabled, confirm that the browser is included in the selected scope. During the basic setup, if the results differ, disable per-app filtering and run a whole-device comparison test.
A working browser does not mean that a terminal, download tool, or other app uses the same settings. Desktop programs handle proxies differently: some follow the system proxy, some require a separate HTTP or SOCKS address, and others connect directly. Choose an app you actually need, perform an action that generates a network request, and watch whether the v2rayN log gains a new record.
If the browser works but the target app produces no log entry, the basic connection is probably usable and the problem lies between the app and the client. Do not change the subscription or server yet. Check whether the app supports the system proxy or requires its own proxy settings. For a separate browser-and-terminal troubleshooting method, read System Proxy Is Enabled but Not Working: Troubleshoot Browser and Terminal Separately.
If no app produces client log entries, return to Step 2 and confirm that the system proxy or system network channel is actually enabled. If the log shows requests but connections repeatedly fail, compare another server from the same subscription while keeping the proxy mode unchanged. If only specific domains behave unexpectedly, routing rules or DNS may be involved; do not change several parameters at once in a basic guide.
When a connection fails, record three details: the client name, the exact step where it failed, and the error keywords at the end of the log. “It won't connect” is not enough to distinguish a failed subscription update, a core that never started, an app that bypassed the proxy, or a server connection error. Continue with log-based diagnosis and advanced configuration in the advanced configuration guide.
Once the basic connection works, keep the current server, proxy mode, and subscription group as a fallback configuration. After that, change only one setting at a time and repeat the Step 4 verification method. If the result changes, this makes the cause easier to identify.