Client installersChoose an operating system, then an architecture
V2Ray client downloads v2rayN and Android clients
Choose an installer for your operating system. Use v2rayN on desktop, v2rayNG on Android, or v2flyNG as an alternative.
Free to useOpen sourceGUI configuration
The installer doesn’t include server configurations. After installation, import a subscription URL or configuration link you’re authorized to use.
Installer downloads
Choose your device’s operating system
Download only the installer that matches your device. After selecting a platform, check the installation requirements below its card.
v2rayN
Recommended7.24.1
Windows x64 installers are available in Desktop and classic WPF versions. If you’re new, start with Desktop; choose WPF if you prefer the classic menu layout.
A stable classic version with the familiar Windows desktop interface. If you already have a configuration, note which version you’re using before upgrading.
Windows installation requirements and steps
Requirement
What to check
Before installing
Operating system and architecture
For Windows x64; Windows 10 or Windows 11 that is still supported is recommended
Check your system type under Settings → System → About
Package format
ZIP archive containing the installer for the selected version
Extract the entire archive before running the installer
Runtime requirements
Runtime requirements depend on the selected version and release package
If prompted that a runtime is missing, install the required component
After downloading, open the save folder and extract the entire ZIP archive to a writable folder. Don’t launch the program from the archive preview; supporting files may not be extracted to the expected location. Close the old client before installing. The installation folder and configuration location may differ, so copying the program folder alone is not a complete backup.
An empty server list on first launch is normal. Open Subscription Groups → Subscription Group Settings, add a group and subscription URL, then update the subscription. Select a server and check that System Proxy at the bottom is set to Automatically Configure System Proxy. For the first test, use the system proxy. Once the connection works, adjust TUN mode if needed. Changing one setting at a time makes problems easier to diagnose.
When switching from WPF to Desktop, keep the original configuration and application, then check your subscriptions, routing, and listening ports in the new interface. Running both versions at once can cause a conflict on the local mixed-port listener. If a port is already in use, exit the other instance instead of reinstalling repeatedly. For more steps, see the v2rayN setup guide.
v2rayN
7.24.1
Check the chip name under Apple menu → About This Mac. Choose Apple Silicon if it shows an Apple M-series chip, or Intel if it shows an Intel processor.
For Intel-based Macs. Don’t infer the processor architecture from the computer’s appearance or purchase year.
macOS installation requirements and steps
Requirement
What to check
Before installing
Chip architecture
Apple Silicon uses arm64; Intel uses x64
Open Apple menu → About This Mac
Operating system compatibility
Check the compatibility notes for the current installer for its minimum macOS version
Note your macOS version; matching the chip does not guarantee system compatibility
Package format and permissions
DMG disk image; the Applications folder must be writable
Install to Applications and check system prompts on first launch
Open the DMG and follow the instructions in the disk image window to move the client to Applications. Then launch it from Applications. Don’t run it long-term from the mounted disk image. Before updating, quit the old client and make sure no instance is still running in the menu bar, then replace the app. If you’re told a file is in use, check for background processes instead of forcing the replacement.
If macOS blocks the app on first launch, confirm the download source and app name, then review the notice under System Settings → Privacy & Security. The steps may vary between macOS versions. Don’t run Terminal commands from unknown sources or disable system-wide security just to launch one app.
After importing a subscription, select a server in the client before enabling the system proxy. If websites still won’t load, check for a separate proxy extension in your browser and other network tools that may override the system proxy. To use TUN, follow the client’s instructions for granting permissions. Clear the system proxy before quitting the client to avoid leaving your browser pointed at a local port after the app has closed.
v2rayNG
Recommended2.2.6
An Android GUI client that uses the Xray core. Most mainstream phones released since 2015 use arm64, but the architecture supported by your device’s operating system is what matters.
An alternative if you’re unsure of your device’s architecture. Includes multiple architectures; you don’t need to install it alongside the arm64 version.
v2flyNG
Alternative · V2Fly core1.10.31
An Android alternative for setups that require the V2Fly core. Before choosing it, check that the client supports the protocols and transport methods used by your configuration.
Choose this if you’re unsure of your device’s architecture. Keep your subscription URL when switching clients; don’t assume both apps share a configuration folder.
Android installation requirements and steps
Requirement
What to check
Before installing
CPU and system architecture
Choose arm64 for most devices; choose universal if you’re unsure
Check your device specifications; some devices may use an older system architecture
Operating system version
Check the installer’s prompt for the minimum version required by this package
Check your Android version under Settings → About phone
Installation and connection permissions
Allow your current browser or file manager to install apps; VPN permission is required to connect
Allow installations only from the source you’re using, then turn off the permission afterward if you prefer
After downloading the APK, open it from your browser’s download list or file manager. If prompted to allow installation, check that the permission is being granted to the browser or file manager you just used. If Android says “App not installed,” check for an incompatible architecture, insufficient storage, or a signature mismatch between the old and new versions. The universal package can help with some architecture issues, but it won’t fix a signature conflict.
In v2rayNG, add a subscription URL under Subscription Group Settings, save it, then tap Update Subscription. When configurations appear in the list, select one and tap the connect button. On the first connection, Android asks for VPN permission; approve it to establish a device-wide connection. Phones usually can’t keep multiple VPN services of the same type active at once. Pause other apps using that connection before testing to avoid having VPN access switch between them.
If the connection drops when the screen locks, check battery management, background activity restrictions, and battery saver settings before changing the installer. If the issue occurs only on mobile data, compare the connection over Wi-Fi. To compare v2rayNG and v2flyNG, import the configuration into each client and check their logs separately. A configuration that one core can read may still use parameters unsupported by the other.
v2rayN
7.24.1
For Linux desktop environments. Check whether your distribution uses deb or rpm packages, then confirm whether your CPU architecture is x86_64 or aarch64.
For compatible Debian- and Ubuntu-based desktop distributions. The amd64 package name indicates the x64 architecture and isn’t limited to a particular CPU brand.
For compatible RPM-based distributions. Check that the dependencies and system version meet the package requirements; the file extension alone isn’t enough.
Check the architecture in system information, or run uname -m
Distribution and package format
Debian-based distributions typically use deb; RPM-based distributions typically use rpm
Check your distribution version and package manager compatibility
Desktop and dependencies
Requires a working graphical desktop, network connection, and compatible system libraries
Use your system’s software installer to handle dependencies, and note any errors
After downloading the matching package, open it with your distribution’s software installer. If dependencies are missing, note the library names and minimum versions, then decide whether the system needs updating. Don’t force the installation by ignoring dependencies or overwrite your system libraries with files from another distribution. Older distributions may lack required runtimes even when the architecture matches.
After installation, launch v2rayN from the applications menu and configure your subscription as a regular desktop user. The system proxy usually affects the current desktop session, but may not cover terminal tools or every application. First test in a browser that follows the system proxy, then check the proxy settings in other programs individually. TUN requires additional network permissions; don’t work around this by running the entire GUI client with elevated privileges long-term.
If you want the client to start automatically at login, first confirm that manual startup, subscription updates, and clean shutdown all work. Then use your desktop environment’s startup application settings. If two tray icons appear after an upgrade, check for both an old shortcut and a new autostart entry. For a more detailed desktop installation guide, see Installing deb/rpm packages and setting up autostart.
Before and after installation
Keep your configuration and verify the connection
Treat installation issues and connection problems separately. Change one thing at a time and keep notes that will help you reproduce the issue.
Before upgrading: back up and exit
Note the client name, interface variant, listening ports, and routing mode. Use the client’s export or backup feature to save your configuration. Subscription URLs may contain access credentials, so store backups securely and don’t show full URLs in screenshots or support logs.
Exit the old app before installing, and check that no instance is left in the system tray or running in the background. Check migration steps before changing architecture, installation source, or desktop interface variant. Don’t delete your existing configuration as soon as an installer reports an error; being able to restore the previous setup is better than repeatedly overwriting it.
First launch: import and select
After importing a subscription, check that the server list updates, then select a configuration and connect. A subscription distributes configuration; it isn’t a service bundled with the client. If a subscription URL has expired, access has lapsed, or the configuration is incompatible, address the issue at its source.
If an update fails, identify whether the error is a connection failure, access denied, or unrecognized content. If you already have a working connection, compare updating through the proxy with updating without the proxy. Don’t paste subscription URLs into unknown conversion websites; they may expose your access credentials.
Verify the connection: browser and system
On desktop, confirm the local listener is working before enabling Automatically Configure System Proxy. On Android, check VPN permission and connection status. Test an actual website you need to access. A single latency test reflects only one test method and can’t replace checking whether the site loads.
If the browser works but the terminal doesn’t, check the terminal’s proxy settings separately. If only some domains fail, check routing and DNS. Establish a baseline using one connection method; don’t run multiple clients and layer proxy extensions at the same time.
Troubleshooting notes: symptoms and logs
Record your operating system version, client name, architecture, and the exact error message. Specify whether the installer won’t open, the app exits on launch, subscription updates fail, or sites won’t load after connecting. Each stage points to a different troubleshooting path.
For a port conflict, check for another client. For DNS failures, check DNS settings. For disconnections when the screen locks, check background restrictions. Remove subscription URLs, access credentials, and personal network details before sharing logs. Find steps by symptom in the troubleshooting guide instead of assuming every issue is caused by the installer.
Download and installation FAQ
Common questions about choosing an installer
Why is the server list empty after installing the client?
The installer includes the client application, not server configurations. Get a subscription URL or configuration link you’re authorized to use. Add it under Subscription Groups in v2rayN and update the subscription, or import it from the clipboard. In an Android client, add the URL in Subscription Group Settings, then tap Update Subscription.
Which should I choose: the Windows Desktop or classic WPF version?
If you’re new to the client, start with Desktop, which uses a newer cross-platform interface. Choose the classic WPF version if you prefer the familiar Windows menus and want to keep your existing workflow. These are interface variants; neither includes server resources. Back up your configuration and exit the running client before switching.
Which Android package should I download if I don’t know my device’s CPU architecture?
Most mainstream phones released since 2015 use arm64, but check which architectures your device actually supports. If you’re unsure or the arm64 package is incompatible, choose the universal version. It includes multiple architectures and is usually larger. You don’t need to install both packages for the same client.
Do I need to uninstall the old client before upgrading?
Back up your configuration, exit the client, then upgrade using the same app, installation source, and architecture. Don’t delete the old configuration first. If Android reports a signature conflict, don’t keep retrying the install or uninstall right away. Check the app’s source and make sure your backup can be restored. Verify configuration migration separately when switching between desktop interface variants.
The client installed, but websites won’t open. Should I download it again?
First, make sure you’ve imported a configuration and selected a server. Then check the logs for local port conflicts or connection errors. On desktop, check whether Automatically Configure System Proxy is enabled. On Android, check VPN permission and connection status. Reinstall only if the application files are damaged, the architecture is incompatible, or installation failed.
What should I do if the download won’t start or stops partway through?
Check your browser’s download list for an existing task, along with available disk space and permission to write to the save folder. If the connection drops, restart the download of the same installer. Don’t try to open an incomplete file. If it still fails, note your operating system, architecture, package format, and browser error, then try again on a working network.
After installation, use the setup guide to import a subscription. To find answers by symptom, visit the troubleshooting FAQ.