Choose your operating system first, then the architecture. Use v2rayN on desktop and v2rayNG on Android by default; choose v2flyNG if you need the V2Fly core.
Download links are grouped by platform below. After downloading, install the client and import your configuration before setting up the system proxy, VPN, or Tun. These traffic-routing methods work differently.
How to choose an installer
01 · Operating systemChoose a platform
02 · CPU architecturex64 / arm64
03 · Interface & package formatChoose as needed
Not sure which architecture you need? Check your system information instead of guessing from the device’s appearance.
After switching platforms, copy the current page URL to keep a direct link to that platform’s downloads.
v2rayN
7.24.1Recommended
The Desktop edition uses a modern cross-platform UI. It’s a good choice for first-time installs and for anyone who wants a consistent layout across desktop systems. The WPF edition retains the classic interface and is a stable option if you’re used to the traditional server list and settings windows.
Both downloads are ZIP archives. Extract the entire archive first, then run the installer or launch file inside. Don’t launch files directly from the archive preview.
Desktop filev2rayN-Desktop-Setup-x64-7.24.1.zip
Windows system requirements and installation
Check
Requirement
System & architecture
Windows x64. Check System type under Settings → System → About.
Package format
ZIP. Extract to a writable folder and keep the complete file structure intact.
Runtime components
If you see a missing runtime warning, install the required components listed for the current release.
Tun permissions
Grant permissions as prompted by the client. Check system proxy and Tun permissions separately.
Before installing, confirm that System type shows an x64-based processor. A successful launch doesn’t mean every dependency is ready. If the core exits as soon as you connect, check the startup error in the logs instead of assuming the server timed out. System and runtime requirements may change between releases; follow the installer prompts and current release notes.
On first launch, import a share link from the Server menu or add a subscription URL under Subscription groups. Select the profile you want to use, then set the system proxy to Automatically configure system proxy. Back up your groups and routing settings before switching editions. Don’t run two instances on the same local port at once; the second one may report that the port is already in use.
v2rayN
7.24.1
Open About This Mac from the Apple menu. If Chip shows an Apple M-series chip, choose Apple Silicon; if Processor shows Intel, choose Intel. Use the installer that matches your hardware architecture rather than relying on compatibility support.
Open the DMG and follow its installation instructions. Move the app to Applications before launching it. The first launch may require you to approve it in System Settings.
Apple Silicon filev2rayN-macos-arm64.dmg
macOS system requirements and installation
Check
Requirement
Apple Silicon
Apple M-series chip: choose the arm64 DMG.
Intel
Intel processor: choose the x64 DMG.
System compatibility
Check the current release’s macOS requirements. If the app won’t open, note the full system warning.
Traffic routing
System proxy and Tun have different permissions and use cases. Enable the option that fits your needs.
Don’t choose an installer based only on the device’s age; models in the same product line may use different chips. If macOS says the app architecture isn’t supported, check the processor in About This Mac instead of reinstalling the same file. Follow macOS’s built-in approval steps if it warns that the app can’t be verified. Avoid changing system-wide security settings just to launch one app.
After importing a configuration, test the system proxy in a browser. Terminals and some standalone apps may ignore system proxy settings, so a working browser alongside an app that connects directly doesn’t necessarily mean the configuration is broken. If you need to route more traffic, check Tun permissions and routing. When you’re done, disable traffic routing in the client first to avoid leaving proxy settings pointed at a process that has exited.
v2rayNG
2.2.6Recommended
Recommended Android client, using the Xray core. Most mainstream phones released since 2015 use arm64. If you’re unsure of your device architecture or Android won’t accept the arm64 package, try Universal, provided your system meets the current release’s requirements.
Import your configuration after installation and approve the system VPN request the first time you connect. The displayed version and package filename come from separate release fields. If their numbers differ, check the installed version in the app.
arm64 filev2rayNG_2.3.11_arm64-v8a.apk
v2flyNG
1.10.31Alternative · V2Fly core
An alternative Android client for users who need the V2Fly core and compatible configurations. It isn’t just a different skin for v2rayNG: protocol support and configuration fields depend on each app’s core. Before switching, check that your existing share links are recognized correctly.
Back up your configuration before switching clients. Disconnect the active VPN before launching the other app. Manage subscriptions and routing settings separately in each client.
arm64 filev2flyNG_1.10.31-fdroid_arm64-v8a.apk
Android system requirements and installation
Check
Requirement
arm64
The system must support arm64-v8a apps. A 64-bit processor doesn’t necessarily mean Android itself is 64-bit.
Universal build
Includes multiple architectures and is usually larger. It still requires a compatible Android version.
Install permission
Allow app installs from the browser or file manager you’re using. You can revoke this permission afterward.
Connection permission
Approve the VPN request on first connection and check whether another VPN app is already routing traffic.
Once the APK finishes downloading, open it from your downloads or file manager. If Android says the app wasn’t installed, check available storage, system architecture, and the signing source of any existing app. If an update fails because the signatures don’t match, don’t uninstall right away. Export your subscriptions and custom routes first, then decide how to migrate so you don’t lose local settings.
If the connection drops frequently, check Android’s battery optimization, background activity limits, and power-saving mode. Allow the client to run in the background, then test the connection with the screen locked. If it also fails in the foreground, check the node configuration and logs before changing battery settings. VPN approval only lets the app route traffic through Android; it doesn’t confirm a successful connection to the remote server.
v2rayN
7.24.1
Check your distribution’s package system first, then confirm the CPU architecture. Debian and Ubuntu typically use deb packages; distributions using the RPM package system use rpm. The same file extension doesn’t guarantee compatibility with every distribution, so check dependencies and system requirements before installing.
We recommend opening the package with your distribution’s software installer and reviewing its dependency warnings. A graphical desktop environment is required. These are desktop client packages, not server software.
deb x64 filev2rayn_7.24.1_amd64.deb
Linux system requirements and installation
Check
Requirement
Processor
x86_64 corresponds to x64; aarch64 corresponds to arm64.
deb package
Requires a Debian-family package system and all dependencies for the current package.
rpm package
Requires an RPM package system. Confirm which system environment the package targets.
Desktop & permissions
A graphical desktop environment is required. Grant permissions as prompted when installing software or enabling Tun.
Check your distribution and hardware architecture in About or System Information, then open the matching package with your software installer. If it reports unmet dependencies, note the component names and check your distribution version. Don’t force-convert a different package format and continue; conversion won’t resolve differences in runtime library versions.
After launch, import your configuration and check the logs for port conflicts. System proxy behavior varies across desktop environments, and some apps have their own proxy settings. Test in a browser first, then check each app that should use the proxy. If enabling Tun disrupts your connection, turn it off to restore your previous setup, then check permissions, DNS, and routing conflicts. Change one setting at a time so you can identify the cause.
02 / First launch
Three checks after installation
Downloading the client is only the first step. Importing a configuration, routing traffic through the client, and verifying the connection each require different checks. Follow them in order to separate installation problems from network configuration issues.
Import a share link or subscription in the client, then confirm it recognizes the server address, port, protocol, and transport settings. Subscription URLs may contain access credentials; don’t share the full URL in screenshots, public discussions, or diagnostic logs.
Choose how to route traffic
On desktop, check the system proxy; on Android, approve the VPN request. Tun changes the routing path for more traffic, so understand why you need it before enabling it. A working system proxy and an accessible remote server are separate things—test both.
Check the logs before changing settings
Select one profile to test, then check the logs for a failed connection, a DNS lookup failure, or a core that didn’t start. Change one setting at a time and test again. If the issue began after an update, keep a backup of your previous configuration and check whether the interface or configuration fields changed.
Which should you choose: v2rayN Desktop or the classic WPF edition?
For a first install, choose Desktop, which uses a modern cross-platform interface. If you prefer the classic window layout, choose the stable WPF edition. Match the architecture to your system. Back up your settings before switching editions, and avoid running two instances on the same listening port.
What’s the difference between Android arm64 and Universal builds?
Most mainstream phones released since 2015 use arm64, but check which app architectures your Android system supports. The Universal build includes multiple architectures and is worth trying if your device architecture is unclear or the arm64 build fails to install. If installation still fails, check system compatibility, available storage, and the signature of any existing app instead of repeatedly switching packages.
Can you install v2rayNG over v2flyNG, or vice versa?
These are separate apps, not interchangeable packages. v2rayNG uses the Xray core, while v2flyNG uses the V2Fly core, so manage their configurations separately. Before switching, export any settings you want to keep and confirm the new client supports your protocols. Allow only one app at a time to manage the system VPN connection.
Why does the displayed version differ from the number in the download filename?
The displayed version comes from the release manifest’s latest field, while the download URL comes from the selected platform’s download field. They may differ while a release is being updated. The filename alone doesn’t confirm the installed version; check About or Check for updates in the client after installation.
Why can’t I connect right after installing the client?
The client manages connection settings; the installer does not include a working server. First import a share link or subscription you’re authorized to use, select an active profile, then enable the system proxy or VPN. If the connection fails, check the logs to distinguish a configuration error, an unreachable server, or traffic that isn’t being routed through the proxy.
The download finished, but installation failed. What should you check first?
Check the operating system, CPU architecture, and package format first, then review any system warnings, available storage, and installation permissions. Extract Windows ZIP files before use. On macOS, choose the right build for Apple Silicon or Intel. On Linux, match the deb or rpm package system. On Android, allow app installs from the source you’re using.