v2rayN / Desktop Client

V2Ray for Linux Client Downloads & Setup

Start by importing a subscription, then use the menus to configure the system proxy and TUN mode. Choose v2rayN for desktop or v2rayNG for Android.

Free to useOpen sourceSetup guides

Common v2rayN Settings
Choose how traffic enters before adjusting rules

Importing a subscription provides the connection details. Whether apps use the proxy also depends on the system proxy, virtual network interface, and routing rules. Treat these as separate layers so that when a node tests successfully but websites will not load, you know which menu to check instead of repeatedly reinstalling the client.

System Proxy: Connect Your Browser First

The system proxy passes the client's local proxy address to the operating system. It works with browsers and desktop apps that follow system settings. To get started, select “Set System Proxy Automatically” from the tray menu, then test a webpage. “Clear System Proxy” removes the setting; “Do Not Change System Proxy” means the client leaves the current setting alone—it does not clear it. Unlike TUN, this method does not take over the entire network interface, and not every app will follow it. Command-line tools usually need separate proxy settings.

  • Set System Proxy Automatically
  • Clear System Proxy
  • Do Not Change System Proxy

Menu names may change as the client interface evolves. For platform-specific steps, see the complete installation and setup guide →

V2Ray Client Downloads by Platform

Use v2rayN on desktop. For Android, start with v2rayNG; consider v2flyNG if you need a V2Fly core. Check your operating system and processor architecture, then choose an installer on the download page.

Windows

v2rayN offers downloads for its Desktop and classic WPF editions. The Desktop edition has a cross-platform interface, while WPF retains the classic desktop workflow. Their layouts may differ, so check which edition you downloaded before following a guide—you don't need to switch versions just to find the same button.

Before installing, check your processor and system type in Settings. After the first launch, import a subscription, then configure the system proxy from the tray. Closing the main window may not quit the app. Before you're done, make sure the proxy settings are restored so your browser doesn't keep connecting to a closed local port.

Download Windows client→

macOS

v2rayN has separate downloads for Apple Silicon and Intel Macs. Open “About This Mac”: if it shows “Chip,” choose by chip model; if it shows “Processor,” check whether it says Intel. Don't infer the architecture from the year you bought the Mac, and don't mix installers just to import the same subscription.

If macOS shows a security alert on first launch, verify the file's source, then follow the instructions shown in System Settings. System proxy and TUN require different permissions. Once your browser works, test other apps; if only one app has trouble, check its own proxy settings first.

Download macOS client→

Android

Start with v2rayNG, which uses the Xray core. If you need compatibility with V2Fly core configurations, consider v2flyNG. Most newer devices use arm64. If you're unsure of your device's architecture, check its system information or follow the download page's guidance for universal packages. The two clients do not need to have identical settings.

After importing a subscription, updating the list, and selecting a node, allow the VPN connection when prompted. If another VPN app is already running, resolve any conflict before connecting. Background disconnections may also result from battery restrictions. Check the app's battery settings and logs instead of repeatedly tapping Connect.

Download Android client→

Linux

v2rayN for Linux is available in deb and rpm packages for different processor architectures. Ubuntu and Debian users typically choose deb; Fedora users typically choose rpm. Check whether your processor is x64 or arm64 separately: package format and processor architecture are independent.

After installation, check that the desktop environment shows a tray icon, then see whether your browser picks up the system proxy. Proxy handling varies across desktop environments, and terminal apps may not follow it. If you need TUN, check the required permissions and virtual interface status. Avoid changing system routes, DNS, and multiple proxy tools all at once.

Download Linux client→

The download page explains package types and system requirements. This site provides client downloads and setup guides; you'll need to obtain a valid subscription or node details separately.

View all clients →

From Subscription Import to Connection Test

