v2rayN First-Time Setup Guide: Windows and macOS Installation, Settings, and Common Issues

A practical guide to installing and launching v2rayN, checking prerequisites, enabling startup, configuring the system proxy, importing subscriptions, and fixing common Windows and macOS issues.

At a glance

For Windows and macOS users configuring v2rayN 7.x for the first time. Follow the sequence to choose the right architecture, check prerequisites, select a core, import a subscription, configure the system proxy and startup, then use local ports and logs to find where a connection fails.

1. Confirm your system architecture and runtime before downloading

v2rayN is a desktop GUI client for managing subscriptions, nodes, routing rules, and the system proxy. Actual protocol connections are handled by core processes such as Xray or v2fly. On a first install, a working client window does not prove that the core is running; check the main program, core files, and local listening ports together.

Check your device architecture before downloading. In Windows, open Settings → System → About and find System type to confirm x64 or ARM64. In macOS, open About This Mac from the Apple menu and check whether the device uses Apple silicon or an Intel processor. Choosing the wrong build can prevent the app from launching, make the core exit immediately, or trigger an incompatibility warning.

  1. Confirm the architecture

    Check System type in Windows and processor information in macOS; do not mix x64 and ARM64 packages.

  2. Get the client

    Open this site's download center and choose the v2rayN 7.x build for your desktop operating system. Do not substitute an Android package for the desktop client.

  3. Extract the archive completely

    Extract the entire archive to its own directory. On Windows, a folder under your user profile is a good choice; avoid locations that require elevated permissions for routine writes.

  4. Check the runtime

    If you chose a build that depends on a runtime, install the matching .NET 8 Desktop Runtime when prompted. Self-contained builds normally need no separate runtime.

  5. Launch it for the first time

    On Windows, run the main program. On macOS, move the app to Applications, launch it, and confirm permission to open it if macOS prompts you.

  6. Keep the original folder structure

    Do not move individual executable files after launch. The core, configuration, logs, and main program should remain in the complete directory structure.

If Windows reports a missing runtime, first determine whether you downloaded a runtime-dependent or self-contained build. Repeatedly running as administrator will not install missing components. If macOS blocks the first launch, open System Settings → Privacy & Security, verify the blocked app's name, and use the system's Open Anyway option; do not bypass source verification by removing security attributes.

2. Choose the core first, then adjust the basic settings

After opening the main interface, go to Settings → Parameter Settings → Core type. If your subscription includes VLESS, Reality, XTLS Vision, or similar configurations, choose the Xray core first. For traditional VMess configurations only, the v2fly core can handle basic connections. The core must be compatible with the node protocol and transport settings; otherwise, a node may import successfully but fail at startup with an unsupported-field error or exit immediately.

Xray core

Recommended

Supports common VMess, VLESS, Reality, WebSocket, and gRPC configurations, making it a suitable everyday default for v2rayN 7.x.

Best for: new subscriptions, VLESS nodes, Reality nodes

v2fly core

Suitable for existing configurations built around VMess, TCP, WebSocket, and TLS, but it cannot directly replace Xray when Xray-specific fields are used.

Best for: traditional VMess nodes, existing v2fly configurations

You do not need to change every basic setting at once. Keep the default log level initially, confirm the local SOCKS and HTTP ports, and only then decide whether to enable startup. Common examples use 10808 for SOCKS and 10809 for HTTP, but always follow the local listening settings shown under Settings → Parameter Settings.

3. Import the subscription and check the node fields

With the complete subscription URL ready, open Subscription groups → Subscription group settings → Add in the main interface. Enter a group name, paste the URL, save it, and choose Update all subscriptions. Button locations may vary slightly between 7.x releases, but the order remains the same: create a subscription group first, then update it. Do not import a subscription URL as if it were a single node link.

A successful update is not confirmed merely by a “Completed” message. The main list should contain nodes with valid values for the protocol, address, port, and transport columns. If the list is empty, check for spaces at either end of the URL, truncation by a chat app, or a subscription service that requires an existing proxy for updates.

VLESS + Reality

Core
Xray
Transport
TCP
Flow
xtls-rprx-vision
Fingerprint
chrome

The public key, short ID, and Server Name are usually populated by the subscription. Missing any key field can cause the handshake to fail.

VMess + WS + TLS

Core
Xray or v2fly
Transport
WebSocket
Path
Use the subscription value
TLS
Enabled

The Host, path, and port must match the server. Do not guess them from another node's configuration.

Local SOCKS

Address
127.0.0.1
Port
10808
Protocol
SOCKS5
Scope
This computer only

Use it in apps that support SOCKS5; follow the port currently configured in the client.

Local HTTP

Address
127.0.0.1
Port
10809
Protocol
HTTP Proxy
Scope
This computer only

Use it for the system proxy and command-line tests; do not enter the remote node's port by mistake.

After importing the nodes, select one and set it as the active server, then watch the status bar and core logs. A connection usually passes through three stages: generating the configuration, starting the core, and listening on the local port. If the log stops before configuration generation, check the node fields first. If it says the address is already in use, there is a local port conflict. If the core is listening normally but the connection times out, check node availability, the network path, and the system proxy.

4. Configure the system proxy and startup separately

