Windows · x64
v2rayN
7.24.1Desktop uses a newer cross-platform UI, while classic WPF keeps the familiar Windows interface. Desktop is a good place to start.
The file is a ZIP archive. Extract it after downloading, then run the installer inside.
Choose your operating system, then check your processor architecture.
Windows · x64
Desktop uses a newer cross-platform UI, while classic WPF keeps the familiar Windows interface. Desktop is a good place to start.
The file is a ZIP archive. Extract it after downloading, then run the installer inside.
| Check | Requirements and guidance |
|---|---|
| System and architecture | This page provides x64 packages. Check the relevant release notes and installer for the minimum supported Windows version. |
| Installation file | Extract the ZIP archive fully. Don’t run the installer from the archive preview. |
| Runtime components | If the installer reports a missing runtime component, install the one it identifies. Don’t install unrelated components based on their names. |
| Permissions and network | Standard proxy and Tun modes have different permission requirements. Before enabling Tun, check permissions, virtual network adapters, and possible conflicts with other VPNs. |
Close any running client before installing. Don’t run both versions at once: they may compete for the same local listening port or overwrite each other’s system proxy settings. To switch versions, back up your configuration first, then check subscription groups, listening ports, and routing mode in the new interface. Once the connection works, you can remove the old folder. Uninstalling the old version shouldn’t be your first troubleshooting step.
macOS · Choose by chip
Check your chip under Apple menu → About This Mac. Choose Apple Silicon if it lists an Apple chip, or Intel if it lists an Intel processor.
Open the DMG and follow its instructions to move the app into Applications. Then launch it from the Applications folder.
| Check | Requirements and guidance |
|---|---|
| Chip architecture | Apple Silicon uses arm64; Intel uses x64. Check the details shown in About This Mac. |
| System version | Check your version in About This Mac. Refer to the installer prompt and release notes to confirm compatibility. |
| Install location | Copy the app to Applications before ejecting the disk image. This avoids running it from a temporary mounted location. |
| Network permissions | Grant the permissions required for your chosen proxy mode. Stop the connection before switching modes to avoid conflicts with other network tools. |
If macOS blocks the app, don’t keep trying to open it. First identify whether the warning is about an incompatible architecture, developer verification, or a damaged file. After confirming the source, review developer verification options under System Settings → Privacy & Security. If macOS gives a clear security warning, stop and verify the source again. Before updating, note your existing proxy settings and quit the client before replacing the app, so no old process keeps using its files or ports.
Android · Xray core
Most phones released since 2015 should use arm64. If you’re unsure of your device’s architecture, choose universal. Check which app architectures your system actually supports.
APK installer. The first time you connect in VPN mode, confirm the system’s VPN connection request.
Android · v2fly core
Use this client if your existing configuration is specifically intended for the v2fly core. Check the protocol and transport settings before importing; feature support can vary between cores.
This is a different client from v2rayNG. When switching, import your configuration again and check routing and per-app settings separately.
| Check | Requirements and guidance |
|---|---|
| Processor architecture | Choose arm64 if your device supports that app architecture. The universal build covers multiple architectures and is usually larger. |
| System version | Check Settings → About phone. See the current APK’s installer checks and release notes for specific compatibility details. |
| Install permissions | Grant install permission only to the browser or file manager you’re using. Revoke it afterward if you no longer need it. |
| VPN and background access | Confirm VPN permission the first time you connect. For continued use, check battery optimization, background activity, and auto-start restrictions. |
If Android can’t install the APK, check the specific reason: incompatible architecture, unsupported system version, and a signature mismatch with an existing app all require different fixes. The universal build only helps with architecture selection; it won’t bypass system version or signature restrictions. Device age is only a rough guide. Some devices have 64-bit processors but their system still limits which app architectures can run.
After opening the client, import your configuration before connecting. VPN permission lets the client route traffic through Android’s network interface; it doesn’t mean the remote server is reachable. If the connection drops when the screen locks, check battery optimization and background restrictions. If only some apps can’t connect, check whether per-app proxy is set to bypass selected apps or proxy only selected apps. Reconnect after changing the app list so the new rules take effect.
See notes on VPN permission and battery settings →Linux · deb / rpm
Check your distribution’s package format, then the processor architecture. Debian- and Ubuntu-based systems typically use deb; Fedora- and RHEL-based systems typically use rpm. Check dependency compatibility as well.
Open the package with your distribution’s software installer. If dependencies are missing, read the installer’s message instead of forcing the installation past dependency checks.
| Check | Requirements and guidance |
|---|---|
| Package format | Choose deb or rpm according to your distribution’s package manager. Renaming a file extension does not convert a package. |
| Hardware architecture | For x64, use amd64 / x86_64 packages; for arm64, use arm64 / aarch64 packages. |
| Desktop environment | A desktop environment that can run graphical apps is required. Check the installer for specific system library and runtime requirements. |
| Proxy routing | Desktop environments and apps may handle system proxy settings differently. Test with one app first, then check permissions before enabling Tun. |
After installation, launch the client from the application menu and check that its main window opens normally. Missing dependencies reported by the installer and connection failures after launch are separate issues. For the former, check system libraries and package compatibility; for the latter, check your configuration, listening address, and proxy mode. Don’t run your entire desktop session with elevated privileges to fix an ordinary startup issue, and don’t enable multiple traffic-routing methods before testing the standard proxy.
The app opening, the configuration importing, and traffic being routed are three separate checks.
The client does not provide a server. Start with a subscription URL or configuration you’re authorized to use. Add and update it in your subscription group, then select a server once an available configuration appears. Subscription URLs may contain access credentials; don’t post them publicly or share them with logs.
On desktop, start with the system proxy settings that suit your apps. On Android, confirm VPN mode and system permission first. You can configure Tun mode, per-app proxy, and custom DNS later, one at a time—there’s no need to enable them all before your first connection.
Follow the steps to make your first connection →System proxy
This interface illustrates how the settings relate; it isn’t interactive. Menu locations may vary between clients and versions. Refer to the app you’re using.
Before installing or updating, back up subscription groups, manually added configurations, and custom routing rules. Backups may contain sensitive information, so store them somewhere you control. After updating, connect using your existing mode first. Once the logs show no persistent errors, restore advanced settings one at a time. This makes it easier to identify which change caused a problem instead of guessing among several toggles.
After connecting, test with the apps you actually need to use. An enabled system proxy setting only confirms that the system setting changed; not every app reads it. A VPN icon in the Android notification bar doesn’t guarantee that the current server is reachable. If a test fails, note the client name, system details, exact error, and steps to reproduce it. Before sharing logs, redact subscription URLs and authentication details.
First choose the right package, then handle install permissions and connection settings.
For a first install, start with Desktop, which uses a newer cross-platform interface. Classic WPF is the established Windows version for users who prefer the familiar layout. Both require a valid configuration. Back up your settings before switching, and avoid running both versions at once to prevent local port conflicts.
Most phones released since 2015 should use arm64, but check which app architectures your system supports. The universal build includes multiple architectures and is a good option if you’re unsure which one your device needs. If you see an architecture compatibility warning, check your device details instead of reinstalling the same file.
The client does not include a usable server configuration. You’ll need a subscription URL or configuration you’re authorized to use. Import it, select a server, choose system proxy or VPN mode, and connect. A successful installation only means the app is ready—it doesn’t mean a network connection has been established.
Back up your configuration and routing settings, then close the old client and follow the installer’s update instructions. On Android, an in-place update usually works when the package name and signing key match and the version supports upgrading. If you see a signature mismatch, don’t uninstall yet—export your configuration first. Moving to a different client is not a routine in-place update.
First check your chip in About This Mac to rule out an installer for the wrong architecture, then read the exact system warning. If it relates to developer verification, confirm the app’s source and review the options under System Settings → Privacy & Security. If macOS reports a damaged file or malware risk, stop and verify the source again. Don’t disable system-wide security protections.
Quit any other proxy or VPN, confirm your regular connection works, then check the client logs and configuration. On desktop, check Automatically configure system proxy and the local listening port. On Android, check VPN permission and background restrictions. If only some apps are affected, review their proxy settings and routing rules. Change one setting at a time.