Choose your operating system, then your device architecture. Use v2rayN on desktop; on Android, start with v2rayNG and choose v2flyNG if you need its core.
Downloads are grouped by platform. Version details appear on each client card; use the specific download link to confirm the package name and architecture.
v2rayN
Recommended7.24.1
For managing subscriptions, servers, and routing on Windows. Both downloads are x64 archives; choose one based on your interface preference. You don’t need to install both.
Desktop edition · Desktop
Modern cross-platform UI; a good place to start with a new installation.
The desktop edition uses a modern cross-platform interface for a more consistent experience across desktop operating systems. The WPF edition is designed for Windows and retains a classic window layout. Different interface frameworks don’t mean core settings can be mixed freely. If a protocol or transport option isn’t available, check your client version and configuration requirements rather than switching editions as a workaround.
Extract the ZIP before running the installer; don’t launch it from the archive preview. Choose a location you can write to, and follow the installer prompts for any required runtime components. Standard system proxy settings usually don’t require elevated permissions. Before enabling Tun mode, check the client’s prompts for administrator access and virtual network adapter requirements.
Windows system requirements and installation checks
Check
What to look for
Before installing
Operating system
Use a Windows version that still receives support, preferably Windows 11. Check the installer requirements for other versions.
Install system updates, then address any prompts about missing runtime components.
Processor architecture
Both downloads on this page are x64.
Go to Settings → System → About and check System type.
Folders and permissions
You need write access to the installation and configuration folders.
Extract the archive first. Don’t mistake a permissions issue for a server problem.
Network control
System proxy and Tun mode have different permission requirements.
Test the system proxy first; enable Tun only if needed.
After launching the client, start with a minimal setup: open “Subscription Group Settings,” save your subscription URL, then select “Update current subscription (without proxy).” If the URL requires a proxy, choose the relevant update method once you have a working connection. Next, choose an active server, set your routing, and enable “Automatically configure system proxy.” For details, see the quick start guide.
Before switching between the desktop and WPF editions, exit the running instance and note your local ports and custom settings. Don’t let two instances compete for the same listening port or change the system proxy at the same time. If the old edition works but the new one won’t start, keep your configuration backup, review the installer prompts and client logs, and only then decide whether to restore the previous setup.
v2rayN
Desktop client7.24.1
Choose a DMG based on the chip listed in About This Mac. Select Apple Silicon for an Apple M-series chip and Intel for an Intel processor. Don’t guess based on the Mac’s appearance or purchase year.
Apple Silicon
For Macs with Apple M-series chips. Uses the arm64 build.
Installing the DMG and launching for the first time
Open the downloaded DMG and follow the window prompts to copy the app to Applications. Then launch it from that folder. Running the app from the mounted disk image long-term can complicate updates, configuration storage, and permission checks. Once the app is copied, you can eject the disk image.
If a security prompt appears on first launch, check the download source, file architecture, and prompt details. Then open System Settings → Privacy & Security to see whether macOS offers an option to allow this app. Don’t disable system-wide security just to launch the client. If macOS says the app can’t run, check whether the system version is unsupported, the architecture is wrong, or the app file is damaged, and address the relevant cause.
macOS system requirements and installation checks
Check
What to look for
Before installing
Chip
Apple M-series chips use arm64; Intel processors use x64.
Open About This Mac from the Apple menu.
macOS version
Check the app’s current requirements and any system prompts.
Note your macOS version and confirm it’s still supported.
App location
Launch the copied app from Applications.
Eject the DMG after copying the app.
Network permissions
System proxy and Tun mode require different permissions.
Grant permissions only for the features you use; avoid running multiple traffic-control tools at once.
After importing a subscription, test the system proxy in a browser before deciding whether you need Tun mode. If the browser connects but another app doesn’t, that app may not use the system proxy; this doesn’t necessarily mean the installation failed. Check the app’s own network settings, then see the proxy mode guide to choose how to route its traffic.
Before upgrading, quit the client normally and back up your configuration, then replace the app. If macOS asks you to authorize network-related features again, read each prompt before confirming. Old helper processes, other proxy tools, or existing virtual network adapters can affect connectivity. When troubleshooting, use just one traffic-control method at a time so you can isolate the cause.
v2rayNG
RecommendedXray core2.2.6
Recommended Android client. Most mainstream phones released since 2015 use arm64. If your device only supports 32-bit apps or you’re unsure of its architecture, try the universal build and check the installer’s compatibility prompt.
arm64
Recommended for mainstream Android devices that support 64-bit apps.
Installing the APK and setting up a VPN connection
Open the APK from your browser or file manager. When prompted, allow that app to install unknown apps. The permission applies to the specific app, so there’s no need to authorize every file manager. You can turn off the temporary permission after installation. If the installer reports a conflict with an existing app, check whether it comes from a different signing channel before uninstalling it and risking your configuration.
Import a configuration, choose a server, and tap Connect. Android will ask to set up a VPN connection; approve it so the client can route traffic through its local VPN interface. This system permission is not a server subscription, and it doesn’t mean all traffic goes through a remote proxy. Actual routing depends on the client’s rules and per-app settings.
v2flyNG
Alternativev2fly core1.10.31
Choose this based on the core compatibility requirements of your existing configuration. The v2fly core isn’t a drop-in replacement for every v2rayNG configuration. Before importing, check that its protocol, transport, and security settings are supported.
The two Android clients can serve different configuration needs, but use only one VPN connection at a time. Stop the current connection before launching the other client to avoid mistaking Android’s removal of the previous VPN connection for a client issue. When migrating a subscription, check your servers, routing, and per-app settings individually; don’t assume every preference transfers with the subscription URL.
Android system requirements and installation checks
Check
What to look for
Before installing
App architecture
Use arm64 on mainstream 64-bit systems; choose Universal for other supported architectures.
Check which app architectures your system supports, not just the processor model.
macOS version
The installer checks the package’s minimum Android version requirement.
If it’s incompatible, note the full error before trying again. Don’t repeatedly install over the existing app.
Install source
Your browser or file manager needs separate permission to install apps.
Temporarily allow installs only from the source you’re using.
Background operation
Battery optimization may interrupt the connection.
Adjust background restrictions as needed and monitor battery life.
If the connection drops when the screen locks, first check battery optimization, auto-start settings, and background activity limits—not the installer architecture. Allowing background activity can use more battery, so adjust it to match your needs. Follow the v2rayNG guide to import a subscription, then test browsing with the screen on, after locking it, and when switching networks to narrow down the issue.
The app’s displayed version and the APK filename may temporarily differ, and a download link may be updated before the app-level release information. Check the package version shown by Android’s installer, and don’t replace a newer version with an older one. If Android blocks a downgrade, keep the existing app and wait for a suitable update rather than uninstalling and risking your configuration.
v2rayN
Desktop client7.24.1
Choose deb or rpm based on your distribution, then check whether you need x64 or arm64. The primary downloads below are for x64 desktops; use the matching arm64 link on an ARM device.
deb · x64
For compatible distributions that use the deb package format.
Open the downloaded package with your system’s software installer or package manager, and review its dependency checks. deb and rpm are package formats, not a guarantee of compatibility with every distribution that uses them. The current rpm filename includes the el10 marker, so check your system libraries and distribution requirements carefully. Don’t force installation by ignoring unmet dependencies.
Complete the first launch in a regular user’s graphical desktop session. Import a configuration and test the system proxy before setting up network features that need extra permissions. Running the entire graphical client with elevated privileges is not a general fix for write-access or desktop proxy issues. Check the configuration folder’s ownership and the relevant permission prompts instead.
Linux system requirements and installation checks
Check
What to look for
Before installing
Package format
Use the deb or rpm format supported by your distribution.
Check dependencies with the system installer.
Processor architecture
amd64 and x86_64 mean x64; arm64 and aarch64 mean 64-bit ARM.
Check the architecture on your system’s About page.
Desktop environment
Requires a desktop session that can run graphical apps.
Make sure the display environment and required system libraries are available.
Proxy behavior
Apps don’t always use the desktop environment’s proxy settings.
Test individual apps first; consider Tun only if needed.
On Linux, setting a desktop system proxy doesn’t mean every command-line program will use it automatically. Browsers, desktop apps, and terminal tools may get proxy settings from different places. When troubleshooting, check which settings the app actually uses, then verify the local listening address and port. Differences in app behavior don’t necessarily mean the installer is faulty.
Before upgrading, use your system package manager to check the old package’s installation status, and stick with the same installation method if possible. Don’t alternate between system packages and manually copied files unless you know where the configuration is stored. If Tun mode disrupts LAN access or DNS, turn it off to restore basic connectivity, then follow the Tun mode guide to check permissions, routing, and DNS resolution step by step.
Configuration steps after installation
The client reads configurations and forwards traffic; it doesn’t provide a remote service. First, get a subscription URL or individual server configuration that you’re authorized to use, and check its source and expiry. A subscription URL may contain access credentials. Treat it like account information and don’t include the full URL in public screenshots or support requests.
Import a subscription. In v2rayN, open “Subscription Group Settings,” add a group name and subscription URL, save, then update the subscription. Saving the URL alone won’t create a list of servers. If the update fails, check the URL, network route, and response.
Choose an active server. After updating, select the server you want from the list and set it as active. A subscription group is just a collection; it doesn’t mean a specific server is selected. If you have multiple groups, check that the list and active server match your intention.
Set routing and proxy mode. Choose routing based on what you need to access, then enable “Automatically configure system proxy.” Routing determines where traffic already entering the client goes; the system proxy determines which apps send traffic to the client. They do different things.
Test the connection step by step. First, try a browser that uses the system proxy, then test other apps. Consider Tun mode only if you need to route apps that don’t use the system proxy. Change one setting at a time and keep your test steps consistent.
Keep an easy way to roll back an upgrade
Before upgrading, note your working proxy mode, listening ports, DNS settings, and custom routing rules, and back up your subscription groups and configuration. Exit the old instance before installing the new one. On first launch, test your existing basic connection; don’t change servers, DNS, and Tun settings all at once. If something goes wrong, you’ll be able to tell whether it came from the software update, configuration migration, or a change in your network.
Disk space, memory, and minimum OS requirements can vary with the client and its runtime components. This page doesn’t list unverified figures as universal requirements; check the current installer or package manager for compatibility details. If your device’s operating system is no longer supported, consider upgrading it rather than repeatedly trying installers for different architectures.
For step-by-step setup, see the quick start guide. To understand how subscriptions, cores, and routing work together, read the beginner-to-advanced guide. Downloading and installing the client is separate from configuring a remote connection: first make sure the client launches, then troubleshoot subscriptions and connectivity.
Common download and installation questions
Should I choose the desktop or classic WPF edition for Windows?
For a first installation, try the v2rayN desktop edition with its modern cross-platform interface. If you prefer the classic Windows interface, choose the WPF edition. Both require a valid configuration. Back up subscription groups and custom routing rules before switching editions, and avoid running both instances with system proxy control enabled.
How do I tell Apple Silicon and Intel macOS downloads apart?
Open About This Mac from the Apple menu. Choose Apple Silicon if it shows an Apple M-series chip, or Intel if it shows an Intel processor. Use the build that matches your processor; check the installer prompts to confirm that your macOS version is supported.
Should I download the arm64 or universal Android build?
Most mainstream phones released since 2015 support arm64, but the deciding factor is the app architecture supported by your device. Choose the universal build for some older devices or devices running a 32-bit system. If the package can’t be parsed, make sure the download is complete, then check your Android version and device architecture.
Why does the client’s displayed version differ from the installer filename?
The displayed version comes from app-level release information, while download links use separate platform records. They can temporarily differ during an update. Don’t infer the installer’s contents from the version text alone: check the package version shown by the system installer, and avoid replacing a newer installation with an older package.
Can I connect as soon as I download the client?
The client manages configurations and forwards traffic; you’ll also need a server configuration or subscription you’re authorized to use. After importing it, select an active server, check your routing, and enable automatic system proxy configuration or Tun mode as needed. This site does not provide servers or subscription services.
What should I keep before upgrading?
Back up the client’s configuration folder or use the export feature in your current version. Keep your subscription groups, custom routing rules, DNS settings, and local listening port details. Exit the old instance before installing the new version, then check each setting when restoring. Store backups containing subscription URLs or credentials securely; don’t share them publicly.