Once the v2rayN core is running, your computer has a usable proxy port, but that does not automatically route every app through it. To proxy browsers and apps that follow system network settings, choose “Set system proxy automatically” from the v2rayN tray menu or system proxy feature. Before exiting the client, restore the system proxy so it does not continue pointing to the stopped 127.0.0.1:10809 listener.

Recommended sequence: verify manually first, then enable startup

Windows
  • Start the core and switch on the system proxy
  • Enable startup under Settings → Parameter Settings
  • After restarting, check the tray icon and ports 10808 and 10809
  • When the firewall asks for permission, verify the program name and network scope
macOS
  • First allow the app to modify the system proxy configuration
  • After enabling login launch, check the system login items
  • Sign in again and confirm the menu bar status
  • Restore the system network proxy settings before exiting

Enable automatic startup only after manual launch, node connectivity, and the system proxy have all been verified. This keeps startup issues separate from node issues during troubleshooting.

Windows Run as administrator and automatic startup are not the same thing. A normal local proxy usually does not require elevation every time; Windows prompts only when firewall rules, protected-folder writes, or specific system settings need authorization. Keeping the program in a protected folder can repeatedly cause permission problems when saving settings or updating, so a fixed directory writable by the current user is preferable.

After enabling login launch on macOS, open the Login Items page in System Settings and confirm that v2rayN is allowed to run in the background. If the app is running after login but the proxy is not working, check the core, the retained active node, and the system proxy separately; do not judge the connection solely by the menu bar icon.

Checks Windows macOS
Program launch Check the taskbar tray and running processes Check the menu bar and Activity Monitor
Core listening Confirm 127.0.0.1:10808 or 10809 Confirm 127.0.0.1:10808 or 10809
System proxy Check the system network proxy status Check the proxy status for the current network service
Automatic startup Check the tray app after restarting Check Login Items after signing in again

5. Complete the first verification with ports, commands, and logs

After the initial setup, run two rounds of tests. First, bypass the system proxy and send a request directly through v2rayN's HTTP port to verify the core and node. Then enable the system proxy and open a site in a browser to confirm that system settings point to the local port. This separates node failures, port conflicts, and system proxy errors.

Check port 10809 on Windows:
netstat -ano | findstr 10809

Check port 10809 on macOS:
lsof -nP -iTCP:10809 -sTCP:LISTEN

Test through the local HTTP proxy:
curl --proxy http://127.0.0.1:10809 https://v2raymap.com/

If the port command produces no output, the core is not listening on that port. Return to v2rayN and check the core log and local port settings. If the port is listening but curl reports a refused connection, verify that you entered the HTTP port rather than the SOCKS port. For a SOCKS5 test, change the parameter to the appropriate SOCKS5 proxy format and use the actual port.

Does subscription updating keep timing out?

First confirm that the subscription URL can be read in full. If the update channel requires a proxy, connect to a known working node, enable update through the proxy in the subscription group settings, and try again.

The node starts, but web pages will not open?

Run the port test first. If 10809 is listening normally, check that the system proxy points to 127.0.0.1:10809 and that the browser follows the system network settings.

Does the log say the address is already in use?

Close the old process using 10808 or 10809, or switch to unused ports such as 11808 and 11809 under Settings → Parameter Settings, then update the system proxy as well.

Does the proxy stop working after restarting the computer?

Verify separately that v2rayN starts automatically, the core is running, the active node is still selected, and the system proxy is enabled. Missing any one of these four will appear as an inability to connect after a restart.

Does the node fail after switching cores?

Check whether the node protocol depends on Xray fields. VLESS, Reality, and xtls-rprx-vision configurations should use Xray; restart the core and review the latest log.

Start log troubleshooting with the first clear error, not just the final line. Port conflicts often include “address already in use”; incompatible node fields identify the specific configuration item; DNS or remote connection failures commonly show timeout or connection refused. Note when the error occurred and compare it with the action you just took; this is faster than switching nodes repeatedly.

6. The most common Windows and macOS installation pitfalls

Across both platforms, the main problems are incomplete directories, mismatched architectures, missing runtimes, and inconsistent port settings. Windows is also affected by protected-folder writes, firewall authorization, and leftover processes; macOS more often involves first-launch permission, unapproved login items, and a system proxy that was not restored after quitting.

Symptom Possible cause Recommended order
No main window appears after double-clicking Wrong architecture, missing runtime, or the program is already running in the background Check x64 or ARM64, then check the process and .NET 8 runtime
The core exits immediately after starting Missing core files or incompatible protocol fields Extract the archive again in full, then read the first core error and verify the Core type
The list is empty after updating the subscription Truncated URL, unsaved group, or unexpected response content Copy the complete URL again, save the group, and run Update all subscriptions
No web pages open after quitting The system proxy still points to a closed local port Restore the system proxy and confirm that 127.0.0.1:10809 is no longer being forced
The icon is present after startup, but there is no connection The core did not start, no node is selected, or the proxy was not enabled Check the main program, core, active node, and system proxy layer by layer

After installation, keep a reproducible baseline: use the Xray core, set the local address to 127.0.0.1, record the actual SOCKS and HTTP ports, verify at least one node with a command-line test, and confirm that the system proxy can be enabled and restored manually. Add routing rules, LAN sharing, or more complex policies only after this baseline is stable.

V2Ray client download