For desktop users who have imported a subscription but aren’t sure what to do next. Find working servers with real connection tests, set an active server, enable the system proxy, then verify the route with a browser and core logs. This guide uses v2rayN on Windows and explains why TCPing alone doesn’t prove a server is usable, with a troubleshooting sequence covering ports, proxy settings, and common errors.
1. After importing a subscription, check your servers and core status
A populated server list only means the subscription was parsed. It doesn’t mean the core is running or that your browser is using the proxy. The subscription provides server addresses, ports, protocols, and authentication parameters. v2rayN manages these settings and starts the core that handles connections. Keep these roles separate to make troubleshooting easier.
For your first test, leave TUN off and don’t run another proxy or tunneling tool at the same time. Keep the route simple: local proxy → system proxy → browser. Menus may vary across desktop builds; this guide uses common Chinese menu labels. If you see an equivalent option such as “Test server real connection latency,” choose it based on its function.
-
Check the subscription group
Switch to the newly imported subscription group in the main window. To refresh it, choose “Update current subscription (without proxy)” from “Subscription groups.” If you already have a working proxy and a direct update fails, use the corresponding option to update through the proxy. Don’t add the same group repeatedly.
-
Check the configuration
Right-click a server and select “Edit server” to check that its address, port, protocol, and transport settings are complete. Authentication fields for protocols such as VMess and VLESS aren’t interchangeable. Leave subscription-provided TLS, SNI, transport paths, and REALITY parameters as they are; don’t fill them in based on guesswork.
-
Check that the core starts
Check the main window log for repeated startup failures, configuration parsing errors, or port conflicts. Fix any errors first. Don’t keep switching the system proxy to mask a core that isn’t running.
-
Record a baseline
Note the current server name, routing mode, and local listening port. Turn TUN off for now and keep the same network conditions. Change only one setting per test so you can tell what made a difference.
2. What TCPing and real connection tests can tell you
A TCPing result doesn’t prove a server can proxy web traffic. It mainly checks whether a TCP connection can be made to the server address and port. It doesn’t fully verify proxy authentication or access to the destination site. A port may accept connections even when credentials have expired, TLS settings don’t match, or the remote exit is unavailable.
| Test method | What it checks | What it can’t confirm |
|---|---|---|
| TCPing | TCP connection time to the server address and port | Doesn’t confirm successful authentication, working web access, or sufficient exit bandwidth |
| Real connection latency | Access to a specified test URL through the proxy connection | Doesn’t confirm that every website or routing rule works |
| Browser test | The result of using the current app, system proxy, and routing rules together | Opening a web page alone doesn’t prove the request used the proxy exit |
Select a candidate in the server list, right-click it, and choose “Test server real connection latency.” The client usually creates a temporary test connection; you don’t need to enable the browser’s system proxy first. The test also doesn’t make the selected server your active server. Set that separately when the test is done.
Real connection test results depend on the test URL. Look under “Settings” → “Parameter settings” for an option related to the real connection test or latency test URL, and note the current URL. The setting may be in a different place in other builds. If the test endpoint is unavailable, multiple healthy servers may time out at once. Don’t switch to a URL that only returns locally cached content just to get a result.
3. Choosing a server: start with availability, then check stability
Test a small number of candidate servers from the same subscription rather than testing the entire list concurrently, which can strain both your network and the server side. Repeat the real connection test for servers that pass and check whether they remain reliable, then visit the sites you need. Latency is useful for comparing response times on your current network, but it isn’t download speed.
Consistent success on real connection tests
RecommendedRepeat the test on the same network with the same test URL. Look for consistent results, then confirm that the target page loads in your browser. Even if this server isn’t the fastest in the list, it makes a better baseline for your first connection test.
Good for: first connection, everyday browsing, and establishing a reliable baseline
TCPing succeeds, but nothing else is confirmed
The server port may be reachable, but a complete proxy request hasn’t been verified. Check the protocol parameters, credentials, and real connection test results. Don’t sort by TCPing latency alone and assume the fastest server is usable.
Good for: checking address and port reachability, narrowing down a problem
Intermittent success, frequent timeouts
Rule out local Wi-Fi instability first, then compare another candidate server. Don’t set a server that repeatedly fails under the same conditions as your active server, and don’t let one successful test outweigh several failures.
Good for: keeping an eye on a server and comparing it with a reliable one
Once you’ve chosen a candidate, right-click it and select “Set as active server.” Check that the active marker or status bar changes. A single click may only select a row without switching the server in use. After switching, check the log for reload errors before continuing.
4. Make sure the system proxy points to the right local port
In v2rayN on Windows, select “System proxy” → “Automatically configure system proxy” from the main window or the tray icon’s right-click menu. Then open Windows “Settings” → “Network & Internet” → “Proxy” and check the local address and port. For the first test, select “Global” or the corresponding global proxy rule in the “Routing” selector. Once verified, restore your usual routing rules.
The system proxy and routing are separate settings. The system proxy determines whether apps that follow Windows proxy settings send requests to the local proxy. Routing determines which outbound connection the core uses for those requests. Choosing global routing doesn’t automatically send every app through the proxy, and it won’t override an app’s own direct connection rules.
10808 is the example port used below, not a guaranteed default for every version. Check the local listener settings under “Settings” → “Parameter settings” and compare them with the startup log. Some configurations use a mixed listener for both HTTP and SOCKS; others use separate listeners. Windows system proxy settings must point to an HTTP-capable listener, not a SOCKS-only port.
Example of a local mixed listener
- Listen address
127.0.0.1- Listen port
10808- Supported protocols
- HTTP and SOCKS; confirm in your current configuration
First confirm the core is listening on this port, then connect your app.
Example system proxy settings
- Proxy address
127.0.0.1- Proxy port
10808- Applies to
- Apps that follow these system proxy settings
The settings on the right work only if the listener on the left supports HTTP.
5. Verify the browser, logs, and outbound connection together
Start with a browser window that has no separate proxy extension, then reload a page that needs to fetch content from the internet. Incognito mode can reduce interference from some cached data and extensions, but it doesn’t bypass all caching. For a stricter test, open the developer tools Network panel, enable “Disable cache,” and reload. Seeing a page title alone doesn’t prove that all its requests succeeded.
- Check page requests: See whether the main document, scripts, and images finish loading. If only some resources fail, different domains may be matching different rules; don’t immediately assume the entire server is down.
- Check the access log: In v2rayN, review the core access log for the same time and check the destination domain or IP and the outbound connection used. If the current log level doesn’t show access records, enable the relevant logging temporarily and turn it off again after testing to avoid keeping unnecessary data.
- Confirm the outbound connection: A request in the log only shows that traffic reached the core. Check whether it matched a proxy outbound or a direct outbound. Outbound tags can be customized, so compare them with your current routing configuration.
- Restore routing rules and test again: After confirming the global proxy works, switch back to your usual routing rules and check the destination domain again. If global routing works but your usual rules don’t, check rule order and DNS before importing the same subscription again.
You can also specify an HTTP proxy explicitly in Windows Terminal to test the local listener on its own. The command below requests the headers from this site; replace the example port with your actual HTTP or mixed-proxy port. Use curl.exe to call the executable directly and avoid ambiguity with commands of the same name in some terminal environments.
curl.exe --proxy http://127.0.0.1:10808 --connect-timeout 10 --max-time 20 --head https://v2ray-club.com/
Receiving response headers means the command completed a request using its actual network and proxy settings; it doesn’t verify the browser’s system proxy. If the NO_PROXY environment variable includes the destination domain, rule out that bypass first. Even when the command succeeds, check the core log to make sure the request didn’t use a direct outbound. An HTTP error status doesn’t necessarily mean the tunnel failed: distinguish a proxy connection error from a status returned by the destination site.
6. Troubleshoot common first-connection problems by where they occur
TCPing works, but the real connection test keeps timing out. What should I do?
First check that the system time is correct, then review the server protocol, TLS, and transport settings. Try another server with the same test URL. If only one fails, focus on that server; if they all fail, check the test URL, local network, and core log. Don’t just change the server port or disable certificate verification and hope for the best.
The real connection test passes, but the browser says the proxy server refused the connection. Why?
Check that the port in Windows proxy settings matches the current HTTP listener, then confirm the core is still running. If the port is in use, close duplicate app instances, or change the listening port and reapply the system proxy settings. Changing only one side won’t fix the mismatch.
The website opens, but the log shows a direct connection. Did the proxy work?
This confirms only that the website loaded; it doesn’t prove the request used the proxy exit. Compare with a global proxy rule, then restore your usual routing rules. If there are no access logs, check the browser’s separate proxy settings, extensions, and system proxy bypass list to see whether the request reached the core.
The browser works, but why can’t other apps connect?
Some apps don’t use the Windows system proxy. Enter the local HTTP or SOCKS listener in the app’s network settings, making sure to use the right port type. Consider TUN only if you need to capture traffic from apps that don’t support proxies. It isn’t a required fix for a failed first connection.
Why does an existing browser connection still work after switching servers?
The browser may be reusing an existing connection. Close and reopen the page, or fully exit and restart the browser if needed, then check the log for new requests. Don’t assume the new server is handling a connection just because an old page is still playing or displaying content.
You can define clear first-connection checks: confirm the active server, get consistent results from repeated real connection tests, match the local listening port to the system proxy, and verify that new browser requests reach the core and use a proxy outbound when required. Keep this baseline so you can tell whether later DNS, routing, or TUN changes caused a problem.
- When sharing an error, keep the timestamp, error type, and port. Remove subscription URLs, user IDs, and other authentication details first.
- To continue configuring, start with the subscription and connection guide; for routing rules and outbound connections, see the configuration reference.
- If you still can’t connect, follow the connection troubleshooting guide and check each layer in turn. Don’t change the server, DNS, routing, and proxy listener all at once.
Choose a client and platform
Choose the v2rayN installer for your operating system, then import a subscription, test a server, and verify the proxy. Already have the client? Go straight to the guide to review the steps.