V2Ray ClientsDownloads · Subscriptions · Connection Setup

v2rayN Client Downloadsand V2Ray Setup Guides

Choose a client for your device, set up subscription imports and system proxy or TUN, then verify the setup with a real connection test.

Open SourceSubscription GroupsRouting

Configuration Topics

Subscriptions, Proxies, and Routing

Open the User Guide →

Import Subscriptions →

Save the subscription URL provided by your service provider in a group, then update it. A subscription is a way to get configuration, not a client; you still need valid connection details after installing the app.

Proxy Modes →

Start with the system proxy to test browser access, then decide whether you need TUN. The traffic capture mode determines which apps send traffic through the client; routing rules determine where that traffic goes.

Verify Your Connection →

First check whether a connection can be established, then test the target site and exit IP. A single latency reading does not indicate download speed or replace checks for DNS, matched rules, and real-world access.

Turn a Subscription into a Working Setup

Subscription Group Settings

Servers from multiple sources can be confusing when they appear in one list, especially when updating. In Subscription Group Settings, add a recognizable label, paste the full subscription URL, save, and update. v2rayN lets you filter servers by group; v2rayNG also has a subscription group manager. Subscriptions make bulk refreshes easier than pasting connection links one at a time, but the results depend on what the provider returns. If the list is empty, check the URL, its validity, and your network before reinstalling the client. Subscription URLs often contain access credentials, so hide the full URL in screenshots and support requests.

Subscription Groups and Filtering in Practice →

Subscription Group Settings

LabelDaily subscription
Subscription URL Examplehttps://example.com/sub?token=xxxx
Updates enabled · On

Settings preview. Make changes in the client.

Download Packages

Choose a Client for Your OS

View All Clients →

For desktop devices, start with v2rayN. For Android, start with v2rayNG, and consider v2flyNG if you need the V2Fly core. Match the package to your operating system, processor architecture, and package format—not just the client name in the filename. The links below open the download page at the relevant platform section, where installation requirements are also listed.

The client reads connection settings; it does not include a subscription service. Before installing, get a subscription URL or connection link from your provider, and make sure your device clock is accurate and your network has access. If you already use another proxy tool, stop its traffic capture first to avoid conflicts with ports and system network settings.

Windows

v2rayN · Recommended

The download page offers two desktop options: a modern cross-platform edition and the classic WPF edition. The WPF version retains its familiar layout. Choose based on system requirements and your preferences; there's no need to run both proxy clients just to compare their interfaces.

Install to a directory where you have write access and can keep the files long term, then launch the app as described in the package instructions. Import a subscription and confirm the core runs before enabling the system proxy. If you need TUN, check permissions and virtual network adapter status. Administrator privileges are not a universal fix for connection problems.

Go to Downloads →

macOS

v2rayN · Desktop Client

Check your chip in About This Mac, then choose the Apple Silicon or Intel package. Matching the processor architecture reduces uncertainty from compatibility layers. These packages are not different feature tiers; they are built for different processor platforms.

Install the app in your usual Applications folder. If macOS displays a warning the first time you open it, review the app source and allowed options in Security settings rather than disabling system protections. Check existing network proxy settings before connecting, then test browser access. For TUN, follow the client prompts and current system permission requirements.

Go to Downloads →

Android

v2rayNG · Recommended

Start with v2rayNG, which uses the Xray core; choose v2flyNG if you need the V2Fly core. Most recent phones use arm64 packages. If you're unsure of your device's architecture, check the universal package details on the download page and compare them with your device information.

Grant only the permissions needed by the trusted source you're installing from. Add a subscription group, update the configuration, select a server, and tap Connect to approve the system VPN prompt. Usually, only one app can control this VPN connection at a time. If it disconnects in the background, check battery optimization and background activity limits instead of repeatedly importing the same subscription.

Go to Downloads →

Linux

v2rayN · Desktop Client

Choose deb or rpm to match your distribution's package system, and check whether your architecture is x64 or arm64. deb packages are common on Debian and Ubuntu; rpm packages are common on Fedora. For derivatives, check their package and dependency requirements.

After installing, confirm the client launches and listens locally in your desktop session, then check whether your browser follows the desktop environment's system proxy settings. Apps can handle proxies differently, so browser access doesn't mean every process is using the proxy. Set up any additional permissions and routing for TUN only if needed, rather than running all desktop tasks with elevated privileges.

Go to Downloads →

Quick Start Preview

From Import to First Connection

View the Full Guide →

