CLIENT FILES / INSTALLERS
V2Ray Client Downloads
v2rayN desktop client, plus v2rayNG and v2flyNG for Android. Choose your operating system, then your CPU architecture.
The clients are free and open source. Installers do not include connection settings; import a subscription or share link separately before first use.
Windows client. Desktop and classic editions.
v2rayN
Windows / x64 / Desktop · WPF
The v2rayN Desktop edition uses a next-generation cross-platform UI. It's a good fit for first-time installs and for users who want a consistent experience across desktop operating systems. The classic WPF edition is a stable Windows release with a familiar window layout. These downloads use different interfaces, not different proxy protocols; the interface alone does not determine connection capabilities.
Both installers here target x64 systems. In Windows, open Settings → System → About and check System type to confirm your architecture. After downloading the ZIP, extract it to a writable folder, then run the installer inside. Don't launch it from the archive preview; files may not be fully extracted, which can cause startup or path errors.
If you already have settings, export a backup before switching between Desktop and WPF. Don't run both clients at once if they may change system proxy settings or compete for the same listening port. After installation, check Automatically configure system proxy, the active server and routing settings. Opening the main window only confirms that the app started; it doesn't mean browser traffic is going through the proxy.
Windows installation requirements
| Requirement | Options and requirements |
|---|---|
| OS and processor | Windows x64. Check the selected installer's prompts for OS version and runtime requirements. |
| File handling | Download and fully extract the ZIP. The installation and user configuration folders must have the required read and write permissions. |
| Proxy permissions | Standard system proxy and TUN have different permission requirements. TUN may require administrator access and a virtual network interface component. |
macOS client. Choose a DMG for your chip.
v2rayN
macOS / Apple Silicon · Intel
Open the Apple menu and select About This Mac. Check the Chip or Processor field. Choose Apple Silicon (arm64) for a Mac with an Apple chip, or Intel (x64) for a Mac with an Intel processor. The year you bought the device is not a reliable guide; use the hardware information in System Information.
After downloading, open the DMG and follow its instructions to move the client into your Applications folder, then launch it from there. Avoid running it from the mounted disk image long-term; unmounting the image, updating the app or accessing its settings may otherwise cause path issues. If macOS shows a security alert on first launch, verify the app's source and review the alert before following the system's steps.
After importing a configuration, the system proxy only affects apps that respect that setting. To use TUN, grant the permissions requested by the client and watch for conflicts with other network extensions. Before switching clients or stopping use, restore the system proxy and quit the app. Deleting the app does not automatically restore system proxy settings.
macOS installation requirements
| Requirement | Options and requirements |
|---|---|
| Chip architecture | Choose arm64 for Apple Silicon and x64 for Intel. Don't guess based on the Mac model name. |
| OS version | The OS must meet the minimum requirements for the current app build. If you see an outdated-system warning, check compatibility first. |
| Installation and permissions | The Applications folder must be writable. Changing proxy settings or enabling a virtual network interface may require system authorization. |
Android clients. Xray recommended; V2Fly alternative.
v2rayNG
Android / Xray core
v2rayNG uses the Xray core. On Android, you can import a subscription, select an active configuration and route traffic through the system VPN interface. For most phones released after 2015, arm64 is usually the best choice. If the device runs a different architecture or you're unsure about its environment, choose the universal version. Universal supports more architectures; it doesn't offer more features than arm64.
After downloading the APK, Android may ask you to allow the browser or file manager you're using to install apps. Verify the source, then grant permission only to the app that will perform the installation. When you connect for the first time, Android will ask for VPN permission. This system step lets the client create a local virtual network interface; it does not mean a subscription has been imported or that the remote connection is working.
If the connection drops when the screen locks, first check background activity restrictions and battery optimization, then verify that the subscription is valid. Most devices allow only one standard VPN service at a time, so other apps using the VPN interface may conflict with the client. Before testing, confirm which app is routing traffic to avoid repeatedly switching between services.
v2flyNG
Android / V2Fly core
v2flyNG is an Android alternative powered by the V2Fly core. Consider it if you already have compatible settings or need to verify V2Fly behavior. Before choosing it, check that the protocols and transport settings in your subscription are supported by this client and core version. Similar import workflows do not mean every Xray-specific setting can be transferred as-is.
Choose arm64 or universal as described for the Android packages above. When migrating, reimport a standard share link or subscription and check routing, DNS and per-app rules one by one. Don't overwrite another client's data folder. The two clients can keep separate configurations, but only one VPN service should be active at a time.
Android installation requirements
| Requirement | Options and requirements |
|---|---|
| System architecture | For most 64-bit systems, choose arm64. If the architecture is unclear, try universal and follow the installer's compatibility prompt. |
| Install permissions | Allow the browser or file manager handling the installation to install APKs. The Android version must also meet the package requirements. |
| Network and background operation | The first connection requires VPN permission. Ongoing operation may also be affected by background restrictions, battery optimization and other VPN services. |
Linux client. Choose a package format, then an architecture.
v2rayN
Linux / deb · rpm / x64 · arm64
deb packages are generally used by distributions based on Debian package management; rpm packages are for distributions using RPM. Check which format your distribution supports, then check the CPU architecture. In filenames, amd64 and x86_64 refer to the common x64 architecture; arm64 and aarch64 refer to 64-bit ARM. Don't install a package based on its extension alone.
These downloads are graphical desktop clients. They require a working desktop session and the relevant runtime dependencies; they are not server installation steps for a terminal-only environment. Open the package with your distribution's graphical software installer. If dependencies cannot be met, check the distribution version and package target instead of forcing the installation through.
Whether an app follows the system proxy depends on the desktop environment and the app's networking implementation. TUN also involves a virtual network interface, permissions and system routing. For first-time use, test the standard system proxy before enabling TUN. If another proxy service is using the same port, stop it or change the listening settings to avoid mistaking a startup failure for a subscription problem.
Linux installation requirements
| Requirement | Options and requirements |
|---|---|
| Package management | Choose deb or rpm based on your distribution. A matching file extension does not guarantee compatible system libraries or dependencies. |
| CPU architecture | x64 corresponds to amd64 or x86_64; 64-bit ARM corresponds to arm64 or aarch64. |
| Desktop and permissions | A graphical desktop session and a writable configuration folder are required. Installing system software or creating a virtual network interface may require elevated privileges. |
SECTION 02 / INSTALLATION & UPDATES
Choosing an installer. Check architecture, version and configuration.
CPU architecture is not the same as OS
The same operating system can run on different processors. Choosing the right platform but the wrong architecture can still prevent an app from installing or starting. Check system information rather than guessing from the browser, device brand or purchase year. If you see a message such as “This app can't run on your PC,” check the architecture first, then look for missing runtime components instead of repeatedly downloading the same incompatible file.
Version fields and package filenames are separate
The card details show the version text from the manifest; each button links to a package for a specific architecture. The manifest version and filename may not match exactly. Check the installer and the client's About page to confirm the installed version. Version numbers in filenames are not interchangeable download parameters; editing the path may lead to a file that doesn't exist.
Keep a recoverable copy of your settings before updating
Before updating, export your current configuration and save any custom routing rules. Subscription URLs may contain access credentials; don't include them in public screenshots, chat logs or documents. Disconnect and quit the old app before updating to reduce port conflicts and file-write issues. After launching the new version, check the active configuration and routing before resuming normal use.
Compatibility depends on several layers
Whether an installer runs depends on the OS and its dependencies. Whether a share link imports depends on the client's parsing support. A connection also depends on core support, settings and the remote service. Troubleshoot these as separate issues. Xray and V2Fly do not support exactly the same features. For specific protocol and transport combinations, consult the protocol reference before choosing a client.
SECTION 03 / FIRST-TIME SETUP
Setup after download. Import, then verify.
-
Import a subscription or share link
After installation, start with a valid configuration. A subscription URL and an individual share link are different types of input: subscriptions are usually added to a subscription group and refreshed, while share links can be imported from the clipboard. After importing, check that the client has created a selectable configuration. If the list is empty, verify the format and subscription access before changing system proxy settings.
-
Select a configuration and choose how traffic is routed
Set a configuration as active, then choose system proxy or TUN. System proxy relies on apps respecting the proxy settings; TUN routes traffic through a virtual network interface and differs in permissions and traffic coverage. For initial troubleshooting, use one clearly defined entry point rather than stacking multiple proxy tools. Routing rules determine which requests go direct, through the proxy or are blocked; enabling a switch does not send all traffic along the same path.
-
Check the connection and app behavior
Check the client logs for startup or configuration errors, then test a real connection and verify the target app's results. A port probe only confirms that part of the path is reachable; it does not replace an end-to-end proxy connection test. If the client test succeeds but the browser does not, check the browser proxy, DNS and routing rules before reinstalling the client.
Read the full quick-start guide, or compare use cases for all three clients in the Choosing Wisely guide.
SECTION 04 / DOWNLOAD HELP
Installer FAQs. Choosing, updating and launching.
Which v2rayN version should you choose: Desktop or classic WPF?
For a first install, consider the Desktop edition, which uses a next-generation cross-platform interface. The classic WPF edition retains the familiar, stable Windows interface and suits users accustomed to its layout. Both require a valid connection configuration. Export your settings before switching editions; a similar-looking interface does not mean you can safely overwrite the application folder.
Android: arm64 or universal?
For most phones released after 2015, arm64 is usually the best choice, but check the architecture used by the device's operating system. A 64-bit processor does not necessarily mean the OS runs in a 64-bit environment. If you cannot confirm the architecture, or the arm64 package is reported as incompatible, try the universal version. It supports multiple architectures and typically requires more download and storage space.
Do I need a subscription or share link after installing the client?
Yes. The installer provides the graphical client and traffic-handling features, but no ready-to-use connection configuration. Get a subscription or share link from a trusted source and import it into the client. After importing, select an active configuration, choose a proxy mode and confirm that app traffic is routed as expected.
How do I keep my settings before updating?
Export your configuration in the client, save custom routing rules and subscription details separately, then disconnect and quit the app. Update the same client and CPU architecture by following the installer prompts. Settings may not be compatible when migrating between clients. After updating, check the active configuration, listening ports, system proxy and routing mode; keep your backup until everything is working.
What if the installer won't open or reports an incompatible architecture?
Check the platform, CPU architecture and file type first. Windows downloads are ZIP archives: extract the contents before running the installer. macOS uses DMG, Android uses APK, and Linux packages are deb or rpm depending on the distribution. If installation still fails, note the OS version and full error message to distinguish compatibility issues from permission problems.
The displayed version differs from the installer filename. Which should I trust?
The displayed version and architecture-specific file paths come from separate manifest fields, so they may differ. When downloading, check the platform, architecture, filename and version shown by the installer. After installation, use the version listed on the client's About page. Don't edit version numbers in download URLs to look for other packages.
For connection failures, subscription updates and routing issues, see the FAQs.