Choose by platform, interface edition, and processor architecture. Use v2rayN on desktop and v2rayNG on Android.
Free to useOpen sourceGUI configuration
Download the package for your device, then import an existing subscription. For your first setup, follow the Getting Started → guide.
Choose a Package
Step 1Platform
Step 2Processor architecture
Configuration After Installation
01 · ImportSubscription URL / share link
02 · SelectServer and routing mode
03 · VerifyProxy entry point and runtime logs
Workflow · Prepare the installer and connection settings separately
Platform and Architecture
Choose Your Platform
Buttons identify the package type. Use the system requirements table to guide your choice; the installer and current package dependencies determine whether installation will work on your system.
Windows Downloads
Two editions of the same client, both for x64 systems.
v2rayN
Recommended
Windows · x64Xray / sing-box7.24.1
Desktop edition
A next-generation cross-platform UI. A good starting point for first-time installs and for users who want a consistent experience across desktop systems.
The editions mainly differ in UI framework and layout; neither is the best fit for every device. If you already have a configuration, export it and quit the running client before switching editions. This helps prevent two instances from controlling the system proxy at once.
Open Settings > System > About and check System type to confirm your operating system and processor architecture. These downloads are x64 packages; having Windows alone doesn’t guarantee compatibility. On a managed device, check whether application control policies restrict the installer.
Check
What to look for
Before installing
System architecture
Both packages are x64
Check System type in System Information
Operating system
Use a Windows version that is still supported by Microsoft
Check for system updates and note any runtime requirements shown by the installer
Installation files
The ZIP contains the installation files
Extract the entire archive before running the installer
Proxy entry point
System proxy and local listening port
Quit other clients that are controlling the same proxy entry point
Don’t run the program from the archive preview. Extract the archive to a writable location first, then open the installer. If you’re told a runtime is missing, note the full message and follow the system guidance; repeatedly switching packages won’t fix an environment issue. After installation, import your configuration and select a server before enabling “Set system proxy automatically.” Apps only use the system proxy if their own settings allow it.
macOS Downloads
Check About This Mac first, then choose the DMG for your processor.
v2rayN
Desktop client
macOSXray / sing-box7.24.1
Apple Silicon
Choose arm64 if About This Mac shows an Apple chip, such as an M-series processor. Check the chip itself, not the screen size.
Open the DMG and follow the installer inside. If macOS blocks the app on first launch, check the app name and source shown in the alert, then review the details under System Settings > Privacy & Security. Don’t disable system-wide protections just to install one app.
Open the Apple menu and select About This Mac. Check the Chip or Processor field: Apple Silicon uses arm64, while Intel uses x64. Devices with the same product-family name may have different processors, so use the information shown on your device before downloading.
Check
What to look for
Before installing
Processor
Apple Silicon or Intel
Check Chip or Processor in About This Mac
macOS version
Must meet the app’s current runtime requirements
Note your macOS version and watch for compatibility alerts at startup
Package format
DMG
Open the disk image and follow the installer
Network permissions
System proxy and optional network features
Review what each permission does and grant it only if appropriate
Installing the app and launching it for the first time are separate steps. If it won’t open, check for an architecture mismatch, an outdated macOS version, or restricted app permissions before downloading it again. If the app opens but webpages won’t load, the issue is likely with connection settings. Check the subscription, selected server, and system proxy instead of reinstalling.
Android Downloads
Choose a client first, then select an architecture. Most mainstream phones released after 2015 use arm64.
v2rayNG
Recommended
AndroidXray core2.2.6
arm64
Recommended for most 64-bit Android phones. Confirm your device supports arm64-v8a before downloading this targeted build.
Consider the universal build if you’re unsure of your device’s architecture. It supports multiple architectures but still requires a compatible Android version.
When you connect for the first time, Android asks for VPN permission. Verify the app name before granting it. If another VPN is active, resolve the conflict first. The VPN icon means a local service is running; it doesn’t prove the remote connection works.
v2flyNG
Alternative · V2Fly core
AndroidV2Fly core1.10.31
arm64
For devices confirmed to use arm64 that need the V2Fly core ecosystem. You’ll still need to import connection settings separately after installation.
An alternative when you haven’t confirmed the device architecture. A universal build can’t bypass Android version, signing, or device policy restrictions.
v2flyNG and v2rayNG use different core families. Before importing, check that the current version supports the link’s protocol, transport, and security options. Don’t assume custom JSON or core-specific fields are compatible across clients.
Android Installation and System Requirements
A device’s age can help narrow down the architecture, but it’s no substitute for checking it. Most mainstream phones released after 2015 use arm64, though some devices run a different system bitness. Check the device specifications or system information before downloading. If the arm64 package won’t install, read the exact error instead of assuming the client is at fault.
Check
What to look for
Before installing
CPU architecture
arm64 or universal
Check the device specifications and system information
System compatibility
Check the current APK’s installation requirements
Check the Android version and system installation prompt
Install-source permission
Grant permission only to the app opening the APK
Allow access when prompted, then revoke it when you’re done if you prefer
Connection permission
Android VPN permission
Verify the app name and check whether another VPN is active
If Android says the app wasn’t installed, check for an architecture mismatch, insufficient storage, restricted install sources, or a signing mismatch with an existing app. Keep your current configuration before migrating; don’t uninstall an old app that still holds settings you need. If background connections drop after upgrading, check battery optimization and background activity permissions. These are separate from whether the APK can be installed.
Linux Downloads
Match the package format to your distribution, then match the processor architecture.
v2rayN
Desktop client
LinuxXray / sing-box7.24.1
deb · x64
Choose this for Debian- and Ubuntu-based distributions that use deb packages. Check system dependencies during installation.
This download is for graphical desktop environments. A package manager can check dependencies and installation status. If dependencies are missing, keep the error details and check your system environment; don’t force installation by ignoring dependencies.
deb and rpm are package formats; x64 and arm64 are processor architectures. You need a match on both. The same package format won’t necessarily run across distributions or versions: runtime libraries, desktop environments, and dependency versions also affect compatibility. Before downloading, note your distribution, version, and architecture from System Details.
Check
What to look for
Before installing
Package management
deb or rpm
Choose the format used by your distribution
Processor architecture
x64 or arm64
Check the architecture in System Details
Runtime environment
Graphical desktop and compatible runtime libraries
Check package dependencies with your package manager
Proxy access
Desktop proxy settings or app-specific settings
Make sure the target app uses the correct local port
After installation, launch the client from your desktop’s app menu. System proxy settings, browser proxy settings, and per-app proxy settings may differ, so a running client alone isn’t enough. Check the local listening port, then point the app you want to use at that entry point. If only one app can’t connect, check its proxy settings and environment before replacing the package.
From Installation to Connection
Three Checks After Downloading
Installing the client is only the first step. Check the configuration, traffic entry point, and connection result in order to pinpoint the setting causing an issue.
Get a connection configuration
The client download doesn’t include a server. Prepare a subscription URL, share link, or configuration file you’re authorized to use, then choose the appropriate import method. A subscription URL usually provides a refreshable set of configurations; a share link typically imports one server. Don’t paste them interchangeably into the same field.
After importing, check that the server name, protocol, address, and port are all present. A successful subscription update only means the subscription was retrieved; it doesn’t mean every server in it is reachable. If the list is empty after import, check the input and subscription response before changing network settings.
Check the proxy entry point and routing mode
v2rayN’s system proxy directs apps that follow the system setting to the local proxy entry point. Routing rules determine which outbound the core uses for a request. These are separate settings. “Bypass mainland China” is a routing policy, not a system proxy switch, and it doesn’t make every app use the client automatically.
Android clients route traffic through the VPN service. Per-app proxy settings also control which apps are included. Start with a basic configuration you can understand and verify, then adjust split tunneling or per-app rules. Change one type of setting at a time and keep a note of each change so you can reproduce or undo it.
Test with the target app and check the logs
Open the app you actually want to use and make a specific request, then review the client’s runtime logs. Distinguish between a local service that hasn’t started, an app that isn’t using the proxy, a remote connection timeout, and an error returned by the destination. An enabled system proxy or Android VPN icon isn’t a substitute for testing access.
Keep the error time and relevant context when troubleshooting, but hide subscription URLs, server addresses, and credentials before sharing. For more on configuration fields, see the configuration reference. If you’re new, follow Getting Started to import a subscription and connect.
Versions and Configuration
Back Up Before Upgrading, Then Check Your Settings
The client app, core capabilities, and personal settings are separate layers. After updating the app, check that your custom settings are still in place.
inboundsroutingdns
Back Up Subscriptions and Custom Rules
Before upgrading, use the current client’s export or backup feature. Save more than the server list: keep subscription groups, custom routing, DNS, local ports, and per-app selections. A subscription URL alone usually won’t restore every manual change. Refreshing a subscription may also overwrite some settings associated with it.
Backup files may contain authentication details, so store them in a secure location and don’t attach them to public support posts. If you’re switching clients, first check that the new one supports your import format. Share links, subscription data, client databases, and core JSON serve different purposes; they aren’t interchangeable just because they all describe connection settings.
Recheck Entry Points, Rules, and Permissions
Before updating, stop the connection and quit the old instance, then replace the program files. Afterward, check the selected server, system proxy status, local listening port, and routing preset. On Android, also verify VPN permission and background activity settings. The upgrade review is complete only when both the configuration and actual connection behave as expected.
Read the version shown on the card separately from the actual installer filename. Download links may change as the release list is updated; use the information shown by the package and installer. Don’t identify a universal build by filename length, or assume a higher version number guarantees compatibility with every protocol configuration.
Download FAQs
Choosing a Package and Upgrading
Start with answers to common download questions, from system architecture and client differences to keeping your configuration.
Which should I choose for Windows: Desktop or Classic WPF?
For a first installation, consider v2rayN Desktop, which uses a next-generation cross-platform UI. Classic WPF is the established, stable edition for users who prefer the familiar Windows interface. Both downloads are x64 archives. Extract the archive before running its installer, and back up your configuration before switching editions.
How do I know which processor architecture to download?
On Windows, check System type under Settings > System > About. On macOS, check the chip or processor under About This Mac. On Android, check the device specifications or system information; most mainstream phones released after 2015 use arm64. On Linux, check your distribution’s system details. Don’t guess based on a device’s appearance or brand.
Should I choose v2rayNG or v2flyNG?
For Android, v2rayNG with the Xray core is the recommended choice. v2flyNG uses the V2Fly core and is an alternative when you need that ecosystem. Both offer arm64 and universal builds. Protocol and transport support depends on the client and core version, so settings supported by one client may not work in the other.
Can I connect as soon as the client is installed?
The installer contains the client, not a usable server configuration. You’ll need a subscription URL, share link, or configuration file that you’re authorized to use. Import it and select a server, then configure the system proxy or grant the Android VPN permission. Subscription URLs and share links may contain credentials; don’t share them publicly.
What should I back up before upgrading?
Use the current client’s export or backup feature to save server settings, subscription groups, custom routing rules, and DNS settings. Note your local ports and proxy mode, too. Backups may contain sensitive information, so store them securely. After upgrading, check each setting; a subscription list that’s still present doesn’t mean the migration is complete.
What’s the difference between the Linux deb, rpm, and arm64 downloads?
deb and rpm are package formats for different Linux package-management systems. Debian- and Ubuntu-based distributions generally use deb; Fedora- and RHEL-based distributions generally use rpm. x64 and arm64 refer to processor architecture. Match both the format and architecture. Installation also depends on your distribution version, runtime libraries, and package dependencies.