For users setting up v2rayN on Windows 10 or Windows 11 for the first time. This guide covers build selection, extraction, startup, subscription import, system proxy settings, routing, and troubleshooting, so you can choose between Desktop and WPF, verify the Xray Core, and diagnose port conflicts, firewall blocks, and permission issues.
Choosing between the Desktop and WPF versions
Both versions serve the same core purpose: managing VMess, VLESS, and other server configurations, using the Xray Core to create a local proxy, and routing Windows application traffic through local ports. The main differences are the UI implementation, runtime dependencies, and system compatibility—not the node protocol or connection quality. After importing the same subscription into both versions, the server address, port, transport, and TLS settings should match.
On Windows 11 or a supported version of Windows 10, start with the Desktop version listed on the download page. Its layout works well with high-resolution displays and scaling, while subscription management, latency tests, and routing controls are more centralized. If you use a more traditional desktop environment or encounter window-rendering or runtime-loading issues, try the WPF version to rule out UI compatibility problems.
Selection criteria: check the system first, then the startup result
Desktop version
- Recommended for Windows 10 22H2 and Windows 11
- Good for high-resolution displays and everyday subscription management
- If startup fails, check the required .NET Desktop Runtime
WPF version
- Keeps the traditional Windows desktop interaction model
- Useful for ruling out Desktop version UI compatibility issues
- Node protocols, the Xray Core, and routing capabilities do not change with the UI version
Do not identify the version by archive size alone. Download the x64 package for your system architecture, extract it to a fixed folder, and complete one startup test before choosing which version to use long term.
Extracting, launching, and installing the Xray Core
After downloading, do not run the main program from the archive preview. Extract all files to a location you can keep long term, such as D:\Tools\v2rayN\. If you extract only the main executable, the Core, resource files, or configuration directory may be missing. The common result is that the UI opens, but the log reports that the Core cannot be found when you start a node.
Avoid keeping the program in a system temporary folder, the browser download cache, or a directory that frequently requires elevated permissions. The path may contain non-Latin characters, but a short English path makes troubleshooting easier. If Windows Security displays a warning on first launch, verify the file source and application name, then decide whether to run it according to your security policy.
-
Download and extract
Open the installer page on this site, select the Windows build, and extract the complete archive to
D:\Tools\v2rayN\. Do not double-click the program inside the archive. -
Launch the main program
Run the v2rayN main program. If no window appears, check the taskbar notification area; v2rayN usually keeps a tray process running after its main window is closed.
-
Verify the Core
Go to “Settings” → “Parameter Settings” → “Core Type” and assign VLESS, VMess, and other configurations to Xray. Depending on the minor release, this entry may appear as “Core” or “Core Settings.”
-
Check the logs
Select any configuration and start it, then review the main window log. A healthy setup shows a local listening port. If the log says the Core file is missing, extract the complete archive again or use the client’s Core management option to install the missing files.
-
Use a fixed folder
Create a desktop shortcut only after confirming that the program starts successfully. Before future updates, exit the tray process and keep a configuration backup so an old process does not continue locking files.
If double-clicking produces no window and no tray icon, open Task Manager first to see whether the process exits immediately, then check application errors in Windows Event Viewer. If a missing .NET component is reported, install the x64 Desktop Runtime that matches the package requirements; repeatedly moving the program folder will not fix a dependency problem.
Import a subscription and verify protocol settings
A subscription URL is an update endpoint for a list of server configurations, not a single fixed node. For the first import, copy the complete URL beginning with https://, making sure chat-app line breaks or missing trailing characters have not altered it. Open the “Subscription Groups” manager, create a group, paste the URL, and select “Update All Subscriptions (without proxy).”
After a successful update, the main list usually shows node aliases, addresses, ports, and protocol types. Do not judge quality by the name alone. Open a configuration at random and verify that VLESS or VMess, the transport, TLS, SNI, path, and other fields were filled in correctly. The subscription provider’s parameters should be treated as the source of truth; changing one field manually can cause the handshake to fail.
VLESS + REALITY
- Core
- Xray
- Network
- TCP
- Flow
- xtls-rprx-vision
- Security
- reality
- Fingerprint
- chrome
The public key, Short ID, and Server Name must come from the subscription; omitting any required field can cause the TLS handshake to fail.
VMess + WS + TLS
- Core
- Xray
- Network
- WebSocket
- Security
- tls
- Path
- Use the subscription value
- SNI
- Use the subscription value
Address, Host, SNI, and the WebSocket path serve different purposes and should not be swapped arbitrarily just to improve a latency test.
Once the list appears, run one real latency test and select a node with a normal result. Latency only shows whether the test target was reachable at that moment; it does not represent sustained download speed. If every node times out, check the system clock, subscription validity, and local network before editing protocol fields one by one.
Enable the system proxy and set the routing mode
A successfully started node only means that Xray has opened a local listener; it does not mean browser traffic is using v2rayN. Most standard Windows applications rely on the system proxy, so select “System Proxy” → “Automatically Configure System Proxy” from the tray menu or main window. After enabling it, you can see the status under Windows “Settings” → “Network & Internet” → “Proxy.”
The common local SOCKS port in v2rayN is 10808, and the HTTP port is 10809, but the actual values must match the client status bar and “Settings” → “Parameter Settings” → “Basic Settings.” If the ports were changed previously while a browser extension or another application still uses the old values, the client may appear to be running while the application cannot connect.
- Automatically configure system proxy: Suitable for browsers and software that follows the Windows system proxy. This is the recommended first choice for verifying connectivity.
- Do not change the system proxy: Suitable when only selected applications should connect manually to
127.0.0.1:10808or127.0.0.1:10809. - Clear system proxy: Restore the Windows proxy state before you stop using v2rayN, so the system does not point to a local port that is no longer running after the next startup.
- Routing: Go to “Settings” → “Routing Settings” and choose a rule set so direct, proxy, and block rules match traffic by domain or IP.
For the first test, use a simple routing mode: send LAN addresses directly and process other requests according to the rules. After websites and common applications work correctly, add domain, IP, or process rules. Because routing rules are matched from top to bottom, an overly broad rule placed first may capture traffic intended for later rules.
Local SOCKS: 127.0.0.1:10808
Local HTTP: 127.0.0.1:10809
LAN listening: disabled by default
System proxy: automatically configure system proxy
Routing check: direct LAN access → custom rules → default rules
Only enable “Allow connections from the LAN” when other devices need to use this computer’s proxy. This may expand the listening scope from the local loopback address to a LAN interface, and you will also need to configure inbound Windows Firewall rules. If the proxy is for this computer only, keep LAN sharing disabled and continue binding the port to 127.0.0.1.
Checking permissions, firewall rules, and port conflicts
v2rayN’s standard system proxy mode usually does not require running as administrator. Permission prompts may appear only when modifying protected folders, creating specific firewall rules, or enabling features that require system-level network components. Running ordinary proxy operations as administrator all the time can instead create inconsistencies in file ownership and startup behavior.
When Windows Firewall first asks about network access, decide whether LAN sharing is actually needed. If the local proxy only handles the loopback address, there is no need to allow every network type just to make it connect. If LAN access is enabled, restrict it to private networks and allow only the programs and ports actually in use.
Only seeing a tray icon after double-clicking?
Double-click the v2rayN icon in the notification area to restore the main window. If the icon is hidden, click the hidden-icons arrow on the right side of the taskbar. To exit the program, use “Exit” in the tray menu.
Does the log say that port 10808 is already in use?
Exit other proxy processes and restart v2rayN, or go to “Settings” → “Parameter Settings” → “Basic Settings” and change the local port, for example to 20808. Then update any software that uses that port.
A subscription has nodes, but they stop immediately after startup?
Start with the first error in the log. If it reports a Core path problem, extract the complete archive again. If it reports an invalid protocol field, update the subscription instead of guessing at changes to the UUID, public key, SNI, or transport path.
Still unable to open websites after enabling the system proxy?
Confirm that the intended node is set as the active server, then verify that the Windows proxy port matches the v2rayN status bar. Temporarily switch to the basic routing rules to rule out an incorrectly matched custom domain rule.
Does the update say that a file is in use?
Select “Exit” from the tray menu, then use Task Manager to confirm that both the v2rayN and Xray processes have ended. Back up the configuration directory before extracting the new version, and never overwrite Core files while the process is running.
You can confirm port issues with a built-in Windows command. Open a terminal and run netstat -ano | findstr :10808; the number in the last column is the process ID using the port. Then find that program by PID on Task Manager’s “Details” tab. If an old Xray process owns the port, exit the old client normally before restarting.
Post-installation acceptance checklist
Do not judge a successful installation solely by whether the tray icon changes color. A complete check should confirm that the client starts reliably, Core logs show no recurring errors, subscriptions update successfully, a node connects, the system proxy port matches, and routing behaves as expected. Complete one item at a time so any failure can be traced to a specific layer.
- Close and reopen v2rayN, then confirm that the configuration and subscription groups are still present.
- Select a node and watch the logs for at least 60 seconds to confirm there are no restart loops or port-binding errors.
- Run one latency test, then open commonly used websites to verify DNS, TLS, and the actual request path.
- Check the local port under “Settings” → “Parameter Settings” and confirm that it matches the system proxy or manual proxy software.
- Switch routing modes once and confirm that direct-access sites and proxied destinations follow the rules.
- Exit normally from the tray menu, then check whether the Windows system proxy has been cleared or retained as expected.
- Restart the client, update all subscriptions, and confirm that the node list contains no duplicate groups.
Once the basic system proxy is stable, consider enabling startup launch, LAN sharing, or more granular process routing. Change only one option at a time and record the previous port and routing settings. If a new rule causes problems, you can quickly return to the most recent working configuration.
When switching between the Desktop and WPF versions, focus on the same four layers: subscription, Core, ports, and routing. The UI version changes only the entry points and runtime environment; it cannot automatically fix an expired subscription, invalid parameters, or an unreachable server. Follow this guide layer by layer to keep first-time setup issues within a clearly identifiable step.