CLIENT PACKAGES / Setup & Architecture

Download V2Ray Clients

v2rayN for desktop, and v2rayNG or v2flyNG for Android. Choose your operating system first, then check the processor architecture.

Free forever Open source Graphical configuration
Choose a platform

Choose an installer by operating system

Configure the client after installation →
v2rayN

v2rayN

Recommended 7.24.1

Windows x64 downloads. Desktop has a newer cross-platform UI; WPF is the classic stable version with a familiar desktop layout.

Desktop edition

Download v2rayN Desktop

For a new installation, start with Desktop. Its cross-platform interface helps keep the workflow familiar across desktop operating systems.

Classic edition · WPF

Download v2rayN WPF

A good fit if you’re already familiar with the classic interface. Choose based on your existing workflow and system compatibility.

Before installing on Windows

Open Settings → System → About and check your system type to confirm the device uses an x64 processor. This page provides x64 packages; don’t infer the architecture from the device’s appearance. Extract the downloaded ZIP to a writable folder, then run the installer inside. Don’t launch it from the archive preview.

Desktop and WPF differ mainly in their interface technology and layout, not in their connection routes. If you see a runtime requirement on first launch, install the dependency specified by the program. If the app opens but your browser can’t connect, check the configuration and proxy status rather than blaming the installer.

CheckBefore you install
Operating system and architectureWindows x64. Check the package prompts for the specific OS version and runtime requirements.
Folder permissionsMake sure the extraction and installation folders are writable, with room for configuration, logs, and updates.
First launchStandard proxy configurations usually don’t require administrator access. Check permission requirements separately if you use TUN.

After importing a server, select “Set system proxy” in the status bar so apps that follow the system proxy use the client. This doesn’t enable global routing: requests are still handled according to your routing rules, which may send them direct, through the proxy, or block them. For your first test, use just one connection method; avoid changing the system proxy, TUN, and custom rules at the same time.

After installation

Import your configuration and test the connection

Troubleshoot by symptom →

Import subscriptions and choose a server

In v2rayN, enter and save the subscription URL under Subscription Groups, then update the subscription. In v2rayNG, import a share link from the clipboard through the menu, or add a subscription in the settings and update it. Menu names may vary by version, but the steps are the same: save the source, fetch the configuration, and select an active server.

If a subscription update fails, check that the URL is complete and valid, with no extra spaces. Then choose whether to fetch it directly or through a proxy. If the client hasn’t established a working proxy yet, fetching through the proxy may route the request back through itself. Don’t keep deleting the group; note the error and try a different fetch method first.

Share links and native JSON are different import formats. Import a standard share link using the appropriate option; for full JSON, check compatibility with the client and core. When making a backup or describing an issue to someone, hide subscription URLs, user IDs, and credentials.

Route app traffic and check logs

On desktop, select an active server and confirm the core startup message appears in the logs before setting the system proxy. On Android, grant VPN permission when connecting for the first time and check the system connection status. Open a website you want to test, then look for the corresponding outbound connection in the logs.

Routing mode controls what happens to requests that reach the client. “Bypass mainland China (Whitelist)” and “Global” don’t replace enabling the system proxy. If the logs show no request to the target, first check whether the app is using the proxy. If the request appears but the connection fails, check server settings, network reachability, and DNS.

Once the basic connection works, add custom routing, app-specific rules, or TUN settings. Change one category at a time and keep the previous configuration so you can use the logs to identify what affected the result. See the user guide for detailed steps.

Download FAQs

Choosing and updating installers

Can I connect right after downloading the client?

The installer includes the client, but no ready-to-use server configuration. Get a subscription URL or share link you’re authorized to use, import it, select a server, and connect. Then check the system proxy or Android VPN permission.

Which should I choose: Windows Desktop or classic WPF?

Desktop uses a newer cross-platform interface and is a good fit for fresh installs or switching between desktop operating systems. WPF is the classic, stable version for users who prefer its familiar windows and workflow. Both require a valid server configuration; interface differences don’t indicate connection quality.

Should I download the arm64 or universal Android version?

Most mainstream phones released after 2015 support arm64, but check which app architectures your device supports. If you’re unsure, choose the universal version. If installation fails, also check the Android version, available storage, and whether the installed app has a conflicting signature.

What should I back up before updating the client?

Back up subscription groups, personal server configurations, custom routing, and important settings. Note which app you use and how it was installed. Configurations may contain private subscription URLs and credentials, so store backups securely. After updating, check your groups, active server, and routing mode.

The client installed, but my browser can’t open webpages. Should I download it again?

Check the logs to confirm the core started, then verify the server configuration and system proxy. On desktop, make sure automatic system proxy configuration is active. On Android, check VPN permission and connection status. If the app starts normally, troubleshoot the connection path instead of reinstalling repeatedly.

Where should I look if the version shown on the page differs from the installer’s filename?

The displayed version and download links come from different fields in the release manifest and may update at different times. Treat the page version as a reference; check the filename and the version shown in the installed app for the package version. Don’t edit numbers in a download URL to guess other versions.

To compare the configuration capabilities of all three clients, see the client comparison. For specific connection issues, check the FAQ.

Download v2rayN