v2rayN · v2rayNG · v2flyNG

V2Ray DownloadsSetup Guides

Explore client downloads for four platforms, from subscription imports to routing and DNS settings, with setup steps in the order you need them.

  • VMess
  • VLESS
  • Trojan
  • REALITY

CONFIGURATION LAYERS

V2Ray Configuration Layers

Identify which configuration layer a setting belongs to before changing it. Subscription management, the system proxy toggle, and core configuration each have a distinct role. A single “connected” status does not confirm that the entire connection path is working.

How Apps Connect to the Local Proxy

Inbounds determine where the client accepts connections. A common setup listens on a local SOCKS or HTTP port, then points an app or the system proxy to that port. Importing a server does not mean an app is using the proxy. When troubleshooting, first check that the listening address and port match the app’s settings. For local use, bind to the loopback address; exposing the proxy to your LAN requires additional access-control and firewall checks. The system proxy is easier to configure centrally than setting each app manually, but each app decides whether to honor it.

{
  "inbounds": [
    {
      "tag": "local-socks",
      "listen": "127.0.0.1",
      "port": 10808,
      "protocol": "socks",
      "settings": { "udp": true }
    }
  ]
}
Explore inbounds and traffic interception →

These configuration snippets illustrate structure; they are not complete connection configurations. A working setup also requires valid server details and matching tags. Core implementations may differ in their support for specific fields and protocol features, so check which core the client is using before making changes. Save a working configuration first, change one layer at a time, and test with the same app and destination. If a subscription update regenerates the configuration, use the client’s rules or custom settings instead of editing a temporary generated file.

CLIENT SHELF

Downloads for Four Platforms

v2rayN is the main desktop option. For Android, start with v2rayNG and consider v2flyNG if you need the V2Fly core. Choose your operating system first, then check the processor architecture and package format. Similar client names do not mean their installers are interchangeable.

Windows

Choose v2rayN. The download center offers a cross-platform desktop edition and a WPF edition with the classic interface. Both manage servers, subscriptions, and routing. For a first installation, choose the option that fits your system; you do not need to run both clients just to import the same subscription.

After installation, check the local proxy port before enabling the system proxy. If an app does not honor the system proxy, configure that app separately or learn about TUN mode. Running two clients that both manage system settings can cause port conflicts or proxy confusion. When troubleshooting, keep only one client running.

macOS

Choose the v2rayN desktop client and select the installer for Apple Silicon or Intel. Check your chip or processor in About This Mac, then download the matching build—there’s no need to install both to find out.

On first launch, review any system permission prompts and check that the network proxy points to the client’s listening port. If the internet still does not work after you close the client, check for leftover system proxy settings. TUN intercepts traffic at a lower level; read the permissions and routing guidance before enabling it. It is not a general fix for every connection problem.

Android

Start with v2rayNG, which uses the Xray core; consider v2flyNG if an existing configuration depends on V2Fly features. The download center provides arm64 and universal builds. Most newer mainstream devices use arm64. If you’re unsure, check the device information and the package requirements first.

On first launch, approve the system VPN request. Per-app settings determine which apps use the proxy tunnel; they are separate from server routing rules. If the connection drops in the background, check battery management and background activity restrictions. Also check whether another app using the VPN interface is already controlling the connection before changing the client settings.

Linux

Choose v2rayN, select deb or rpm for your distribution’s package system, then check whether your system uses x64 or arm64. This page links to the GUI client. Whether it runs on your system also depends on the desktop environment, runtime dependencies, and package requirements—not just the distribution name.

Proxy settings are handled differently across desktop environments and apps. First, test the local port with an app that lets you enter a proxy address directly, then check the desktop environment’s system proxy. TUN requires separate permission and routing setup; avoid running multiple tools that modify network interfaces. Before updating, save your subscription groups and custom rules so you can compare behavior afterward.

Check Your Configuration Source Before Downloading

The client manages configuration and runs the proxy; the installer does not include server addresses, accounts, or subscriptions. If you have a share link, check which protocol and transport features it uses. If you have a subscription URL, make sure the client can parse its response format. A webpage URL entered as a subscription, or a single share link pasted into a subscription update field, can leave the server list empty. If an import fails, first identify what kind of input you have, then check that the address is complete—reinstalling the client repeatedly is unlikely to help.