Get one basic connection working before adding routing rules or TUN. Change one setting at a time to make it easier to undo the last change if something goes wrong.

  1. Add a Subscription and Check the Update

    In v2rayN, open “Subscription Groups,” add a recognizable group name, and paste the full subscription URL. Save it, then select “Update Subscription (Direct).” Confirm that available nodes appear in the list before continuing. When copying the URL, check for leading or trailing spaces and make sure your messaging app hasn't truncated it.

    A failed update doesn't mean the client installation failed. First identify whether the response indicates a network error, an authentication error, or an unrecognized format. Try updating through a proxy only if you already have a working connection. A single share link and a subscription URL are different: the former imports connection details, while the latter fetches and updates a list of nodes.

  2. Choose a Node, Then Choose How Traffic Enters

    Select the node you want and set it as active. On desktop, start with “Set System Proxy Automatically” to connect browsers that follow system settings. On Android, follow the client steps to connect and allow it to create a VPN. Keep other network tools off during the first test to reduce the chance of conflicting settings.

    Test TUN separately when you need more apps to send traffic through the core. The connection method determines how traffic reaches the client; routing rules decide where it goes next. So “Enable TUN” does not mean “Global proxy.” Keep a record of a working setup as a reference when adjusting DNS or routing later.

  3. Test Websites, Apps, and Disconnect Behavior

    First use a browser to visit a website you know is reachable, then test the apps you actually need. A running status only shows that the process or interface has started; it doesn't confirm end-to-end access. If the browser works but an app doesn't, check whether that app follows the system proxy or uses its own network settings.

    A successful node test doesn't guarantee good download speeds or video playback. If performance is poor, check the node, connection route, and local settings in that order, and see whether the issue affects only certain destinations. Finally, stop the connection and test again: clear any system proxy you no longer need and confirm regular internet access still works. This makes it easier to spot what's changed next time.

Read the full guide →

Project V, V2Fly, and Xray

Clients, cores, and protocols each play a different role. Understanding how they fit together is more useful than blaming every network issue on a “dead node.”

OPEN SOURCE

Open-Source Ecosystem
and Configuration Boundaries

About This Site →

Project V: Understanding the Ecosystem

Project V is a good starting point for understanding the V2Ray ecosystem. In everyday usage, “V2Ray” can mean the core or refer more broadly to a type of client, which can lead guides to conflate settings at different layers. Think of the GUI as the configuration management layer and the core as the connection execution layer: the GUI stores subscriptions, selects active nodes, and organizes settings; the core parses the configuration, establishes connections, and applies routing. Browsers and other apps sit further out and pass traffic through the system proxy, an in-app proxy, or a virtual interface.

This is why the same subscription can work in different clients without every option transferring exactly. An interface may expose only some core features, and subscription conversion can affect configuration fields. When troubleshooting, note the client name, core, and connection method. That's more useful than simply saying “V2Ray won't connect.”

V2Fly and Xray: Related, but Not Interchangeable

The V2Fly community continues V2Ray-related development, while Xray is a separate core branch developed from related code. They share technical roots but evolve their own protocol support, transport capabilities, and configuration implementations. One is not simply a reskin of the other's interface, and the name alone won't tell you which is faster in every situation. Connection success usually depends on whether server parameters, protocol support, and local configuration are compatible.

VMess and VLESS are protocol names you'll encounter in connection settings. REALITY relates to connection security and is not an ordinary node label you can swap at will. If a subscription includes unfamiliar options, first check whether the core supports them before changing the client. For more on protocols, see the general setup section of the full guide; there's no need to reinstall everything just to understand one field.

Three Clients: Choose by Platform and Core

v2rayN is an open-source desktop GUI client for managing subscriptions, system proxy settings, and routing. v2rayNG is an Android client that uses the Xray core; v2flyNG is another Android GUI client, offering an alternative based on the V2Fly core. All three are open-source client projects. Distribution and redistribution are subject to the applicable licenses, including GPL-3.0 and licenses for bundled dependencies. Open-source licensing describes the code and its terms; it does not guarantee that any subscription service will work.

Desktop users can start with v2rayN and choose an installer based on their operating system and processor. Android users should check whether their node parameters suit v2rayNG, and consider v2flyNG only if they need specific compatibility. Clients don't include universally usable connection resources and can't replace checks of server accounts, subscription expiry, or data limits. To compare the options, see the three-client comparison and choose based on your platform and parameters, not similar-looking names.

Updates: Keep Client, Core, and Subscription Separate

Client updates mainly affect the interface and configuration management; core updates may change protocol support or runtime behavior; subscription updates fetch a fresh list of nodes from the service. These are three separate maintenance tasks: updating a subscription doesn't upgrade the client, and switching clients won't reactivate an expired account. Rule databases are another kind of data, covering domains, IP categories, and routing matches. If only some sites have trouble, check the rules and DNS results rather than replacing every component at once.

Before upgrading, note your proxy method, active node, and custom rules. Afterward, test a basic connection before restoring complex settings one at a time. When sharing logs, include only what's needed to diagnose the issue and hide subscription URLs, account identifiers, and connection keys. This site provides download links and setup instructions, but exact menus and features depend on the installed client. Consider system prompts, client logs, and actual access results together.

V2Ray Configuration and Troubleshooting Guides

Once a basic connection works, explore configuration structure, DNS, and rule databases. Find a guide for the issue at hand instead of changing everything at once.