A modern cross-platform interface, ideal for first-time installs and users who want a consistent desktop experience. The download is a ZIP archive. Extract it, then run the installer inside.
A stable, classic edition with a Windows WPF interface, suited to users familiar with the traditional layout. It’s a separate interface option, not a component you need to install alongside Desktop.
Both downloads are x64 packages. Before installing, check your system type under Settings → System → About to avoid confusing processor architecture with the Windows product name.
System requirements and installation order
Check
What to choose and prepare
System and architecture
64-bit Windows; use the x64 installer. Check the installer’s prompts for compatibility with your specific Windows version.
Installation permissions
Extract the package to a writable folder. Grant permissions if prompted by the installer or the TUN network component.
Runtime requirements
If you see a missing runtime message, install the required components as directed by the installer. Don’t rely on the filename to tell you whether a runtime is included.
Before installing, quit any running client, and check the taskbar notification area for background processes. Don’t run the program from the ZIP preview; extract the entire archive to avoid startup failures caused by missing files. Before upgrading, back up your subscription groups and custom routing, then use the same installation source.
On first launch, import your subscription and update its groups. Confirm that available configurations appear before enabling system proxy. System proxy affects only apps that follow that setting; read the TUN guide if you need to route other traffic. If webpages stop working after you quit the client, check whether the system proxy still points to a local port that is no longer active.
For devices with an Apple M-series chip, as shown in About This Mac. Choose the native package for your chip; don’t decide based on whether the device is a laptop or desktop.
For devices with an Intel processor, as shown in About This Mac. Here, x64 and 64 in a filename both refer to the corresponding 64-bit processor architecture.
System requirements and installation order
Check
What to choose and prepare
Chip type
Choose arm64 for Apple M-series chips and x64 for Intel processors.
System compatibility
Use a macOS version that still receives system updates. Check the app’s prompts for its minimum version requirement.
Installation and permissions
Make sure you have enough space for the app. Follow system prompts when changing proxy settings or enabling network components.
After opening the DMG, copy the app to Applications and launch it from there rather than running it from the disk image. If you see a security warning on first launch, check the download source and warning, then review the Open Anyway option under Privacy & Security in System Settings. Avoid disabling system-wide security for a single app.
A successful installation only means the client can run; you still need to import a configuration and enable a suitable proxy method. Before using system proxy, note the current settings for your network service so you can restore them later. If proxy behavior changes after switching between Wi-Fi, Ethernet, or another service, check that service’s settings instead of repeatedly reinstalling the client.
Usually the best choice for mainstream phones released after 2015. Check which app architectures your system supports; a 64-bit processor doesn’t always mean the system has a full 64-bit app environment.
For devices with an unknown architecture or when you need compatibility across architectures. The universal package includes multiple architectures, but won’t resolve every system version or app signature conflict.
For configurations that require V2Fly core compatibility. Before choosing, confirm that the protocols and settings used by your subscription are supported. The client name alone doesn’t guarantee that a configuration can be migrated as-is.
Choose the universal package if you’re unsure of your device’s architecture. Before switching from v2rayNG, disconnect the current client to avoid both apps competing for the system VPN connection.
System requirements and installation order
Check
What to choose and prepare
Device architecture
Choose arm64 for most 64-bit systems; choose universal if you’re unsure of the architecture.
Installation permissions
Grant installation permission only to the browser or file manager you use to open the APK.
System permissions
The first time you enable VPN mode, confirm the system connection request. The device manages background activity.
When the APK finishes downloading, open it from your downloads or file manager. If installation is blocked, allow installs only from the source you’re using, then revoke permission afterward if you like. If Android says the app wasn’t installed, check for an existing app with the same name but a different signature, then check available storage and system compatibility. Don’t immediately delete the old app or its settings.
The system VPN permission prompt on first connection is normal for VPN mode. If the connection drops after the screen has been off for a while, check battery optimization, background activity, and auto-start settings. Menu names vary by device; change settings only for this client. If battery use seems high, first reduce repeated speed tests and frequent updates, then check the logs. There’s no need to disable every background restriction at once.
For desktop distributions such as Debian and Ubuntu that use DEB packages. The amd64 in the filename means x64 architecture; it doesn’t indicate a particular processor brand.
For compatible distributions that use RPM packages. A matching package format doesn’t guarantee matching dependencies; check your package manager’s requirements for system libraries and runtimes.
Requires a desktop session that can run graphical apps. This installer isn’t a service configuration for a headless server.
Processor architecture
x86_64 and amd64 correspond to x64; aarch64 corresponds to arm64.
Dependencies and permissions
Use your distribution’s package installer to handle dependencies. Follow prompts to grant additional permissions if needed for network routing.
Check your architecture and distribution on the system’s About page. Open the matching package and install it with your graphical package manager. If dependencies are missing, check your distribution version and package compatibility instead of forcing the installation past dependency checks. After installation, launch the client from the app menu and confirm that the graphical interface displays correctly.
Desktop proxy support varies across Linux environments. Even when the client sets a proxy, some apps may use their own network settings. First test with a browser that follows the desktop proxy settings, then configure other apps or TUN as needed. Note your existing settings before changing network routing to avoid multiple interception methods running at once.
The right package ensures the client works on your device; it doesn’t guarantee a working connection. v2rayN, v2rayNG, and v2flyNG all require a valid connection configuration. Before you start, prepare a subscription URL or individual configuration and confirm you’re authorized to use it. Hide the full URL, account details, and server credentials in public screenshots.
Import and update your subscription. Enter the URL in the subscription group or import menu, save it, then update. Confirm that configuration entries appear in the client before continuing. If none appear, check the update result to determine whether the URL is invalid, the network request failed, or the format is unsupported.
Select a configuration. Importing successfully doesn’t automatically switch to the new configuration. Check which one is selected. For your first setup, keep the default routing to avoid changing DNS, rules, and connection settings all at once, which can make problems harder to diagnose.
Enable a proxy method and test it. On desktop, start with system proxy; on Android, enable VPN mode if needed. Test a regular webpage and domain resolution first, then decide whether you need TUN or custom routing. After testing, learn how to disconnect and restore your network settings.
Before upgrading, export important settings and separately note custom routing, DNS, and local ports. Backup files may contain sensitive information; store them securely. Once backed up, stop the proxy and quit the old process before installing the new package. If switching interfaces or installation sources, check how to migrate your settings first. Don’t assume an in-place install will work for every migration.
After installation, first check that your existing configuration loads, then test the connection. Avoid rewriting all your settings on first launch. If something goes wrong, note the error and steps to reproduce it; this is more useful for troubleshooting than repeatedly uninstalling and reinstalling. For client and core differences, see the comparison of three clients. For more on routing and DNS, see the Routing Rules guide.
Download and installation FAQs
Desktop or classic WPF for Windows: which should you choose?
For a first install, try Desktop, which uses a modern cross-platform interface. If you prefer the traditional Windows layout, choose the classic, stable WPF edition. Both downloads are x64 packages; pick one. Back up your settings before switching, and don’t run both clients at the same time.
Should you download the arm64 or universal Android version?
Most mainstream phones released after 2015 should use arm64, but check which app architectures your system supports. Choose the universal version for older devices, custom systems, or when you’re unsure. If installation fails, check system compatibility, available storage, and signature conflicts with an existing app.
Does installing the client automatically include a subscription?
The client reads configuration and handles connections; it does not include a subscription service. After installation, import a subscription URL or configuration you’re authorized to use, select a configuration, and set up system proxy or VPN mode. Subscription URLs are sensitive and should not be shared publicly.
The displayed version and installer filename don’t match. Which should I trust?
The version shown on the card and the installer path are separate fields in the release list and may update at different times. Treat the displayed version as a reference; the file linked by the download button is the installer to use. After installation, check the actual version in the client’s About screen. Don’t change numbers in the filename to try downloading another version.
Do I need to uninstall the old version before updating the client?
Back up your subscription groups, routing rules, and custom settings, then quit the old client. Whether you can install over it depends on the package format, app signature, and installation source. Stick with the same source when possible. If signatures conflict, don’t delete app data until you’ve confirmed your backup can be restored.
The download and installation are complete, but webpages still won’t load. What should I do?
First, make sure you’ve imported a valid configuration and selected it. Then check whether system proxy, VPN, or TUN is actually enabled. Review the logs for connection and DNS errors, and check the subscription, system clock, port conflicts, and other proxy apps. Change one setting at a time to help pinpoint the cause.