After installation, verify the setup in two steps: first, confirm that the client can read the server configuration and start the core; then check that requests from the target app actually follow the expected route. A server list, a connected toggle, or one successful test does not prove that every app uses the same outbound. Before sharing screenshots of subscriptions, server entries, or logs, hide access URLs containing personal identifiers and authentication details. Keep only the error category and relevant setting names visible.

PROJECT V ECOSYSTEM

Open-Source Projects and Core Selection

Distinguishing projects, cores, clients, and server configurations helps identify where a feature comes from and narrow down troubleshooting. Similar names do not guarantee the same configuration capabilities.

PROJECT / CORE / CLIENT

Project V
Background on Proxy Tools and Related Projects
V2Fly · Xray
A Family of Cores with Shared Technical Roots
v2rayN · v2rayNG · v2flyNG
GUI Clients for Configuration and Runtime Management
Browse the concept guide →

Project V and the V2Ray Ecosystem

Project V brings together tools and components for proxy communication, with V2Ray a widely used name in its ecosystem. In practice, users typically import servers, start the core, and manage proxy settings through a GUI client rather than editing every runtime parameter directly. The core handles protocols, transports, routing, and related logic; the client organizes common tasks in an interface. Understanding this division explains why changing the interface may not change protocol support, while switching cores can affect whether a configuration is accepted.

In everyday use, “V2Ray configuration” can refer to a server share link, an entry saved in a client, or a JSON file read by the core. These are not interchangeable. A share link usually describes one server; a subscription distributes multiple entries; a core configuration also includes local inbounds and routing. Before troubleshooting, identify which type of configuration you’re discussing to avoid, for example, adding a client subscription option to a core configuration.

V2Fly and Xray: How They Relate

V2Fly continues the community development of V2Ray-related cores, while Xray has developed its own implementation and features from a shared technical foundation. The two share some concepts and configuration conventions, but that does not guarantee identical support for every field, protocol combination, or transport behavior. Choose based on what your server configuration requires and which core the client actually includes—not just the name or interface.

For example, even when a server uses a familiar protocol name, its transport, security settings, or extensions may require support from a particular core. If a configuration fails to parse or start, check the field or feature named in the error, then confirm which implementations support it. Assuming the server is unreachable can overlook an earlier issue: the core may not have accepted the configuration at all.

How the Three GUI Clients Differ

v2rayN is a desktop client for configuration and runtime management, covering the three desktop platforms listed on this site. Its capabilities depend on the package and core in use. v2rayNG is for Android; this site covers its standard setup with the Xray core. v2flyNG is an alternative for users who need the V2Fly core. All three are open-source clients, so their features can be understood through their public implementations and configuration behavior. They are not server services and do not generate working subscriptions.

If a configuration works in one client, check its import format, routing rules, and traffic interception settings before moving it to another. Importing a server does not usually migrate system proxy settings, per-app lists, or local custom rules. After migration, test one server with one target app, then restore groups and routing settings. This makes differences easier to identify than copying the entire setup at once. See Choosing a Client for help picking the right option.

Open-Source Licenses and Update Scope

Projects, cores, and GUI clients in the Project V ecosystem may use different open-source licenses. For example, the V2Ray core from V2Fly and the Xray core use MPL 2.0, while each GUI client and its bundled components should be checked against their own license terms. Open-source licenses define the conditions for using, modifying, and redistributing code. They are not service terms for a subscription provider and say nothing about whether a server is running. Users must manage credentials, access permissions, and server configuration separately.

Client updates, core updates, and subscription updates are three separate actions. A client update may change the interface or management behavior; a core update may affect configuration parsing or protocol behavior; a subscription update mainly refreshes server entries. If behavior changes, first identify which type of update was involved, then compare it with the settings you saved beforehand. Avoid changing the client, core, DNS, and rules all at once before testing, or it will be hard to tell what changed the connection path.

FIELD NOTES

Configuration Notes and Troubleshooting

Find guides by where the problem occurs, from subscription input to web access. For import issues, start with the link and format. If the client is running but sites won’t load, check the system proxy, routing, and DNS. Use the checklist for the relevant stage instead of repeating unrelated steps.