v2rayN Main Window Guide

Explore the v2rayN interface: understand server list columns, manage subscription groups, read logs, and configure essential settings.

At a glance

For anyone who has opened v2rayN but isn't sure how selecting a server differs from enabling the proxy. Work through the server list, subscription groups, runtime logs, and settings, then verify the full flow from importing a subscription to browsing the web. The menus follow the common layout in v2rayN 7.x for Windows in Chinese; desktop and WPF versions may place options differently or use different names. Use the port shown in your client.

Four states to distinguish in the main window

v2rayN is a client management interface that stores server details, generates runtime configuration, and launches the core. Seeing the main window only confirms that the interface is running. Whether the core has started, which server is active, and whether your browser is sending requests to the local proxy are separate questions. Troubleshooting is more effective when you check each state independently instead of repeatedly switching servers.

Main window: separate configuration from runtime status

Configuration controls
  • Server list: Check protocols, addresses, ports, and test results.
  • Subscription groups: Filter the list by source and manage subscription URLs.
  • Settings: Adjust options such as local listeners and log levels.
Runtime status
  • Active server indicator: Check which server is actually enabled, not just selected with the mouse.
  • System proxy and routing: Check how requests enter the client and where they are routed.
  • Log window: Check core startup results and request errors.

Check the server list, core status, and system proxy separately. None of these alone tells you whether everything is working.

For your first test, leave Tun off and check just one server with the system proxy. This narrows troubleshooting to the local listener, server connection, and browser settings, without adding virtual network adapters, permissions, or route interception to the mix.

Server list: column meanings and how to activate a server

Clicking a row usually only selects it so you can edit, test, or delete it. To change the server in use, right-click the entry and choose “Set as active server.” In interfaces that support it, you can also double-click to activate a server. After switching, check whether the active indicator and logs change; don't rely on the row's highlight color alone.

ColumnMeaningWhat to look for
Remarks or aliasA display name that helps identify the entryLocation and multiplier in the name are descriptions provided by the source; they don't verify the actual exit location or speed.
Type or protocolFor example, VMess or VLESSThis is the connection protocol, not the system proxy mode or a speed rating.
Address and portThe remote server's domain name or IP address and service portRemote port 443 and local listening port 10808 serve different purposes and can't be used interchangeably.
Transport and TLSFor example, WebSocket or gRPC, plus connection security settingsThese must match the server configuration; don't change them at random just to test the connection.
LatencyThe time taken for one test, usually shown in millisecondsCheck which test was run: a TCP connection test and a real connection test measure different things.
SpeedThroughput measured by a download testResults depend on the test URL, timing, and local network. The test itself also uses data.
Subscription groupThe source group that the configuration belongs toUsed to filter and update entries in bulk; it doesn't automatically allocate traffic by group.

For example, a result of 80 ms describes one test, not the response time for every website. A successful TCP test means a connection to the target port was established; it doesn't confirm that the UUID, TLS, and transport path are all configured correctly. A real connection test is closer to actual use, but it can still time out if the test URL is unreachable.

Subscription groups: create a group, then update the list

A subscription URL is a source for server configurations, not a regular webpage URL or a single VMess or VLESS share link. “Import share link” and “Add subscription URL” do different jobs: the first imports a specific configuration, while the second saves a source you can refresh later. Subscription URLs often contain access credentials, so don't include them in screenshots or public logs.

  1. Open group settings

    In the main window, go to “Subscription groups” → “Subscription group settings” and choose “Add.” If your version has a “+” next to the groups, you can use that to create one instead.

  2. Enter the source details

    Enter an easy-to-recognize alias, such as “Daily servers,” paste the full subscription URL into “Optional address (Url)” or the corresponding subscription URL field, and save.

  3. Update the subscription

    From the “Subscription groups” menu, choose “Update all subscriptions (without proxy).” If the source requires a proxy, activate a working server first, then choose “Update all subscriptions (through proxy).”

  4. Check the results

    Review the update notification, then switch to the group you just created and check the server list. Test a server's connection, then set it as active.

Switching groups mainly filters the list; it doesn't switch the active server. After moving to another group, the server currently in use may still belong to the previous group. To change servers, explicitly activate one. Updating a subscription refreshes entries from its source and may replace existing ones, so save any important manual configurations separately.

Log window: find the first error by timestamp

The log window is usually at the bottom of the main window and shows interface notifications and core messages. When troubleshooting, note the time, perform a single action such as switching servers or opening a webpage, then check only the new entries around that time. Old errors don't disappear when you change servers, so don't mistake an error from hours ago for the current result.