Change one thing at a time. First import the configuration, then choose what traffic to capture, and finally test a real request. If something goes wrong, you'll know which step to revisit.

  1. Add a Subscription and Update the Configuration

    In v2rayN, open Subscription Group Settings, label the source, paste the full subscription URL, save, and select Update Subscription. In v2rayNG, do the same from the subscription group menu. When copying, check for leading or trailing spaces, missing parameters, and line breaks. A website login URL usually isn't a subscription URL.

    After updating, make sure servers appear in the selected group. If the list is empty, check the update message, confirm the service is valid, and make sure your network can reach the subscription endpoint. Don't rush to delete existing settings; back them up and test the new group separately so you retain a working reference while troubleshooting.

  2. Choose a Server and Proxy Mode

    Run a real connection test for the server you plan to use, then set it as active. On desktop, start with automatic system proxy configuration and a default or built-in routing option. On Android, select a configuration, tap Connect, and approve the system VPN prompt. A connected status only means the traffic capture process has started; test actual access next.

    System proxy, TUN, and routing are separate settings. The first two control how traffic enters the client; routing determines its exit. Once a regular browser works, enable TUN or add rules if your apps require them. If you have other proxy, network acceleration, or VPN tools installed, pause their traffic capture first.

  3. Test Access and Record a Baseline

    Open a destination that requires a proxy and check that the page loads fully, then use a trusted exit IP lookup service to confirm the traffic path. Before testing, consider browser cache and proxy extensions; use a fresh browser session if needed. If a real connection test succeeds but the page doesn't load, compare the test and page destinations, DNS, and routing before switching servers.

    Once the setup works, note the active group, proxy mode, and routing choice as a baseline for future changes. If a problem occurs, restore this combination first, then check whether the subscription has expired, the local port is in use, and the system clock is accurate. When asking for help, share redacted error messages and steps, but never reveal your subscription URL or connection credentials.

Pre-Connection Checklist

Subscription groupAdded and updated
Active serverSelected manually
System ProxyAutomatic
Routing modeBypass mainland China
Enable TUN mode · Off

Static interface preview. Changes here won't affect your device's network. Configure settings in the client.

Where to Start When a Connection Fails

If a subscription update fails, check the URL and network access first. If servers appear but won't connect, check server settings and core logs. If only one app fails, check traffic capture and routing. Narrow down the issue before changing settings.

Find Common Issues by Symptom →

Open-Source Projects and Maintenance

How Clients and Cores Work Together

View the Glossary →

V2Ray is not the name of one fixed-interface app. The Project V ecosystem covers proxy protocols, transport methods, and routing. Graphical clients bring these capabilities together through controls for subscriptions, servers, proxy modes, and logs. Understanding the distinction is more useful than memorizing where a button is.

Project VV2FlyXray

This site brings together download links and setup guides for three clients. The client app, core projects, and subscription providers each have different roles: clients don't create a working service, core protocol support doesn't guarantee that server settings are correct, and only the provider can confirm whether a subscription is valid.

Project V, V2Fly, and Xray

Project V provides background on the V2Ray ecosystem. V2Fly continues to maintain V2Ray-related projects, while Xray is another core that evolved from related technologies. They share some concepts, but their feature development, protocol support, and configuration details aren't identical. The core you use must support the protocols, transport types, and security options covered in a guide.

If a configuration imports successfully but won't run, check protocol compatibility with the core instead of just whether the client displays the entry. Consider the provider's setup instructions, the core selected in the client, and the error logs together. Similar terminology doesn't mean settings can be swapped directly.

Choosing Among Three Open-Source Clients

v2rayN is an open-source graphical client for desktop systems, designed to manage subscriptions, system proxy, and routing in one place. v2rayNG is for Android and uses the Xray core to import configurations and manage connections on mobile devices. v2flyNG is also for Android and offers an alternative for users who need the V2Fly core. All three are clients, not subscription services.

Choose a client based on your device first, then check the protocols and transport settings your provider uses. If you don't have a specific compatibility requirement, use v2rayN on desktop and v2rayNG on Android. If your current setup works, keep it rather than switching just because of a different client name. Interfaces and export formats can vary, so confirm you can reimport your subscription before migrating.

Open-Source Licenses and Configuration Privacy

Open source means a project's source code is available under its license terms; using, modifying, and redistributing it must comply with that license. Clients and cores are separate projects, so one project's license doesn't automatically apply to the whole stack. Open-source status also doesn't replace careful checks of download sources, system permissions, and connection settings.

Subscription URLs, connection links, and exported configuration files may contain access credentials. Hide full URLs, account identifiers, and authentication details in screenshots. Check public logs for sensitive information before sharing them. Store backups securely, and remove saved configurations and automatic update tasks before replacing or handing off a device.

Client Updates vs. Subscription Updates

Client updates can change the interface, compatibility, or core bundles; subscription updates fetch server configurations from your provider. They solve different problems. If a server has expired, check your subscription status. If a protocol option isn't supported, the client or core may lack the required capability. Not every connection failure means the app needs an update.

Before updating, save your subscription groups, routing rules, and any necessary custom settings, then review installation requirements and release notes. After updating, test with your last known working configuration before restoring other settings. If only one app has an issue, keep the other verified settings unchanged and check how that app handles proxies. A stable, repeatable record of steps is more useful for troubleshooting than changing several settings at once.

Technical Notes

Setup, Speed Testing, and Split Routing

View All Articles →

Once your basic connection works, explore guides for the task at hand. For first-time installs, focus on the runtime environment and initial settings. To choose a server, learn about real connection tests and checking actual access. For custom traffic paths, move on to domains, IP addresses, and rule order. Each guide focuses on a specific task so you can verify settings one at a time.