v2rayN Main Window Guide: Server List, Subscription Groups, Logs, and Settings

Learn your way around v2rayN: server list context menus, subscription tabs, log messages, and key settings. A quick guide to the main window for new users.

At a glance

The server list is where you choose a node, subscription groups organize node sources, logs show what is happening, and settings control global options such as local listeners and cores. This guide is for users who have opened v2rayN but are still figuring out what each area does. Follow the steps to import a node, activate it, route app traffic through the client, and verify the results in the logs. A node appearing in the list alone does not mean the connection works.

Main Window Sections: Nodes, Traffic Entry, and Runtime Status

Check three places first: the active server in the list, the system proxy status at the bottom of the window, and the core startup result in the logs. Each answers a different question. Selecting a row only selects it for an action; it does not necessarily make that server active. Seeing a node name does not mean your browser is using the local proxy.

Menu paths in this guide follow the common labels in the classic Windows WPF interface, mainly in versions 6.x and 7.x. Cross-platform desktop builds may move buttons or change section names and settings layouts. Check your version under Help → About, then look for the feature by name. If an option is missing, don't guess based on where it appears in another version.

SectionTypical locationWhat it doesWhat it cannot confirm on its own
Server listCenter of the main windowSelect, edit, and test nodesSelecting a row does not activate it
Subscription groupsTop menu and tabs above the listSave sources, update subscriptions, and filter nodesA successful update does not mean a node can connect
Logs or information panelInformation panel at the bottom of the windowReview startup, request, and error recordsA single connection record does not confirm a webpage loaded fully
SettingsSettings → ParametersManage local ports, logs, and core mappingsSaving a setting does not mean it has taken effect

Server List: Context Menu and Active Server

Address, Port, Protocol, and Transport Protocol describe the remote node; Alias helps you identify it. Two rows with the same address may use different ports, identity fields, or transports, so don't assume they're duplicates based on their names alone. A latency result is a one-time test, not continuous monitoring or a measure of download speed.

  1. Check the target row

    Find the node in the center of the main window. Check its Alias, Protocol, Address, and subscription group. Verify addresses, UUIDs, passwords, and other sensitive details locally, and redact them from screenshots.

  2. Set it as active

    Right-click the target row and choose Set as active server. Check the active marker and the information panel below. Don't rely on the selected-row highlight alone to confirm activation.

  3. Test the connection

    In the server list context menu, choose Test server real connection latency. Results depend on the core, test address, and network conditions. A value only confirms that this test request completed.

  4. Review node settings

    To check a configuration, double-click the node to open its editor. Review the address, port, transport, and TLS fields. Don't guess values for TLS, SNI, or the transport path without confirming what the server requires.

Remove in the context menu usually deletes the selected local entry; it does not cancel a remote account. Nodes provided by a subscription may reappear at the next update, and manually edited fields may be overwritten. To keep changes, use the client's copy or export feature to save a separate copy, then edit that instead of changing a subscription-managed entry.

Subscription Groups: Source Settings vs. Filtering Tabs

Subscription group settings store subscription URLs; group tabs filter which nodes are currently shown. Clicking a tab does not update the subscription or necessarily switch the active node. If the list suddenly looks empty, switch to All and clear the search first, then check whether the import actually failed.

Subscription update successful and website loads are separate steps: downloading a configuration and using it. If the update succeeds but browsing fails, check the active node, system proxy, and logs instead of repeatedly updating. Conversely, an existing node may still work even if the subscription server is temporarily unreachable.

Log Window: Find the First Error After the Action

Start by matching log timestamps to your actions. Note when you switch nodes or open a webpage, then check the startup, listener, and request entries that follow. The information panel may show both client notifications and core output. For more detailed core logs, go to Settings → Parameters → Core Basic Settings and look for Log Level. Temporarily increase it, reload the core, and reproduce the issue.

Common log snippetsWhat to check firstNext step
address already in useListener address or port is already in useCheck for another running client instance, then verify the local listener port
connection refusedConnection to the target port was explicitly refusedCheck the target address in the error and distinguish the local proxy port from the remote node port
i/o timeoutA step timed outUse surrounding log entries to pinpoint DNS, the remote connection, or the test address
x509Certificate verification issueCheck the system date and time, certificate hostname, and TLS settings

These are error keywords, not a set of real-world log entries. A timeout can occur at several stages; it does not automatically mean the node is dead. If a browser request has no matching log entry, don't conclude that nothing happened based on an empty log alone. First check whether the log level records requests, then verify that the app uses the system proxy and isn't routed directly.

Enable detailed logging only while reproducing the issue. Restore the usual level afterward to avoid logs growing indefinitely or retaining unnecessary browsing details. Before sharing logs, remove subscription URLs, identity fields, remote server addresses, and personal domain names. Keep only the context needed to diagnose the problem.

Settings: Keep Local Listener Ports Separate from Remote Ports