Log messageWhat to check firstNext step
address already in useThe local listening port may already be in useCheck whether two client instances are running. If you change the local port, update any apps where you've configured the proxy manually.
connection refusedThe target refused the connectionCheck the target address first: 127.0.0.1 points to the local listener; for a remote address, check the server port and service status.
i/o timeoutConnection or read/write operation timed outCheck the target in the same log entry to determine whether the timeout occurred while connecting to the server, resolving DNS, or accessing the website.
x509Certificate verification failedFirst sync your system date and time, then check that the TLS domain name, SNI, and certificate in the server configuration match.
failed to load configFailed to load runtime configurationCheck the adjacent message for a field, file, or line number, then review recent changes. Don't assume the server is unavailable.

The target address and outbound tag in a log entry matter too. A request reaching the core doesn't mean it went through the proxy; a direct routing rule may have matched instead. Conversely, no access log doesn't necessarily mean the browser sent no request—the current log level may not record that kind of event.

Settings: local ports, system proxy, and Tun

Open the settings window via “Settings” → “Parameters.” Start with pages such as “Core basic settings” and “v2rayN settings.” Labels may move between versions, so look for the setting name instead of relying on screenshots from another version. Save your changes as prompted, then check whether the core has restarted.

Check the local listener

Example address
127.0.0.1, accessible from this device only
Example port
10808; use the value shown in your settings
Listening protocol
Check whether the listener uses SOCKS, HTTP, or a mixed mode
LAN connections
Leave LAN access disabled unless another device needs to connect

Older versions may use 10808 and 10809 separately, while newer versions may use a mixed listener. The protocol and port configured in an app must match the actual listener.

Everyday settings

Log level
Use warning for everyday use; switch to info or debug when needed for troubleshooting
System proxy
Select “Automatically configure system proxy” to test access in a regular browser
Tun mode
Leave it off during initial troubleshooting; enable it only when you need to route other traffic through the client
Start on boot
Enable it if needed after manual startup and connection tests are successful

Access logs depend on the log level and core. Enabling the system proxy also doesn't make every app use the proxy.

The system proxy and routing mode operate at different levels. “Automatically configure system proxy” tells apps that follow the system proxy settings to send requests to the local listener. Routing rules then decide whether those requests go direct, through the proxy, or are blocked. Setting the system proxy doesn't send all traffic through the proxy, and choosing global proxy routing doesn't capture traffic from every program.

Tun uses a virtual network interface to capture more traffic and requires the appropriate permissions and network support. If Windows prompts for permission, follow the client instructions, but don't treat “Run as administrator” as a fix for every error. A stopped core, invalid subscription parameters, and a local port conflict each need to be addressed separately.

Test a connection from the main window

Check in this order: “configuration imported → active server selected → core started successfully → request reaches the local listener → routing selects the expected outbound.” Change one setting at a time and test the same known-working page each time to see whether the change helped. These common scenarios often trip up new users.

There are lots of servers in the list. Why can't I access the internet?

Right-click an entry and choose “Set as active server,” then check the logs for startup errors. Next, set the system proxy to “Automatically configure system proxy” from the main window or tray menu and test with a browser that follows the system proxy settings. Entries in the list only mean the configurations have been saved.

I switched subscription groups. Why hasn't my exit changed?

Switching groups only filters the list. Activate a server in the target group, check the active indicator, and start a new browser connection. Existing long-lived connections may not move immediately; close and reopen the test page if needed.

The latency test succeeded, but the browser is still loading. Why?

Check whether you ran a TCP connection test or a real connection test, then confirm whether the browser uses a separate proxy extension or a manually configured port. For example, 127.0.0.1:10808 works only if a listener using the matching protocol is actually running. Also check the logs for TLS or timeout errors.

Can't open webpages in the browser after closing the client?

Restart the client, choose “Clear system proxy” from the system proxy menu, then exit normally. If the client won't start, go to Windows “Settings” → “Network & Internet” → “Proxy” and check for a manual proxy pointing to 127.0.0.1 or an outdated automatic configuration script.

Once the checks pass, keep the verified port, routing, and log settings, then enable options such as start on boot, automatic subscription updates, or Tun one at a time. For help importing subscriptions and configuring the proxy, follow the setup tutorial. If startup fails, save the first relevant error from the logs before consulting the troubleshooting guide.

Client downloads