Choose your operating system, then your processor architecture. Use v2rayN on desktop; on Android, start with v2rayNG or choose v2flyNG if your configuration requires it.
Free foreverOpen sourceChoose by architecture
Prepare the app and connection configuration separately. If you already have a subscription or configuration file, import it after installation using the configuration guide.
01 / DESKTOP
Download for Windows
Choose one of the two x64 downloads based on your interface preference. Install the client first, then import your subscription and configure the system proxy.
v2rayN
7.24.1
Recommended
Desktop · x64
Desktop edition
A newer cross-platform UI. A good place to start with your first install, with desktop settings and workflows similar to those on other desktop platforms.
After downloading the ZIP file, extract all its contents to a regular folder. Then open the installer inside and follow the prompts. Don’t run it from the archive preview, and don’t let two clients control the system proxy at once.
Windows requirements and setup
Item
Selection and requirements
Where to check
Processor
Both downloads on this page are x64 packages for 64-bit Intel / AMD desktop systems.
Settings → System → About → System type.
System and dependencies
Use a 64-bit Windows version that is still supported. Check the current package’s installer prompts for specific minimum version and runtime requirements.
Check your Windows version first, then watch for missing components or compatibility warnings during setup.
Installation permissions
You may need administrator approval to run the installer or write to a protected folder. Grant permissions for everyday use according to the features you need.
Make sure the installation folder is writable, and don’t launch the app from a temporary archive folder.
The Desktop and WPF editions mainly differ in their interface and layout; neither automatically makes connections faster. Results still depend on the server, configuration and network path. Before switching editions, back up your subscription groups, routing rules and custom settings. A screenshot of the window isn’t a backup.
After the first launch, check the local listening port before enabling the system proxy. 10808 and 10809 are common examples in tutorials, but the current client may not listen on both ports. Use the protocol and port shown in the app.
02 / DESKTOP
Download for macOS
The same v2rayN client is available for Apple Silicon and Intel. Check About This Mac, then download the package for your architecture.
v2rayN
7.24.1
macOS desktop client
arm64
Apple Silicon
For Macs showing an Apple M-series chip in About This Mac. Choose the native package that matches your chip.
Open the DMG and follow its instructions to move the app to the Applications folder, then launch it from there. If macOS shows a security warning on first launch, check the app’s source and the warning before deciding whether to allow it in System Settings.
macOS requirements and setup
Item
Selection and requirements
Where to check
Processor architecture
Choose arm64 for Apple M-series chips and x64 for Intel processors.
Apple menu → About This Mac → Chip or Processor.
System compatibility
Use a macOS release that is still supported. Check the current app package for its minimum version requirement.
Check your macOS version in About This Mac and review any compatibility warning at launch.
App and permissions
The app needs a writable destination folder. Changing the system proxy may require system permission.
Applications folder, Privacy & Security in System Settings, and Network settings.
Move the app to a permanent folder before using it, so it won’t disappear when you eject the disk image. The system proxy is one way for desktop apps to use a local proxy, but not every app follows that setting. Terminal and some standalone network tools may need separate configuration.
If the client starts after import but traffic isn’t routed as expected, first check that a server is selected and that the system proxy points to the current listening port. Don’t start by trying different architecture packages: a mismatch usually causes installation or launch problems, not access issues with just one website.
03 / MOBILE
Download for Android
Start with v2rayNG. Choose v2flyNG only if your existing configuration specifically requires V2Fly. Both apps need a valid configuration and permission to establish a system connection.
v2rayNG
2.2.6
RecommendedXray core
arm64-v8a
arm64 version
Most mainstream phones released since 2015 can use this package. Confirm that your device’s system supports 64-bit apps.
Choose this if you’re unsure of your device’s architecture. It supports multiple architectures and is usually larger than a single-architecture package.
v2rayNG uses the Xray core. After importing your configuration, select a server and start the connection. When Android prompts you to approve a VPN connection, review the request and grant permission. A key or VPN icon means the connection service has started; verify that apps can actually access the network.
v2flyNG
1.10.31
AlternativeV2Fly core
arm64-v8a
arm64 version
For devices that support arm64 apps. If your configuration requires the V2Fly core, first check that its fields are compatible with the current version.
For when you’re unsure of your device’s architecture. The universal package doesn’t change core capabilities or make incompatible configuration fields work.
v2flyNG is an alternative GUI client that uses the V2Fly core. It doesn’t support exactly the same configuration options as v2rayNG, so pay particular attention to protocol, transport and security settings. Switching clients isn’t a universal fix that lets you skip checking your configuration.
Android requirements and setup
Item
Selection and requirements
Notes
App architecture
The arm64 package requires a device that supports arm64-v8a. If unsure, choose the universal version.
A 64-bit processor doesn’t necessarily mean the system provides a matching app runtime.
System version
Your system must meet the minimum version required by the current APK. Follow the installer’s prompts.
The universal package supports more architectures; it doesn’t lower the app’s minimum system requirements.
Installation permissions
Allow the browser or file manager opening the APK to install apps from this source.
Grant permission only to the source you’re using for this installation. Revoke it afterward if you wish.
Connection and background use
A connection requires VpnService permission. Background operation is subject to the system’s battery policies.
Avoid connecting through another VPN app at the same time. Adjust battery optimization settings if needed.
If the installer says “App not installed,” don’t immediately uninstall the existing app. First check that the download completed, there’s enough storage, and the architecture and system version are suitable. Then confirm the installed app and new package come from compatible signing sources. Back up any configuration you want to keep before reinstalling.
If the connection drops after you lock the screen, check battery optimization, background activity and system cleanup policies rather than downloading the package again. To proxy traffic from only some apps, review the per-app settings and check whether you chose “Proxy selected apps only” or “Bypass selected apps.”
04 / DESKTOP
Download for Linux
Choose deb or rpm for your distribution, then select x64 or arm64. All downloads below are for the v2rayN graphical desktop app.
v2rayN
7.24.1
Linux desktop client
deb · x64
Debian / Ubuntu-based
For compatible distributions that use deb packages. Choose x64 for most 64-bit Intel / AMD computers.
For compatible distributions that use RPM packages. Before installing, check package dependencies and distribution compatibility with your package manager.
Open the downloaded package with your distribution’s software installer. Review the dependency and compatibility warnings before confirming installation. The distribution label in an RPM filename doesn’t guarantee compatibility with every RPM-based system. Don’t force installation by ignoring dependency conflicts.
Linux requirements and setup
Item
Selection and requirements
Where to check
Package management
Debian / Ubuntu-based distributions generally use deb; RPM-based distributions use rpm. Check compatibility with your specific distribution.
Distribution documentation, software manager and release information.
Processor architecture
x64 corresponds to amd64 / x86_64; arm64 corresponds to aarch64.
About or hardware information in system settings.
Runtime environment
Requires a graphical desktop environment and the runtime libraries needed by the current package.
Check dependencies with the software installer, then launch the app from the applications menu.
Proxy setup
Support for desktop proxy settings depends on the desktop environment and the app.
Check your system network settings and the app’s own proxy settings.
Linux architecture names can be confusing: amd64 isn’t limited to one processor manufacturer; it usually means the standard 64-bit x86 architecture. aarch64 refers to 64-bit ARM. Package format and processor architecture are separate requirements, so don’t pick just any deb package because your distribution uses deb.
After installation, launch the GUI client and confirm that it can read your configuration and listen on a port before setting up app proxying. The desktop system proxy and terminal environment variables are separate routes. A browser connection doesn’t mean terminal commands will automatically use the same proxy.
BEFORE FIRST RUN
Installation checklist
The installer, connection configuration and app proxy settings are three separate parts of the setup.
Check your device, then back up existing settings
Check your system, architecture and package format to avoid repeatedly trying packages after an installation fails. Before upgrading an existing client, back up the subscription groups, server entries, routing rules and custom settings you want to keep. Settings aren’t guaranteed to migrate between different clients or editions. Keep a separate copy of any custom JSON in particular.
Import a valid subscription or configuration file
This page provides client apps; installing one doesn’t give you a working connection. Prepare a subscription URL, share link or configuration file that you’re authorized to use, then import it from the client menu. If a subscription update fails, check that the URL is complete and still valid, and review the network path used for the update request. Importing the same URL into multiple groups makes future troubleshooting harder.
Test one connection path at a time
On desktop, select a server and confirm the local listener is working before setting the system proxy. On Android, grant connection permission before testing the apps that need the proxy. During troubleshooting, change one setting at a time and note what changes. Connection refused, timeouts and configuration parse errors point to different stages; don’t assume every issue is caused by the installer.
Rule out package format and architecture issues first, then check configuration and connectivity.
Which v2rayN edition should you choose: Desktop or classic WPF?
For a first install, start with Desktop, which uses a newer cross-platform interface. The classic WPF edition is a stable option for users who prefer the familiar Windows layout. Both require a valid configuration. Don’t run both clients’ local listeners and system proxies at the same time.
Should you download the Android arm64 or universal version?
Most mainstream phones released since 2015 use arm64, but check the app ABI supported by your device. If you’re unsure, choose the universal version, which supports multiple architectures and is usually larger. If installation fails, check system compatibility, whether the download completed, and whether the installed app’s signing key matches.
What’s the difference between v2rayNG and v2flyNG?
v2rayNG uses the Xray core and is our recommended Android client on this page. v2flyNG uses the V2Fly core and is an alternative when your configuration requires it. They don’t support exactly the same fields and features. Check which core your configuration needs before choosing a client.
Should you choose Apple Silicon or Intel for macOS?
Open About This Mac from the Apple menu. Choose Apple Silicon if the Chip field shows an Apple M-series chip; choose Intel if the Processor field says Intel. Match the package to your Mac’s architecture rather than judging by its appearance or purchase year.
Which Linux package should you choose: deb, rpm or arm64?
First choose a package format for your distribution: Debian, Ubuntu and compatible distributions generally use deb, while Fedora and other RPM-based distributions generally use rpm. Then select x64 or arm64 for your processor. A matching package format doesn’t guarantee compatibility with every distribution release, so check the dependencies reported by your package manager.
Why can’t you connect right after installation?
The client reads your configuration and establishes the connection; installing it doesn’t provide a server or subscription. Import a valid configuration you’re authorized to use, select a server, then set the system proxy on desktop or grant VPN connection permission on Android. If you still can’t connect, check the configuration, local port, proxy mode and logs—in that order.
If installation is complete but the connection isn’t working, see the FAQ. For help understanding configuration fields, see the inbound, outbound and routing reference.