This guide is for users who have opened v2rayN but aren’t yet sure how selecting a server differs from making it active or configuring the system proxy. It focuses on Windows desktop use and covers the server list, groups, logs, settings, and tray menu. By the end, you’ll know how to update a subscription, switch active servers, and perform basic troubleshooting. Menu labels may vary slightly between versions, so look for the matching function rather than relying on its location.
Understand the four types of status in the main window
v2rayN is a desktop client for managing server profiles, generating core configurations, and accessing features such as the system proxy. A server appearing in the list only means its profile has been imported. Check separately whether the core started successfully and whether your browser is using the proxy. A listed profile, a test result, and a successfully loaded webpage are three different things.
| Area | What it’s for | What it doesn’t tell you |
|---|---|---|
| Server list | View, edit, test, and select servers | Selecting a row doesn’t switch your active connection |
| Subscription groups | Filter profiles by source and update subscriptions | Switching groups doesn’t change the active server |
| Log panel | Check core startup, connections, and errors | A connection entry doesn’t guarantee the request completed successfully |
| System proxy and routing | Control how apps enter the proxy and how traffic is routed afterward | Enabling the system proxy doesn’t route every app through it |
For initial troubleshooting, work through these steps in order: server profile → active server → core startup → app connection → routing. Change one thing at a time and keep the logs from before and after each change. Resetting subscriptions, ports, and routing all at once can make it harder to identify what was already working.
Server list: selection, activation, and testing
The remarks column helps identify servers; the address and port connect to the remote service; and the protocol column indicates the configuration type. VMess and VLESS are proxy protocols, not connection-quality ratings. TLS, transport, and related settings must match the server. You can edit a remark, but don’t infer the address, port, or credentials from its name.
Clicking a row usually just selects it for actions such as opening the context menu. To switch connections, right-click the target row and choose “Set as active server.” Then check whether the active indicator and logs change. Indicators vary by version, so don’t judge by row highlighting alone. Before testing or deleting multiple entries, check which records are selected.
- Edit server: Review the address, port, user ID, transport, and security settings. For subscription-sourced profiles, fix the source first; local edits may be overwritten at the next update.
- Set as active server: Choose the server for everyday connections. If you use additional features such as load balancing, check their egress selection separately. This guide covers a single active server.
- Test server: Check what the test measures. A TCP connection test measures only the time needed to establish a connection. A real-connection test is closer to an actual proxy request, but still can’t guarantee that every site or app will work.
- Share or export: These actions may include full credentials. Treat share links, QR codes, and configuration files as sensitive information; don’t post them in public forums.
Subscription groups: update profiles, then choose an active server
Subscription groups organize profile sources. You can have multiple groups in one window; switching groups mainly changes which servers are shown. It doesn’t automatically activate the first server in the group. If expected entries are missing after an update, check the selected group and update results before importing again.
-
Open group settings
In the main window, go to “Subscription groups” → “Subscription group settings.” When creating a group, enter a recognizable remark, then paste the full subscription URL into the address field. Don’t mistake a single-server share link for a subscription URL.
-
Save and update
After saving the group, open the “Subscription groups” menu and choose “Update current subscription” or “Update all subscriptions.” Some versions offer separate options to update “without proxy” or “through proxy.” Choose based on what your current network can reach.
-
Check the list
Switch to the target group and check that its server profiles appear. If the update fails, review the error first. A timeout and a parsing error occur at different stages; clicking update repeatedly won’t fix an invalid URL or an unexpected response.
-
Activate a server
Right-click the target profile and choose “Set as active server,” then check the logs. Once the core starts successfully, enable the system proxy and make a browser request to verify the full process, from importing a profile to using it.
“Update through proxy” requires a working proxy connection. It may fail if there are no usable servers in the list or the core hasn’t started. Conversely, updating without a proxy may time out if the subscription URL isn’t directly reachable from your current network. Choose based on how the URL can be reached, not on the assumption that one option is always better.
Log panel: find the failure stage from the first error
Check the log panel at the bottom of the window right after switching servers. Note the time of the action, then look for startup messages or errors around that time. Client operation logs and core output serve different purposes: the former may show subscription request results, while the latter is better for checking listeners, connections, and routing. If the log area is collapsed, expand it and repeat the failed action.
| Log entry | Check first | Next step |
|---|---|---|
address already in use | Local listening port conflict | Check for duplicate client instances or another app using the same port |
connection refused | Target address and port in the connection log | Determine whether the local proxy listener or the remote server refused the connection |
i/o timeout | Whether the timeout occurred during DNS resolution, connection, or reading | Keep the surrounding log lines and check the network and remote port; don’t assume the subscription is invalid |
Errors related to certificate | System time, service name, and certificate configuration | Check the TLS settings; don’t treat skipping certificate verification as a general fix |
Inbound and outbound labels in connection logs help explain the traffic path, but their names depend on the configuration. A direct connection isn’t necessarily a problem; it may be the expected result of a routing rule. Likewise, a logged request being accepted doesn’t mean the remote response was successfully returned. Check the inbound entry, selected outbound, and any subsequent errors together.
- Reproduce the issue once first, so you don’t have to guess which entry in a long history matches the current action.
- If you temporarily increase log verbosity, note the original setting and restore it after troubleshooting to avoid excessive logs.
- Before sharing logs, redact subscription URLs, credentials, and sensitive domains. Keep timestamps, error types, and the connection-stage details needed for troubleshooting.
Settings: check ports, core, and routing separately
In the main window, go to “Settings” → “Parameter settings” to review important client behavior. Start with the local listening address and port, then check that the selected core supports the server’s protocol. Core selection isn’t simply a speed setting: the core must support the profile’s protocol, security, and transport combination. Page names may vary by version; read the field descriptions before making changes.
The examples below illustrate local connection settings; they don’t claim to be defaults for every version. If your interface shows only one mixed listening port, use that field and check what the core actually listens on. Don’t add another port just to match these two examples.
For example, if an app is set to use SOCKS at 127.0.0.1:10808, a compatible local listener must be available on that port. An HTTP proxy address must point to a listener that supports HTTP. The remote server port is a separate setting and can’t replace the local proxy port. For local use only, keep the listener bound to the loopback address when possible. Allowing LAN connections expands access and requires careful firewall and access-control settings.
- Local listener: Check the listening address, port, and supported proxy protocols. If you change the port, update any apps configured to use the proxy manually.
- Core selection: If parameter settings include an option such as “Core type,” choose a core that supports the server configuration. If the connection works, don’t change both the core and transport settings just to experiment.
- Routing settings: Go to “Settings” → “Routing settings” to review the rules and active routing configuration. The system proxy sends app traffic to the local listener; routing rules decide which outbound handles it afterward.
- Configuration fields: To learn more about
inbounds,outbounds, androuting, see the configuration field reference on this site. Don’t assume a client UI option maps directly to a single core field.
Tray menu: system proxy modes and exiting
The v2rayN tray menu in the Windows notification area provides quick access to the main window, system proxy modes, and the exit command. Closing the main window may leave the client running, depending on its window behavior settings. Check the tray icon and process status rather than relying on whether a window is visible in the taskbar.
Auto-configure system proxy
RecommendedFor everyday use, connect apps that follow Windows system proxy settings to the local proxy. Before enabling it, confirm that the active server and core are working. This won’t force every app to use the proxy or choose a routing outbound for each destination.
Best for: first-time setup and browsers that follow system proxy settings
Clear system proxy
Remove the system proxy settings managed by this action, making it easier to restore direct access or troubleshoot proxy issues. This doesn’t delete servers or necessarily stop the core. Apps with a manually configured proxy may still use the local listener.
Best for: pausing the system proxy or restoring network settings before exiting
Keep system proxy unchanged
Leave the system proxy in its current state instead of setting a new connection method. This doesn’t mean the proxy is off: existing system settings may still be in place. After switching, check the actual status in Windows proxy settings.
Best for: users whose system proxy is managed by another configuration
Before stopping completely, clear the system proxy from the tray menu, then choose “Exit.” If a crash leaves webpages unable to load, check for a leftover manual proxy address in Windows “Settings” → “Network & Internet” → “Proxy.” Before restoring settings, confirm they aren’t managed by your workplace network or another required configuration; don’t clear every network setting.
Common main window questions and troubleshooting steps
Why can’t I open webpages when a server is listed?
Right-click the target row and choose “Set as active server.” Check the logs to confirm it started, then check the system proxy status in the tray menu. If your browser has its own proxy settings, make sure they point to the current listening address and port. A profile in the list only means it was imported.
Why does traffic still use the old outbound after switching subscription groups?
Switching groups mainly filters the list; it doesn’t activate a server. Select a profile in the new group and set it as the active server, then test with a new connection. Existing long-lived connections may keep using their original route, so refreshing a page that reuses a connection may not tell you whether the change worked.
The log says a port is in use. Should I switch servers?
Resolve the local listener conflict first. Check whether two client instances are running or another app is using the same port. If needed, change the local listening port under “Settings” → “Parameter settings” and update any apps configured to use the proxy manually. Switching remote servers won’t fix a local port conflict.
Why is the proxy still working after I close the main window?
The close button may only hide the window. Check for the v2rayN icon in the notification area, then right-click it to reopen the main window or choose “Exit.” To stop system proxy connections, choose “Clear system proxy” before exiting so apps don’t keep trying to connect to a stopped local listener.
A complete check should answer four questions: Which server is active? Where is the local listener? How does the app connect? Which outbound does the current route use? Checking these one by one is more effective than repeatedly importing subscriptions or changing settings at random. For a first-time setup, follow the quick start guide in order.