v2rayN · v2rayNG clients for Windows / macOS / Android / Linux. Guides to open-source clients, installation on four platforms, and subscription setup—from system proxy settings to routing rules, organized by configuration layer.
Everyday V2Ray client settings can be understood in four layers: subscriptions retrieve and organize connection configurations; the core handles protocols and transports; the system proxy determines whether some apps send traffic to the client; and routing selects the outbound path for traffic that reaches it. When something goes wrong, identifying the layer involved is more useful than changing every setting at once.
The examples below use the v2rayN menu layout to show where settings are found. The blank window is illustrative; it does not show an imported configuration or an active connection. Menu locations may vary between operating systems and client builds. Understanding what each setting does before following a guide helps avoid confusing routing modes with the system proxy toggle, or subscription updates with core updates.
v2rayN− □ ×
ServersSubscription GroupsSettingsHelp
AliasAddressPortType
System ProxyRouting
v2rayN− □ ×
ServersSubscription GroupsSettingsHelp
AliasAddressPortType
System ProxyRouting
v2rayN− □ ×
ServersSubscription GroupsSettingsHelp
AliasAddressPortType
System ProxyRouting
v2rayN− □ ×
ServersSubscription GroupsSettingsHelp
AliasAddressPortType
System ProxyRouting
Troubleshoot in the same four layers: if the server list is empty, check the import; if the core will not start, check its configuration and ports; if browser requests never reach the client, check how traffic is routed into it; and if only some destinations fail, inspect the rules and DNS resolution. Change one setting at a time and note what changed so you can distinguish a configuration issue from a problem with the remote service. For specific symptoms, follow the troubleshooting handbook.
Downloads by Platform
Choose a Client for Your OS and Architecture
Start with v2rayN on desktop systems and v2rayNG on Android; consider v2flyNG when you need a V2Fly configuration. First match the installer to your operating system and processor architecture, then consider the interface and core. The downloads page brings together platform links and installation guides. A client manages connection configurations but does not provide a remote service, so you'll still need a valid subscription or server configuration from an authorized source.
Use v2rayN on Windows. The downloads page offers a desktop build with the newer cross-platform interface and a classic WPF build, each suited to different interface preferences. Before installing, check the system requirements for your chosen build. If you already have settings, back up your subscription groups, routing rules, and customizations before deciding whether to migrate.
After launching, make sure the client can save settings and start the core before importing a subscription, selecting a server, or enabling the system proxy. If your browser cannot connect after you exit, check whether the system proxy still points to a stopped local port. Avoid having multiple proxy apps manage the same system settings, and don't make reinstalling your first response to every connection issue.
v2rayN runs on macOS. Check About This Mac to identify your processor: Apple Silicon uses ARM64, while Intel uses x64. Choosing the package that matches your chip can prevent startup issues. Check the downloads page and the selected release notes for specific system requirements; don't guess based on the device's appearance or purchase date.
After installation, manage subscriptions in the app, then check your system network proxy settings. Different network services may retain separate proxy settings, so if behavior changes when you switch networks, verify which connection is active. If macOS displays a security prompt, review the app's source and requested permissions. You don't need to disable system-wide security protections to install it.
On Android, v2rayNG with the Xray core is the recommended starting point. If you need the V2Fly core, consider v2flyNG instead. Most recent phones use ARM64; if you're unsure of your device's architecture, check system information or the downloads page for a universal package. The apps have similar names, but their configuration support depends on the core each uses. Similar interfaces don't guarantee that every setting is compatible.
When you start a connection for the first time, Android asks for permission to create a local VPN interface. This is how the client routes device traffic. After granting permission, make sure the subscription has been updated and a configuration selected. If the connection drops when the app moves to the background, check battery optimization and background activity restrictions. If only some apps have issues, review per-app rules and check whether another app is using the VPN interface.
On Linux desktop, use v2rayN and choose deb or rpm to match your distribution's package system, then select x64 or ARM64 for your processor. Debian- and Ubuntu-based systems typically use deb; Fedora-based systems typically use rpm. Package format and processor architecture are independent requirements—matching one does not mean the other is correct.
After installation, check GUI dependencies, write permissions for the user configuration directory, and whether the core starts correctly. Desktop environments differ in how they support system proxy settings. If an app doesn't use the proxy, start by checking its own network settings. If you want the client to start at login, first confirm that manual startup and connections work, then configure autostart. This helps separate startup-order issues from subscription problems.
For your first setup, start with a known-good configuration and get a basic connection working before adding rules. v2rayN on desktop and v2rayNG on Android differ in menu layout and how they route traffic, but the overall process is the same: get a configuration, select a server, enable the connection method, and test access. The steps below cover the essentials; the full guide explains each screen in detail.
01 / IMPORT
Add a Subscription and Update the List
Copy the complete subscription URL. In Subscription Groups, add a group, enter a recognizable name, save it, and then update the list. Subscriptions and individual server share links use different import options, so check what kind of content you have before pasting it. After updating, check that configurations appear in the list. If the list is still empty, confirm the URL hasn't expired, check for extra spaces, and make sure your network can reach the subscription service.
Updating a subscription does not purchase or activate a service. The client only reads configuration; the provider determines its validity period and access permissions. When asking for help, you can share the error message, but hide the full subscription URL, identifiers, and authentication parameters.
02 / ROUTE
Select a Configuration and Enable Traffic Routing
Select the server you want to use, keep the default routing rules at first, then enable the system proxy on desktop or the connection toggle on Android. The desktop system proxy mainly affects apps that follow that setting; Android clients typically route traffic through a local VPN interface. Neither approach guarantees that every app uses the same network path, so the toggle alone can't confirm how the entire device is connected.
For now, avoid adding custom DNS, complex rules, or multiple proxy apps. Confirm that the core starts and the local listener is working before setting up domain-based direct connections, local network access, or per-app routing. Keep a copy of the original settings before changing rules so you can compare or restore them if something goes wrong.
03 / VERIFY
Test Connections and Keep Logs
Test destinations that should use the proxy and others that should connect directly, and check whether the client log shows the requests. An enabled connection button only means the client is trying to run; it doesn't replace testing actual access. If requests don't reach the client, check the app's proxy settings. If they do reach it but fail to connect, check the server parameters, core compatibility, and remote server availability.
Record when the issue occurred, the network you were using, and the exact error. Change one thing at a time while troubleshooting. Before closing the desktop client, make sure the system proxy is cleared if needed. For intermittent problems, compare results across networks rather than deciding whether the client or server is working based on a single test.
Project V is a useful starting point for understanding the V2Ray ecosystem. In everyday use, “V2Ray” may refer to a proxy core or more broadly to the tools built around related protocols and configurations. Graphical clients add interfaces for managing server lists, subscription groups, system integration, and logs. Keeping clients and cores distinct helps explain why a client launching successfully doesn't necessarily mean its core can handle every configuration.
The V2Fly community continues the maintenance and development of V2Ray, while Xray is an independent fork that grew from related code and technical foundations. The two core projects share some history, but each adds features, changes configuration, and publishes releases independently. They aren't simply two names for the same program, nor can their relationship be summed up as an old-versus-new replacement. Choose based on the protocols, transports, security parameters, and client support you actually need.
Protocol Support Doesn't Mean Configurations Are Interchangeable
VMess, VLESS, Trojan, and Shadowsocks are common protocol names in connection configurations. REALITY relates to connection security and shouldn't be treated as a protocol option at the same level. A client displaying a protocol doesn't mean every core it includes supports all of its associated parameters. Compare the protocol, transport, security settings, and remote requirements together.
For configurations that use REALITY, confirm that the selected core and client handle the relevant fields correctly. Before switching to a different core, review the feature differences and keep a copy of your configuration that you can restore. If a field isn't recognized or startup fails, check compatibility first rather than deleting parameters at random until the error disappears. Find more detailed definitions by category in the glossary.
Open-Source Licenses and Usage
v2rayN, v2rayNG, and v2flyNG are released under the GPL-3.0 license. Open source makes the code available for study, but use, modification, and distribution must still follow the license terms. The clients, the cores they call, and other bundled components may each have their own licensing requirements. Don't assume that the interface project's license applies uniformly to the entire ecosystem.
A client being free to use and a remote service charging a fee are separate matters. Installing a graphical tool does not automatically grant valid connection access. Users should understand where subscriptions come from, what configurations are for, and the requirements of their network environment. A software or site name is not proof of authorization for a remote service.
Update Practices and Recoverable Settings
Client updates, core updates, and subscription updates affect different components: the interface, connection processing, and server configurations. They can each affect different settings, so avoid changing all three while troubleshooting. Before updating the client, back up subscription groups, custom routing, and any application settings you need. After the update, test existing connections before enabling new features.
This site provides downloads and Chinese-language usage guides. Its brand name is used as the site name and does not imply endorsement by upstream projects. Find installation options on the downloads page; the homepage does not list specific release numbers. Choose a package based on what's available on the downloads page, its system requirements, and configuration compatibility. If an update causes problems, follow the troubleshooting steps.
Technical Articles
Core Relationships and Proxy Modes
Once the basic setup is working, explore the ecosystem and proxy mode guides. Start by distinguishing the client from the core, then learn how system proxy settings differ from routing. This gives you a foundation for comparing features and troubleshooting. The three latest articles below cover project relationships, core differences, and traffic flow.
From Project V's origins to maintenance by the V2Fly community and the Xray fork, this article explains where v2rayN, v2rayNG, and v2flyNG fit in the ecosystem and how their open-source licenses apply. For readers looking to distinguish project names, client responsibilities, and core boundaries before choosing a tool for their platform.
Compare the origins of the Xray-core and V2Fly-core branches, their protocol and transport support, and configuration compatibility when switching cores in a client. Focus on evaluating whether your existing parameters are supported, rather than treating core names as a simple ranking of connection performance.
Learn how the system proxy toggle and routing mode control different layers, and compare how Global, Bypass Mainland China, and Direct modes handle traffic. If the proxy is enabled but some apps behave the same, use this guide to check whether their traffic is reaching the client.