Client & package selection

V2Ray Client Downloads

Choose your operating system, then your architecture. Use v2rayN on desktop, v2rayNG on Android, or v2flyNG as an alternative with a different core.

Free forever Open source Xray / V2Fly ecosystem
Compare the three clients →

Windows downloads

One client, two interfaces. Both downloads below are for x64 systems.

v2rayN

v2rayN

Recommended 7.24.1

Desktop uses a newer cross-platform UI, ideal for first-time users and anyone who wants a consistent experience across desktop operating systems. WPF is the classic, stable edition with the familiar Windows interface. Install either one; you don't need both to use different protocols.

ZIP package: extract all files before running the installer. Don't launch it from the archive preview.

System requirements and setup

CheckSelection and requirements
System architectureThe Windows packages on this page are for x64. Check Settings → System → About under System type. An x64 package is not a native arm64 build.
Windows versionUse a Windows version that still receives security updates. Follow the installer prompts for specific OS and runtime requirements.
Folder and permissionsExtract to a writable folder, not a restricted location. Standard system proxy and TUN features have different permission requirements; grant only the permissions needed for the feature you use.

Quit any running proxy client before installing to avoid conflicts over listening ports or system proxy settings. After installing v2rayN, open Subscription Group Settings, create a group, enter your subscription URL, then select Update Subscription. To import a single share link, use the server import option from the clipboard. Don't paste a full configuration JSON where a subscription URL is expected.

For your first connection, start with the system proxy. Select a server and check the logs to confirm it starts normally. Common local SOCKS and HTTP ports in some versions are 10808 and 10809, but use the values shown in your settings. Configure TUN only if an app doesn't follow the system proxy and you need to route its traffic. Back up your settings before switching between Desktop and WPF, and don't let both editions write to the same configuration.

Windows setup guide →

AFTER / INSTALL

What to configure after installation

Separate installation issues from connection issues. Opening the client only confirms that the app started; subscriptions, server settings and traffic routing still need to be checked.

Quick start guide

Add a subscription, then update the list

All three clients manage proxy settings; the package itself doesn't provide a connection service. First prepare a subscription URL, individual share link or full configuration file that you're authorized to use, and choose the matching import option. Subscription URLs usually go in subscription settings; share links can be imported from the clipboard or scanned; full JSON files need the appropriate configuration import option. Re-downloading the client won't fix an import format mismatch.

Subscription links may contain access credentials. When asking for help, share the error type, menu path and relevant log lines—not the full URL in a public forum. After importing, update the list. If it's empty, check that the URL is complete, the group isn't filtered out and the client can reach the subscription service.

Choose a server, then route traffic

Select the server you intend to use and check the logs for configuration parsing or port conflicts. On desktop, start by setting the system proxy; on Android, confirm the connection and grant VPN permission. The system proxy works for apps that follow system settings. TUN is a separate way to route traffic. Don't keep switching between them before you understand what each does.

Test both the target app's connection and whether local network access, DNS resolution and routing behave as expected. Rules may send some requests directly; that isn't necessarily a problem. Configure routing rules only when you need more control, and back up your working settings first. Don't mistake a routing issue for an installation package problem.

Back up settings before upgrading

Quit the client before replacing files or installing an update to avoid file access conflicts. Back up subscription groups, routing rules and custom settings first, especially when switching editions, installation sources or devices. If Android reports a signature conflict, check where the old app came from and how to export its data. Uninstalling may also delete local settings.

The client UI version and core version are different things. Xray and V2Fly are both part of the Project V ecosystem, but their protocols, transports and configuration fields don't always match. Reusing advanced settings just because the clients have similar names can prevent startup. Choose the right platform when downloading, then match your configuration to the supported protocol. See the concept reference for details.

DOWNLOAD / FAQ

Download and installation FAQs

Check the package type first, then troubleshoot system permissions, configuration imports or proxy routing.

Windows: Desktop or WPF?
For a first install, choose Desktop for the newer cross-platform interface. If you prefer the classic Windows UI, choose WPF. Both are versions of v2rayN. Back up your subscriptions and settings before switching, and don't run system proxy or TUN mode in both clients at once.
Android: arm64 or universal?
Most mainstream phones released since 2015 can use arm64, but check that your system supports 64-bit apps. If you're unsure of the architecture, choose the universal build. If installation fails, check the Android version, available storage, permission to install from your chosen source, and the existing app's signature. Don't rely on the phone's age alone.
macOS says the app can't be opened. What should I do?
Check that the DMG matches your Mac's chip and that you've moved the app to Applications. Only if you trust the download source, follow macOS prompts in System Settings under Privacy & Security to allow the app to open. Don't disable system security entirely or run Terminal commands from unknown sources.
Does installing a client give me a working connection?
A client isn't a connection service. You'll need a subscription URL, share link or configuration file that you're authorized to use. Import it, update the subscription, choose a server, then enable the system proxy or connect through Android VPN. Treat subscription links like credentials; don't share them publicly.
Will updating the package overwrite my subscriptions or routing settings?
Whether settings are preserved depends on the installation method, app identifier and configuration directory. Quit the client and back up subscriptions, routing rules and custom settings before upgrading. Updates within the same app usually preserve data, but don't assume settings will carry over when switching editions or signing keys. Don't delete existing data just to resolve an installation conflict.
Linux install succeeded. Why are some apps still bypassing the proxy?
Some apps don't use the desktop system proxy. Make sure the client is running, then configure a local HTTP or SOCKS proxy in the app using the port shown in the client settings. If you need TUN, follow the documentation to configure permissions and routes. Don't assume the package is at fault whenever traffic isn't proxied.