Local listener ports are where apps connect to v2rayN; the port in a server's editor is the destination port the core uses to connect to the remote node. They do not need to match. The examples below show the classic two-port layout as a reference, not a default for every version. Some newer versions use a mixed port, so check the current settings page and actual listener.

10808
Example local SOCKS listener port
10809
Example local HTTP listener port

Check local entry points

Where to find it
Settings → Parameters → Core Basic Settings
Listen address
Example for local access: 127.0.0.1
SOCKS port
Example value: 10808
HTTP port
Classic two-port example: 10809

After changing a port, reload the core and update any apps where you entered the proxy address manually. Don't apply the second port to a mixed-port setup.

Check the Core and Interface

Core mapping
Settings → Parameters → Core Type Settings
What to check
The core type that supports the current node protocol
Log level
Log options under Core Basic Settings
Interface behavior
Startup, tray, and other options under v2rayN Settings

Different desktop versions may put these options on separate pages. Look them up by name, and don't confuse interface settings with node settings.

Switching core types is not a general fix. VMess and VLESS are protocol names; Xray and V2Fly are core projects; v2rayN is a management interface. Whether a configuration works depends on whether the current core supports its protocol and specific transport and security fields. For example, a VLESS configuration with REALITY cannot be treated like a standard VLESS configuration. Changing the core type alone won't fill in missing fields.

Allow connections from the LAN expands access to the local entry point; it is not a speed boost. If you're using the client on this computer only, you don't need to enable it for troubleshooting. If other devices need access, also check the listen address, access controls, and system firewall so you don't expose the proxy to devices you don't trust.

System Proxy and TUN: Choose How Apps Route Traffic

The active server determines which node traffic exits through. System proxy and TUN determine which app traffic enters the client in the first place. In the classic Windows interface, System Proxy is usually at the bottom of the window or in the tray context menu. Common options include Set system proxy, Clear system proxy, and Do not change system proxy. They do different things.

Start with the system proxy

Recommended

First choose Set system proxy, then test the basic connection in a browser that respects system proxy settings. This does not force every app to use the proxy, nor does it guarantee every request exits through the remote node; routing rules still decide the route after traffic reaches the core.

Best for: First-time setup, browser testing, and narrowing down the cause of an issue.

Set a proxy in the app

Enter the local address and the matching HTTP or SOCKS port in the app's network settings. This is useful for testing an app that doesn't use the system proxy. The port must match the current listener settings.

Best for: Apps with their own proxy settings, or routing only selected apps through the proxy.

Route traffic through TUN

TUN receives traffic through a virtual network adapter and usually involves permissions, routing, and DNS handling. The option's location and implementation vary by version. Test it separately after confirming that the standard proxy works.

Best for: Apps that ignore the system proxy, and setups that need more control over traffic routing.

Common Main Window Issues: Start with the Relevant Section

The node is selected, but why won't my browser load anything?

First, right-click the node and choose Set as active server. Then choose Set system proxy under System Proxy at the bottom of the window. Open a webpage and check for matching activity in the logs. If the browser has its own proxy settings or an extension, check whether it overrides the system settings. Don't rely on the selected-row highlight alone.

The subscription update succeeded, but the list is empty. Why?

Switch to the All group above the list and clear the search term. Then check the information panel to see whether the download succeeded but parsing failed. Go to Subscription Groups → Subscription Group Settings and verify the URL; make sure you didn't copy a website login address. A page opening in your browser does not mean its contents are a subscription the client can parse.

The logs say a port is in use. Should I delete the node?

Don't delete the node yet. Check the system tray and Task Manager for a second client instance, then go to Settings → Parameters and verify the local listener port. If you need to change it, reload the core and update the port in any apps where you set the proxy manually. Don't change the remote node port.

My settings had no effect. Do I need to reinstall?

Save your settings, then reload the core using the option available in your version, or exit normally and restart the client. Check the new startup logs. Some options don't take effect until the running core is restarted. If the issue remains, save the redacted error details and version number first; repeated reinstalls can erase useful evidence.

First-Time Setup Checklist: Verify the Full Path from Group to Webpage

A complete end-to-end test is more useful than turning on every option. Success isn't a longer node list or a latency value. It means the source is correct, the active node is clear, the local entry point is running, the target app is using it, and a real request gets the expected result.

  1. Check the source under Subscription Group Settings and update the current subscription once. Note the result instead of clicking repeatedly.
  2. Return to the server list, right-click the target node, and set it as active. Check the information panel for core startup errors.
  3. Verify the local listener port. For the first test, use either the system proxy or the app's manual proxy setting—not both.
  4. Open a webpage and check the logs around that time. If comparing nodes, switch only one node and leave the other conditions unchanged.
  5. Once everything works, configure routing and TUN as needed, and save a backup of essential settings. For more troubleshooting, see the Usage Guide and FAQ.

The main window's roles should now be clear: check the server list for node issues, subscription groups for source issues, logs for runtime issues, and settings for global entry points and core behavior. Identify the relevant section first, then change one setting at a time. This reduces mistakes and makes before-and-after comparisons easier.

Download v2rayNSee platform and installation options