CLIENTS / PACKAGE SELECTION

V2Ray client downloads

Choose your operating system first, then the architecture and package.

Use v2rayN on desktop and choose v2rayNG for Android. Consider v2flyNG only if your configuration requires compatibility with V2Fly.

See the setup guide after installation →

Windows downloads

Both options are for x64. Check your system type first, then choose the interface you prefer.

v2rayN

v2rayN

RecommendedDesktop client

Xray / V2Fly · Chinese-language GUI

Desktop version

A newer cross-platform UI. A good first choice for new installations or if you want a consistent workflow across desktop operating systems.

Download Desktop · x64

ZIP archive · extract before running

Classic WPF version

A stable classic version that keeps the familiar Windows desktop workflow. Choose it if you prefer the way it works.

Download classic WPF · x64

ZIP archive · stores settings separately from Desktop

Release label: 7.24.1

Before installing on Windows
CheckRequirementWhat to do
System architectureThis page provides an x64 packageCheck System Information; don’t guess based on the device’s appearance.
Operating system and runtimeMust meet the current release’s operating system and runtime requirementsCheck compatibility on older systems. If a runtime is missing, follow the installer’s instructions.
Files and permissionsA writable configuration location and a fully extracted folderElevated permissions are usually not needed for the system proxy. Grant additional permissions for TUN only when prompted.

INSTALLATION / CONFIGURATION

What to configure after installation

01 / IMPORT

Import a subscription or node

After installing the client, import a subscription link, share link, or configuration file that you obtained and are authorized to use. Subscriptions provide node settings; the installer itself doesn’t include connectable nodes. Make sure you’ve copied the complete content, then use the client’s import option. A regular webpage URL is not necessarily a subscription link.

Subscription links may contain account identifiers or access tokens, so treat them as sensitive information. If parsing fails, check whether the link has expired, returns a login page, or requires a specific format from the provider. Don’t upload private links to unfamiliar online conversion tools.

02 / ROUTING

Choose a node and routing mode

After importing, select a node with complete settings, then choose between the system proxy and TUN. The system proxy mainly affects apps that follow system proxy settings; TUN can cover traffic differently and usually requires additional permissions. For an initial test, start with a simple configuration. Add complex routing rules after confirming the basic connection works.

Routing mode determines how requests are sent out; it doesn’t change the server protocol. After changing routing rules, reload the configuration and start a new request. Existing browser connections may continue using the previous route, so a page that’s already open isn’t a reliable test.

03 / VERIFY

Verify requests and review logs

Check that the client has started listening, then send a new browser request and use the logs to identify its route. A reachable port doesn’t mean proxy requests are working, and a latency test can’t replace an access check. First rule out incorrect node settings and system time, then check DNS, routing, and whether the app uses the proxy.

If only one app has connection problems, check that app’s network settings instead of immediately reinstalling the client. A reproducible error is more useful than “can’t connect.” When documenting it, include the error type but redact subscription URLs, credentials, and private server identifiers.

MAINTENANCE / BACKUP

Back up settings before upgrading

Updating the app and migrating its configuration are separate tasks. Save data you can restore before replacing the application files.

Before updating, use the client’s available export or backup feature to save subscription groups, manually added nodes, custom routing, and DNS settings. Also note the local listening port, system proxy mode, and whether TUN is enabled. A subscription URL alone may not restore manual rules, and copying the app files alone may not include your user data directory.

Exit the old client before installing so running processes don’t lock files. On the first launch after updating, check that your groups and nodes are still there, confirm the core loaded successfully, then test a proxy request. If you need to roll back, keep a copy of the pre-update configuration. Don’t let different versions take turns rewriting your only copy of the data.

Assess the package format and system requirements together. An architecture mismatch usually becomes apparent during installation or startup; missing system libraries, runtimes, or permissions can also prevent the app from launching. By contrast, expired subscriptions, server parameter mismatches, and DNS rule errors are configuration problems. Switching to a package for another architecture usually won’t help.

DOWNLOAD / QUESTIONS

Download and installation FAQs

Which Windows version should you choose: Desktop or classic WPF?

For a first installation, start with Desktop, which uses a newer cross-platform interface. The classic WPF version is a stable branch that preserves the traditional Windows workflow and may suit users who prefer familiar controls. Keep their configurations separate and back up your settings before switching. Avoid letting both versions control the system proxy at the same time.

What’s the difference between the Android arm64 and universal versions?

Most phones released since 2015 can usually use arm64, but check which app architectures your device supports. The universal version includes multiple architectures and is a good choice if you’re unsure or arm64 is reported as incompatible. It must still meet the client’s system requirements.

Does the download include nodes you can connect to?

The installer contains the client app, not node accounts or a subscription. After installing, import a subscription link, share link, or configuration that you obtained and are authorized to use. Then select a node and test the connection. Treat subscription links as sensitive information and don’t share them publicly.

What should you save before upgrading?

Use the client’s available export or backup feature to save subscription groups, manually added nodes, custom routing, and DNS settings. Note the local listening port as well. Exit the old process before installing, then check on first launch that your settings migrated successfully. Don’t delete the old configuration directory right away.

Installed successfully but can’t connect—should you download it again?

Start by checking the client logs, subscription validity, node settings, system time, and proxy or VPN permissions. Then check for local port conflicts and review routing and DNS settings. Reinstall only if the package won’t open, you chose the wrong architecture, or application files are missing.