Client Downloads / Platform and Architecture
V2Ray Client Downloads
For desktop, choose v2rayN; for Android, start with v2rayNG. Confirm your operating system first, then choose the processor architecture and package type.
Install in this order: choose a package → install the client → import a subscription → set up the proxy
New here? Read the Getting Started guide →Desktop client / x64
Windows downloads
The same client comes in two interface editions. Desktop has a newer cross-platform UI, while WPF is the classic, stable edition with a familiar Windows desktop layout. If you’re new, try Desktop; if you’re used to WPF, stick with the classic edition.
Before you install
| Item | Requirements and checks |
|---|---|
| System | Use a supported Windows 10 or 11 environment where possible. Follow the installer’s prompts for specific dependencies. |
| Processor | Both packages on this page are x64. Check your system type under Settings → System → About. |
| Installation | Make sure the configuration location is writable. If a runtime is missing, follow the setup instructions for your version. |
| Permissions | System proxy and TUN have different permission requirements. Review the permission prompts before enabling TUN. |
Don’t run the program from the archive preview. Extract all files to a separate folder first, then run the installer. Keep Desktop and WPF in different folders to avoid overwriting configuration files. Once installed, import a subscription before choosing a system proxy mode.
Desktop client / choose a chip
macOS downloads
Open the Apple menu in the top-left corner and choose About This Mac. Select Apple Silicon if it lists an Apple M-series chip; select Intel if it lists an Intel processor. Don’t identify the chip based only on the Mac’s purchase year.
v2rayN
RecommendedBefore you install
| Item | Requirements and checks |
|---|---|
| System | Use a supported macOS release. Whether the app runs also depends on the current version’s system requirements. |
| Processor | The chip or processor listed in About This Mac indicates whether you need ARM64 or x64. |
| Install location | Open the DMG, drag the app into the Applications folder, then launch it from there. |
| Permissions | Setting up the system proxy may require system authorization. TUN requires separate permissions and implementation support. |
Don’t run the app long-term from a mounted disk image. Copy it to Applications, then eject the DMG. If you see a security prompt on first launch, confirm the package matches your chip and check System Settings → Privacy & Security. Don’t disable macOS security protections just to open the app.
Mobile client / APK
Android downloads
Start with v2rayNG, which uses the Xray core. Choose v2flyNG if you need a V2Fly configuration environment. Most mainstream phones released since 2015 use arm64, but some devices still run a 32-bit system. If you’re unsure of the architecture, choose the universal version, which supports multiple architectures.
v2rayNG
Top pickv2flyNG
AlternativeSystem requirements and permissions
| Item | Requirements and checks |
|---|---|
| System compatibility | Check the APK installer prompt for the minimum Android version. Older systems may not support the current package. |
| Processor | The device and system must both support 64-bit apps for the arm64 package. If it won’t install, recheck the architecture and try the universal version. |
| Installation permissions | Allow Install unknown apps only for the browser or file manager you’ll use to open the APK. You can revoke permission afterward. |
| Connection permissions | Confirm the Android VPN request the first time you connect. Usually, only one VPN service can run in the same user profile at a time. |
If you see “App not installed,” note the full error first, then check the Android version, available storage, architecture, and whether the old version has a matching signature. Don’t immediately delete the old client; back up its configuration first to avoid losing subscription groups when uninstalling. If the connection drops when the app is in the background, check battery optimization and background activity restrictions.
Desktop client / distribution and architecture
Linux downloads
First check whether your distribution uses deb or rpm, then confirm the processor architecture. Choose x64 for most Intel and AMD desktop PCs; ARM64 packages are available through the smaller links. This is a GUI app and requires a compatible desktop session.
v2rayN
RecommendedBefore you install
| Item | Requirements and checks |
|---|---|
| Desktop environment | A compatible graphical desktop and runtime dependencies are required. Tray and system proxy support vary by desktop environment. |
| Package type | Open the deb or rpm with your distribution’s software installer. Changing a file extension doesn’t convert the package. |
| Processor | Check the architecture in your system’s About page: amd64 / x86_64 corresponds to x64, and aarch64 corresponds to ARM64. |
| Dependencies and permissions | Review the package manager’s dependency report during installation. TUN permissions differ from those needed to launch a regular desktop app. |
Using rpm or deb doesn’t guarantee compatibility with every distribution release. If the software installer reports missing dependencies, check the system library requirements instead of forcing the installation. Launch the client as a regular user after installation. If the system proxy doesn’t work automatically, check your desktop environment and the proxy settings in the app.
How to choose
Check the architecture first, then the package type
The download options differ by runtime environment, not connection quality. Choose a package that matches your operating system, processor, and client configuration needs.
x64 and ARM64
x64 is common on Intel and AMD desktop devices and may also be labeled amd64 or x86_64. ARM64 may appear as aarch64 or arm64-v8a. These labels refer to processor instruction sets, so don’t treat them as interchangeable just because your system says “64-bit.” On Android in particular, a 64-bit processor doesn’t necessarily mean the current system supports 64-bit apps.
Choosing the wrong architecture usually causes an error during installation or startup; changing the subscription repeatedly won’t help. Check your device details in the system’s About page, then download the package for your platform. A universal APK supports multiple architectures; it doesn’t improve network performance.
Client and configuration compatibility
v2rayN is for desktop systems; v2rayNG and v2flyNG are for Android. v2rayNG uses the Xray core, while v2flyNG uses the V2Fly core. Support for protocols and transport options varies by version. The presence of VMess, VLESS, or Trojan in a subscription doesn’t guarantee that every advanced setting is supported.
Check which client and version the configuration provider recommends. If an import reports an unsupported transport or field, check compatibility instead of switching package architecture. Project V, V2Fly, and Xray are related open-source technology ecosystems. For hands-on use, start with the GUI client; learn more about the core concepts in the user guide.
What to do after installation
Import a subscription and set up the proxy
The package only installs the client. You’ll need to obtain server addresses, authentication details, and subscription content separately. Installing the client doesn’t establish a connection.
Preserve settings and troubleshoot
Back up before updating; isolate the cause if something fails
Update the client and subscription separately
A client update replaces the app; a subscription update refreshes server configurations in a group. They’re independent. Reinstalling the client usually won’t fix an expired subscription, changed credentials, or an incorrect update URL. Check the address in Subscription Group Settings first, then use the logs to determine whether the issue is the URL, a failed network request, or an unsupported format.
Before upgrading, stop the connection and quit the client. Use its backup or export feature to save essential settings. Record subscription groups, custom routes, local listening ports, DNS, and TUN status. Before migrating between versions, review what has changed and decide what to restore. Don’t copy every file from the old folder over the new version.
Troubleshoot by stage
If a download doesn’t complete, check your browser’s download history, available storage, and network connection. If installation fails, check the system version, architecture, package type, and signature of any older version. If the app won’t start, check runtime dependencies and permissions. If it starts but won’t connect, check the subscription, selected server, system proxy, routing, and DNS. Record the exact error; it’s more useful than a vague “won’t open.”
When switching clients, quit the old one and clear its system proxy settings first. The new client may use a different local port, so update any proxy settings entered manually in other apps. After testing, make sure only the intended proxy or VPN service is running to avoid conflicting routes and inconsistent results.
For subscription issues, see Troubleshooting subscription update failures. To compare permissions and routing across platforms, follow the cross-platform installation and setup guide. You don’t need to change every advanced setting before downloading: get a basic setup working first, then add custom rules as needed.
Download FAQs
Choosing and updating a client
Which should you choose: Desktop or classic WPF for Windows?
For a first installation, try the Desktop edition with its newer cross-platform interface. Choose the classic WPF edition if you prefer the familiar Windows desktop layout. Check the runtime requirements for your chosen version, and extract each package to a separate folder.
Should you download the arm64 or universal Android version?
Most mainstream phones released since 2015 can start with arm64, but confirm that the system supports 64-bit apps. Choose the universal version if you’re unsure of the device architecture or can’t install the arm64 package. It includes multiple architectures and is usually larger; it won’t improve connection speeds.
Why can’t I connect after downloading the client?
The client doesn’t include a ready-to-use server configuration. Import a subscription URL or share link you’re authorized to use, update the server list, and select a server. Then set the system proxy or start the Android VPN connection. Check the logs and test access in your apps to confirm it’s working.
What settings should I keep before updating the client?
Stop the connection and quit the old client first. Use its backup or export feature to save subscription groups, custom routes, and essential settings. Store backups securely because they may contain sensitive configuration. After updating, check the listening port, system proxy status, and routing mode before resuming normal use.
What should I do if macOS says the app can’t be opened?
First, make sure the download matches your Mac’s chip, then drag the app into the Applications folder. After verifying its source, check System Settings > Privacy & Security for an Open Anyway option. If macOS reports that the app is damaged or unsafe, don’t bypass the warning; download it again and check compatibility.
Which Linux package should I use: deb, rpm, or arm64?
Choose the package format for your distribution: Debian- and Ubuntu-based systems generally use deb, while Fedora- and RHEL-based systems generally use rpm. Then check whether your processor is x86_64 or ARM64. A matching package format doesn’t guarantee compatibility with every release, so check the package manager’s dependencies and system library requirements.