For users who have imported a subscription or individual profile into v2rayN but are unsure whether the connection is actually working. Select a server and start the core first, run a real connection test, enable the system proxy, then confirm the result with browser requests, live traffic, and logs. If a step fails, troubleshoot that layer before changing servers, transport settings, and routing rules at the same time.
Select a server first, then establish a repeatable test baseline
A server appearing in the list only means that the subscription was parsed or the profile was added manually; it does not mean v2rayN is currently using it. Before the first verification, click the target server in the main list and press Enter, or use the context menu to set it as the active server. The active row usually has a color, check mark, or another selection indicator. The exact appearance varies across v2rayN 7.x point releases and themes, but the rule is always the same: the main interface must clearly show the current active server.
For the first test, do not enable complex routing, multiple subscription groups, or custom DNS at the same time. Keep one target server, use the default routing mode or one you can clearly explain, and close similar programs that are occupying local proxy ports. On Windows 11 24H2, also verify the system clock and time zone. VMess, TLS 1.3, and some connections that require time validation can be affected by significant clock drift.
-
Confirm the active server
Select a profile in the server list and press Enter. Then check the main interface or tray status to confirm that it is the active server, not merely the row highlighted by the mouse.
-
Check the core type
Open Settings → Parameters → Core Type and confirm that the current protocol is handled by a compatible Xray or V2Ray core. Restart the core after making changes before running the next test.
-
Record the local ports
In Parameters, note the local listening address and ports. Common examples are SOCKS at
127.0.0.1:10808and HTTP at127.0.0.1:10809; use the values currently shown in the interface for verification. -
Start the service
Start or restart the v2rayN core and watch the information area at the bottom. If you immediately see a port-in-use error, a configuration parsing failure, or the core exits, fix that error before testing the browser.
-
Save the test conditions
Record the test time, server name, network type, and routing mode. When you later switch servers, change only that one variable so you can tell whether the difference comes from the server or local settings.
What real connection, latency, and download tests actually tell you
The v2rayN context menu may offer latency, real connection latency, and download speed tests. A basic latency value reflects only one type of probe round-trip time. Some servers may time out because they do not respond to that probe even though proxy connections still work. Conversely, very low probe latency does not prove that VMess or VLESS identity details, the transport path, or TLS parameters have been validated.
Test Server Real Connection Latency is more useful for initial troubleshooting. It attempts to establish an actual outbound connection through the selected profile and reports how long the connection takes to complete. A result such as 186 ms or 420 ms at least shows that the core used this server to complete the target request during that test. If it repeatedly times out, check the server address, port, UUID, transport, security layer, and current network before changing browser settings.
| Test | What it mainly verifies | What it cannot prove on its own | What to record |
|---|---|---|---|
| Basic latency | Basic reachability and round-trip time to the target address | Protocol authentication, the TLS handshake, and successful proxy egress | Five consecutive results and the number of timeouts |
| Real connection latency | The core completing one actual connection through the server | That the system proxy is enabled or that every application is using it | Median, failure count, and test time |
| Download benchmark | Actual transfer capacity during the test | Long-term speed, peak-hour stability, or performance across all sites | Duration, transferred amount, and network type at the time |
A download benchmark generates real traffic, and its result is affected by the test target, server load, wireless quality, and local bandwidth. For a first verification, do not chase the highest number. Get three consecutive successful real connection tests first, then run one short download benchmark. If the results are 210 ms, 235 ms, and 890 ms, run two more rounds and use the median instead of choosing a server solely by its lowest value.
Records worth keeping
- Real connection
- 5 of 5 successful
- Median latency
- 228 ms
- Highest latency
- 341 ms
- Core status
- Remained running
These results show that the server is ready for system proxy testing, but they do not prove that the browser is using the proxy.
Results that require troubleshooting before continuing
- Real connection
- 1 of 5 successful
- Timeouts
- 4
- Core status
- Repeated exits
- Log message
- Connection refused
At this point, switching browsers or repeatedly toggling the system proxy is not useful. Check the server parameters, core compatibility, and network reachability first.
Enable the system proxy and verify real browser access
Only after the real connection test succeeds should you move to the Windows system proxy. Open the v2rayN tray menu and choose Auto Configure System Proxy; some versions also provide the same entry on the main interface. Then open Windows Settings → Network & Internet → Proxy and confirm that the manual proxy section shows the local address and port. Do not enter the remote server address in Windows. It should point to the local listener provided by v2rayN.
If Parameters shows HTTP port 10809, Windows Proxy will usually show the loopback address 127.0.0.1 and port 10809. If the current version provides a mixed port, verify the actual listening port shown in the interface. Port numbers are not universal; after changing the base ports, update both the system proxy and any manually configured applications.
Recommended approach: separate core tests from application tests
Layer 1: inside v2rayN
- The active server matches the intended server
- The real connection test succeeds 3 to 5 times in a row
- The core remains stable for at least 2 minutes after startup
- The logs show no configuration parsing or port-in-use errors
Layer 2: Windows applications
- The system proxy points to the local listening port
- Fully exit and reopen the browser
- Open two HTTPS pages consecutively
- The logs show browser-initiated connections to port 443 at the same time
If Layer 1 succeeds but Layer 2 fails, the server is usually usable and the problem is in the system proxy, browser proxy policy, or local port—not the remote protocol parameters.
When testing the browser, fully close all windows and start it again to avoid interference from old connections and cached content. Open two HTTPS pages that normally load reliably and refresh each three times while watching v2rayN upload/download traffic and connection logs. A page loading successfully, traffic counters changing, and a log entry showing a connection to the target domain on port 443 must all occur together to provide stronger evidence than a single page result.
- The page loads but the logs show no new connection: The page may have come from cache, or the browser may not follow the Windows system proxy. Use a new private window and retest with a page you have not opened before.
- The logs show a connection but the page keeps loading: Check outbound errors, DNS results, and routing matches in the logs. Confirm that the request was not incorrectly sent through a direct or blocking rule.
- One browser works while another fails: Check the failing browser's own proxy settings, extensions, and enterprise policies first. Do not change the server immediately.
- The same page still loads after closing v2rayN: The page may not require a proxy, so it cannot prove that the system proxy is working. Choose a test target that clearly distinguishes the network path.
Use logs to isolate port, DNS, protocol, and routing issues
The purpose of the logs is not to find a vague “connection successful” message. It is to confirm that the request passed through the local listener, routing decision, and remote outbound connection in sequence. During initial troubleshooting, keep the log window visible, clear old entries, and refresh the browser once. A few dozen focused lines are easier to interpret than a long log mixed with subscription updates, benchmarks, and requests from multiple applications.
The following is a structured illustration; not every Xray or V2Ray core outputs exactly the same English text. The key fields are whether the local request was accepted, whether the target is the domain just visited on port 443, whether the final path uses proxy or direct egress, and whether the error occurred during resolution, the handshake, or the remote connection.
127.0.0.1:53124 accepted tcp:example.com:443 [proxy]
dns: resolved example.com
outbound: proxy connection established
traffic: uplink 6.8 KB, downlink 42.3 KB
If you see no similar accepted entry at all, the request has not reached v2rayN. Check the system proxy port, whether the browser was restarted, and local firewall rules. If the log shows address already in use, 10808 or 10809 is usually occupied by another process. Close the conflicting program, or choose an unused port under Settings → Parameters, then configure the system proxy again.
Local listener checks
- Listening address
- 127.0.0.1
- SOCKS example
- 10808
- HTTP example
- 10809
- Observation window
- 10 seconds after refresh
Example ports only illustrate the checking method. Use the current parameter settings and startup logs as the source of truth.
Remote outbound checks
- Target port
- HTTPS is usually 443
- Connection path
- proxy outbound
- Handshake version
- TLS 1.2 or TLS 1.3
- Observe continuously
- At least 3 requests
If the request reaches the local listener but the remote handshake fails, recheck the address, port, transport, and security parameters in the subscription.
DNS problems often appear as successful connections to an IP address but failed domain access, or repeated resolution timeouts in the logs. Temporarily use v2rayN's current default DNS configuration, remove recently added custom servers and complex routing rules, and test the same domain again. Only after the default setup works should you add custom DNS, domain rules, and GeoSite categories one at a time. This makes it possible to identify which layer changes the result.
For routing problems, check which outbound the request ultimately matches. The server's real connection test may succeed while a browser request is sent to direct or block by a rule, producing an unexpected page result. First retest with a simple, explainable routing mode. Once proxy egress works, restore custom rules and check the domain, IP, port, and inbound-tag conditions one by one.
The most common mistakes when making a first connection
During first-time setup, the most common mistake is not a completely incorrect parameter but mixing success signals from different layers. A successful subscription update only means the subscription URL could be read; a successful import only means the content could be parsed; a successful real connection test only means the core completed that test request; enabling the system proxy merely gives applications that follow Windows settings a local proxy entry point.
Why can the real connection test succeed while the page still will not load?
First choose Auto Configure System Proxy from the tray menu, then open Windows Settings → Network & Internet → Proxy and verify the address and port. Fully exit and reopen the browser, and watch whether a new connection to port 443 appears in the logs when the page is refreshed.
Does a negative or timed-out latency result mean the server has failed?
Not necessarily. The basic probe may be ignored by the target. Use Test Server Real Connection Latency and run it 3 to 5 times. If every real connection also times out, check the server address, port, protocol parameters, system clock, and current network.
Will every program use the proxy after the system proxy is enabled?
No. The system proxy mainly affects applications that follow Windows proxy settings. Applications with their own proxy settings, direct connections, or independent network stacks must be configured internally with 127.0.0.1 and the current SOCKS or HTTP port.
Why do I still see results from the old server after switching servers?
Confirm that the new server is set as the active server rather than merely highlighted in the list, then restart the core. Clear the logs, run the test again, and check whether the server address and outbound configuration loaded in the new logs have changed.
What should I do if the benchmark is fast but browsing frequently stalls?
A benchmark describes only short bursts of high-volume transfer. Open two HTTPS pages five times each and record failures, first-request wait time, and reconnects in the logs. If only specific domains fail, check DNS and routing matches.
Another common situation is changing too many variables at once: switching servers, changing the core type, rewriting DNS, changing routing, and adjusting local ports, then looking only at whether the final page loads. Even if the result improves, you cannot tell which change helped; if it gets worse, rolling back is harder. Keep a copy of the original configuration, change one item at a time, and complete three identical tests before continuing.
Complete first-connection acceptance across four layers
A complete first-connection check can be reduced to four layers: the configuration layer confirms the active server and core compatibility; the connection layer confirms stable real connection tests; the takeover layer confirms that the Windows system proxy points to the local listener; and the application layer confirms that browser requests appear in the logs and use proxy egress. Verification is complete only when every layer has specific supporting evidence.
- Configuration layer: The active server name matches the planned test server, the Core Type can handle the current VMess or VLESS profile, and startup produces no configuration parsing error.
- Connection layer: Run the real connection test five times in a row and record at least the success count and median latency. If more than two attempts fail, stop and check the server and network first.
- Takeover layer: The Windows system proxy points to
127.0.0.1and v2rayN's current HTTP or mixed port, and the port is not occupied by another program. - Application layer: After restarting the browser, open two HTTPS pages. The logs should show requests to the corresponding domains on port 443, traffic counters should change, and the pages should load reliably.
After completing these checks, consider subscription auto-updates, complex routing, per-application proxies, or DNS changes. A repeatable baseline configuration is easier to maintain than enabling every advanced option at once. If only one application fails later, troubleshoot from the application layer toward the local listener without reopening questions about a server protocol that has already passed verification.