v2rayN
Recommended 7.24.1After the download finishes, extract the entire ZIP before running the installer. Don’t launch it from the archive preview.
V2Ray clients · Choose an installer
v2rayN for desktop, plus Android clients. Choose your operating system, then your processor architecture.
Both installers are x64. Choose the Desktop or classic WPF edition based on the interface you prefer.
After the download finishes, extract the entire ZIP before running the installer. Don’t launch it from the archive preview.
| Check | This installer | Before you install |
|---|---|---|
| Processor architecture | x64 | Check the system type shown in Windows; the OS name alone doesn’t confirm compatibility with other architectures. |
| System environment | Windows desktop environment | Follow the installer’s requirements for Windows versions and runtimes, and keep Windows up to date. |
| File access and permissions | A configuration location you can write to | For a standard connection, start with the system proxy. Grant additional permissions only when a feature requires a virtual network adapter or system-level network changes. |
If startup reports a missing runtime, note the component name and architecture in the message, then follow the installer’s instructions. Don’t assume a required runtime is installed just because other apps run on the same computer.
Check About This Mac for your chip, then choose the matching DMG installer.
Copy the app to Applications before opening it. Once installation is complete, you can eject the disk image.
| Check | What to choose | Before you install |
|---|---|---|
| Apple M-series | arm64 DMG | Choose the native app built for your chip whenever possible. |
| Intel processor | x64 DMG | Check that your macOS version meets the app’s requirements at launch. |
| System permissions | Grant network permissions as needed | Handle system permission prompts only when you enable the related feature. Keep the exact prompt text for troubleshooting. |
Quit the old client before upgrading and back up its configuration. Then replace the app in Applications. If the new and old versions use different configuration folders, migrate using an import method supported by the client; don’t overwrite configuration files you’re unfamiliar with.
For most users, start with v2rayNG. Consider v2flyNG if you have a specific need for V2Fly configurations.
For Android users with Xray-based configurations. Check each protocol, transport, and extended setting against the server configuration.
Don’t apply every Xray extension setting to V2Fly. Before migrating, confirm that the target client recognizes the settings you need.
| Check | Requirement | What to do |
|---|---|---|
| App architecture | arm64 or Universal | A 64-bit processor doesn’t necessarily mean the system provides the same 64-bit app environment. |
| Install permission | Allow APK installs from this source | Grant this permission to your browser or file manager only when needed. You can restore the previous setting after installation. |
| Connection permission | System VPN connection prompt | Read the system prompt when connecting for the first time. Run only one app that takes control of network traffic at a time. |
After downloading, open the APK in your system file manager. Check the app name before proceeding. If the installer says “App not installed,” possible causes include an unsupported architecture or Android version, a signing conflict, or insufficient storage. Don’t assume the package is unusable based on that message alone. Expand the error details, check for an older version installed from a different source, and then decide what to do.
Open the client, import your subscription, refresh the list, and select a server. The system VPN permission prompt on first connection is part of the network routing process; make sure it was triggered by the client you just installed. If your device has an always-on VPN or another network tool enabled, check for conflicts first. Test access after the connection is established, rather than repeatedly changing routing modes before importing a configuration.
Some Android systems restrict background activity. If the connection drops when the screen is off, check battery management, background activity, and network restriction settings, then adjust what’s needed. Balance connection stability against power-saving settings; there’s no need to grant every background permission. For more on core differences, see the client and protocol selection guide.
Check your distribution’s package format first, then confirm whether your system is x64 or arm64.
These packages are for the GUI client. Don’t use desktop installation or system proxy instructions on a command-line-only device.
| Check | What to choose | Notes |
|---|---|---|
| Package format | deb or rpm | Choose the format for your distribution. Renaming a file extension won’t convert the package. |
| Processor architecture | x64 / amd64 or arm64 / aarch64 | Naming varies across package systems. Check your system information to identify the right architecture. |
| Runtime environment | Compatible desktop environment and libraries | Being able to install a package format doesn’t guarantee that its dependencies are met. Check the installer output first. |
Starting at boot isn’t the same as launching after login. A desktop client usually runs once you sign in to a graphical session. Before enabling autostart, complete a successful connection manually and check that the system proxy is restored as expected when you quit the client.
After installation
Handle installation, configuration, and network testing separately to pinpoint which step needs attention if something goes wrong.
v2rayN, v2rayNG, and v2flyNG are GUI clients; installing one doesn’t automatically provide a server. Get a subscription URL or share link, import it, refresh the list, and confirm that your entries appear. Name subscription groups by source to avoid mixing them up when you update later.
Select a server, then enable the system proxy or the client’s connection mode. A desktop system proxy affects only apps that follow that setting; TUN routes more network traffic and requires additional permissions. For your first connection, verify the configuration in a basic proxy mode, then add routing, DNS, and TUN settings as needed.
Follow the steps to configure your client →Updating the client and updating a subscription are separate tasks. A client update replaces the app; a subscription update refreshes server entries. Updating the app won’t necessarily restore a subscription, and refreshing a subscription won’t change the installed client. If you can’t connect, identify which layer is failing before choosing what to update.
Before updating, note your subscription groups, routing presets, local ports, and custom settings. Use the client’s backup or export feature to save your configuration. Backups may contain subscription credentials, so store them somewhere you control. After updating, check that your settings are intact before resuming normal use.
Read about subscriptions and advanced settings →Download and installation FAQ
Check architecture, installation source, and configuration compatibility before switching packages.
The Desktop edition uses a newer cross-platform UI and is a good starting point for first-time installs or anyone who prefers a workflow similar to v2rayN on other desktop systems. WPF is the classic, stable edition for users who prefer the familiar Windows interface. Check that your system supports x64 before installing either version, back up your settings before updating, and avoid enabling the system proxy in both clients at once.
Most mainstream phones released after 2015 can use arm64, but check which app architectures your device actually supports. If you’re unsure, choose Universal; it supports multiple architectures but is usually a larger download. If installation reports an incompatibility, check the Android version and supported architecture instead of repeatedly installing the same package.
The two Android clients primarily use the Xray and V2Fly cores, respectively, so supported protocols, transports, and extended settings may differ. Some common share links can be imported, but that doesn’t mean every configuration is compatible. If your current setup works, keep the original client and check the target client’s support against your server settings before switching.
The client installer provides configuration management and connection features; it does not include a subscription or server. You’ll need a valid subscription URL or server share link. Import it into the client, refresh the list, select an entry, and then configure the system proxy or connection mode using the relevant documentation. Keep subscription credentials secure.
As a rule, update with a package for the same client and architecture, obtained from a compatible installation source. Whether you need to uninstall first depends on how the app was installed and its signing identity. Back up subscription groups, custom routing, and other settings, then quit the running client before updating. If you encounter a signing conflict, check the original installation source before uninstalling and risking local configuration loss.
Make sure the download finished, the file extension matches your platform, and your processor architecture, available storage, and OS are supported. Fully extract ZIP files on Windows; open the DMG and copy the app on macOS; use your distribution’s package manager on Linux; and check the installer’s exact error on Android. Keep the original error message for troubleshooting.
Need help with connections, DNS, or routing? Browse the FAQs or read the advanced guide.