SUBSCRIPTION
Import the Subscription and Update the Server List
Open the client's subscription manager first. In the v2rayN desktop client, find “Subscription Groups” in the main window's top menu, then open “Subscription Group Settings” or an equivalent management item. Menu wording may vary slightly by version, but the goal is the same: open a window where you can add a group, enter an alias, and provide a subscription URL. In v2rayNG, open “Subscription Group Settings” from the upper-right menu, then tap the add button to create a subscription entry.
In the add window, enter an easy-to-recognize name as the note or alias, such as the service name or intended use. This name is only used for grouping inside the client and does not change the server configuration. Paste the complete URL you copied into the field labeled “Optional Address,” “Subscription URL,” or something similar. If the page includes options such as enable, auto-update, or user agent, keep their defaults for your first setup. Do not alter URL parameters unless the service specifically requires it.
After saving, the subscription entry only confirms that the URL has been stored; the server list may not have been downloaded yet. In v2rayN, return to the main window, open the “Subscription Groups” menu, and choose “Update All Subscriptions” or update the group you just created. In v2rayNG, return to the server list, open the upper-right menu, and choose “Update Subscription.” The update takes a few seconds. When it finishes, server entries for the group will appear.
A successful result is not just seeing one subscription name. The main list should contain several selectable server configurations. Entries usually use names supplied by the service, and the protocol may be VMess, VLESS, or Trojan. You do not need to edit the address, port, transport, or security settings individually because they were delivered by the subscription. Editing a field directly can break a configuration that was working as provided.
If the update fails, paste the subscription URL into a plain-text notes app and check whether it begins with a complete scheme and contains trailing spaces. Copy it again, replace the original URL, and retry the update. If it still fails, common causes include an expired link, temporary service unavailability, an incorrect device clock, or a network that cannot reach the subscription URL. For a fuller error classification and troubleshooting sequence, see the Common Issues page. For this guide, proceed once the server list appears.
Once the server list appears, subscription import is complete. The client has saved usable configurations, but it has not yet determined which network requests should use the proxy, and it has not started a connection. Choose a proxy mode first, then select a server and start the connection. This avoids a situation where the connection is active but system traffic is not being handled as expected.
ROUTING MODE
Choose Rule Mode or Global Mode
The proxy mode determines how the client handles network connections on the device; it is separate from the server protocol. The protocol describes how the client communicates with the server, while the proxy mode determines which app requests enter that connection. For a first setup, start with rule mode: the client separates direct and proxied connections according to its routing rules, usually balancing everyday access with access to target sites.
In the v2rayN desktop client, proxy scope is controlled by both “System Proxy” and “Routing.” First find the system proxy option in the main window or system tray menu and choose “Set System Proxy Automatically,” or the equivalent enable option in your version. Then open the routing settings and select the client's basic rule set. Some versions display rule mode under a historical name such as “Bypass LAN and mainland China,” while others use routing configuration names. If the service provides a routing configuration, follow its instructions first.
In the v2rayNG Android client, open “Settings” from the left or upper-right menu, then find “Routing Settings” or “Predefined Rules.” Leave the basic rules enabled. After connection, Android uses a system-created local channel to handle traffic from selected apps, so there is usually no separate “System Proxy” switch to find. If “Per-App Proxy” is available, leave it off for the first connection so all apps follow the same routing rules. Fine-tune it later if needed.
Global mode sends most traffic that can be handled through the current server. It is useful for temporarily ruling out routing problems. For example, if a page never uses the proxy in rule mode even though the server is known to work, switch briefly to global mode. If the page loads, the issue is likely in rule matching. If it still does not load, continue checking the server, subscription, or local network. Switch back to rule mode after testing.
Everyday Setup
Rule Mode
Handle connections according to routing rules. This is the recommended everyday mode after setup. There is no need to write complex rules yourself for a first connection.
Temporary Troubleshooting
Global Mode
Send more connections through the current server to determine whether an access problem comes from routing rules or the server connection.
Do not change DNS, routing rules, transport parameters, and the system proxy port at the same time during your first setup. Changing several variables at once makes the cause of a failure difficult to identify. For now, confirm that the client is using its basic rule mode and that the desktop client is ready to enable the system proxy. For domain, ip, geosite, geoip rules and routing fields across different cores, continue with the Technical Reference.
After choosing a mode, the client may still be disconnected. Next, select an active server from the list and use the client's start button to establish a connection. If there are many servers, begin with a clearly named standard entry recommended by the service. There is no need to run complex tests on every server during the first connection.
CONNECT
Set an Active Server and Connect
Return to the server list and choose an entry from the subscription group. In v2rayN, you can usually double-click a server, right-click and choose “Set as Active Server,” or select it and press Enter. After the switch, the active entry may show a color, check mark, or status-bar notice, and the system tray menu may display the current server name. Selecting a row is not always enough: if it has not been set as active, the client may continue using the previous configuration. Check the active-state indicator.
After confirming the active server, start the system proxy in v2rayN. If the main window status bar shows that the local port is running and the system tray icon changes state, the client core and system proxy entry have started. Some versions start the core automatically when the program opens, but the system proxy still needs to be enabled separately. An open program window does not necessarily mean browser traffic is using the proxy.
In v2rayNG, first tap a server entry; a selection marker will appear on its left or right. Then tap the circular connection button at the bottom of the main screen. The first time you connect, Android displays a network connection confirmation dialog. Confirm it and return to the client. The button and top status change with the connection state, and the system status area shows that a network channel is in use. If the button immediately returns to a disconnected state, open the log and look for the first clear error instead of tapping repeatedly.
Establishing a connection requires domain resolution, transport-layer negotiation, and protocol authentication. Normally, the status changes from starting to connected within a short time. A test result shown beside a server is useful for comparison but cannot by itself prove that the browser is using the connection. Some servers may not respond to a particular test even though web access works; the reverse can also happen while the system proxy remains disabled. An independent verification is still required.
If the desktop client displays a firewall access prompt, allow it to communicate on the network type currently in use. After access is denied, the core may start while some local connections are blocked by system policy. If you previously denied access, adjust it again in the system firewall's allowed-app list. Devices managed by a company or school may have additional network policies; confirm those restrictions with the device administrator.
Do not close the client process immediately after connecting. v2rayN can be minimized to the system tray. When closing the main window, check whether it exits the program or only hides the window; a full exit stops the local proxy port. In v2rayNG, keep the connection active. Aggressive battery-saving policies may stop the app in the background. Complete the next verification step before configuring background operation or auto-start.
VERIFY
Verify Browser Access and Client Logs
Once the connection status shows running, open a new browser window or tab instead of only refreshing a page that has been open since before the connection. Visit a familiar site that normally requires the current server connection and check whether it loads completely. A new window is more likely to create a fresh network connection, reducing false results caused by reused browser connections or cached content.
Then return to the client and inspect the log. v2rayN usually shows logs at the bottom of the main window or in a separate log window; in v2rayNG, open the log page from the menu. During normal access, new connection records should appear, potentially including the target domain, routing result, outbound identifier, or completion details. If the log continues to grow while the browser page loads, the subscription, active server, proxy mode, and system interception are working together as a complete chain.
If the client says it is connected but browser results do not change, first check that the system proxy is actually enabled on desktop. From the v2rayN system tray menu, choose “Set System Proxy Automatically” again, then fully close and reopen the browser. Also check that the browser does not have another independent proxy configuration enabled, as its own settings may override the system proxy. On Android, check that the connection button still shows running and that the target app has not been excluded from per-app proxy rules.
If no websites open, switch back to rule mode and choose another server first. Then find the earliest error in the log: domain resolution errors usually point to DNS or the current network; connection timeouts usually require another server or network; authentication failures often mean the subscription has changed and should be updated; certificate time errors call for checking the system date, time, and time zone. Do not focus only on the last repeated error, which may simply result from the earlier problem.
Server Is Active
The list shows a clear selection marker, and the server name in the status area matches the entry you just selected.
Proxy Handling Is Enabled
The system proxy is enabled on desktop, or the Android connection button remains running without immediately disconnecting.
A New Page Loads Normally
A newly opened browser page can reach the target site, and the client log shows the corresponding connection record.
Once these three checks pass, the current configuration can be considered effective. You can later enable automatic subscription updates, run the client at startup, or use per-app proxy rules based on your needs. Add only one setting at a time and verify the connection again. If server names change after an update, that is a common service-side list adjustment. As long as you can select an active server again and pass verification, there is no need to restore old entries manually.
When you need to determine the protocol type, understand differences between the Xray and V2Fly cores, assess mobile-device resource usage, or check subscription-format compatibility, see the Protocol and Core Technical Reference. Once the basic connection works, these concepts are easier to understand without interrupting the initial setup with too many technical fields.