v2rayN
RecommendedClose any running client before installing. When comparing the two interfaces, launch and test them one at a time to avoid multiple programs changing the system proxy.
CLIENT PACKAGES / Choose an installer
For desktop, choose v2rayN; for Android, start with v2rayNG. Check your operating system and architecture before choosing a package. Downloading a client and setting up a service are separate steps.
WINDOWS / X64
The same client offers two interface options. For a new install, start with Desktop; choose WPF if you’re used to the classic interface. Both downloads are for x64.
Close any running client before installing. When comparing the two interfaces, launch and test them one at a time to avoid multiple programs changing the system proxy.
| Check | What to look for |
|---|---|
| Operating system | Use a supported version of Windows 10 or 11. Check the installer for the package’s minimum requirements. |
| Processor architecture | Both downloads on this page are x64. Check your system type under Settings → System → About. |
| Installation | Extract the ZIP archive to a writable folder, then run the installer inside. Don’t launch it from the archive preview. |
| Runtime dependencies | If the installer reports a missing runtime, install the required component as instructed. Don’t confuse dependency issues with configuration problems. |
After the first launch, import a known-working configuration and set it as active. A successful import only means the client saved the settings; it doesn’t mean the system proxy is enabled. Before browsing, check the client’s system proxy settings. Command-line tools may use separate proxy environment variables, which you’ll need to check independently.
When upgrading, don’t delete the old configuration folder. Exit the client and back up your settings before running the new installer. After launch, check your subscription groups, custom routes, and local port. Once the connection works, you can remove old installation files. If only one app bypasses the proxy, check that app’s proxy settings instead of repeatedly switching installers.
MACOS / ARM64 · X64
Choose a DMG based on the chip shown in About This Mac. Apple Silicon and Intel use different architectures, so don’t choose based on the computer’s purchase year.
| Check | What to look for |
|---|---|
| Operating system | Use a macOS version supported by the current client build. If macOS reports that your version is too old, check the app’s requirements first. |
| Chip architecture | Go to Apple menu → About This Mac. Choose arm64 for Apple Silicon or x64 for Intel. |
| Installation | Open the DMG, copy the app to Applications, then launch it after copying is complete. |
| Permissions | Review any prompts about the app’s source and permissions. Approve only permissions whose purpose you understand. |
Once the app has been copied, you can eject the disk image. Launch it from Applications rather than running it from the mounted DMG. If macOS blocks the app, first check the download’s architecture and system compatibility, then review the details under System Settings → Privacy & Security. Avoid disabling system-wide protections to get past a warning for a single app.
After importing a configuration, check that the system proxy points to the address and port the client is currently listening on. Some browser extensions take over proxy settings and may override the system configuration. When troubleshooting, use a single proxy source. Restore the system proxy before quitting the client to avoid apps sending requests to a port where the local service is no longer running.
When moving a desktop configuration to a Mac, you can usually add the subscription URL again, but review local paths, listening addresses, and permission-related settings one by one. Don’t copy directory paths from another operating system into a custom configuration. For rule files, use a path that exists on the current device.
ANDROID / ARM64 · UNIVERSAL
Start with v2rayNG. Choose v2flyNG if you need compatibility with the V2Fly core. Most phones released since 2015 support arm64, but check which architecture your system actually supports.
The displayed version comes from the app-level manifest and may differ from the version in the package name. Check the package name and version display separately. See the download FAQ below for details.
| Check | What to look for |
|---|---|
| Operating system | Check the compatibility requirements shown by the APK installer. A 64-bit processor does not necessarily mean the operating system supports 64-bit apps. |
| Install permission | Grant install permission only to the browser or file manager you use to open the APK. You can turn it off again after installation. |
| Connection permission | When you connect for the first time, review and approve Android’s VPN connection request. Use only one VPN service at a time to manage your connection. |
| Background activity | If the connection drops after the screen locks, check the app’s battery optimization and background activity settings. |
After downloading the APK, open it from the download notification or your file manager. If you see an “Unable to install” message, check for an architecture mismatch, an unsupported system version, a different signature on an existing app, or insufficient storage. Don’t uninstall the old app without backing up your settings; uninstalling may also delete subscriptions and rules stored in the app.
After importing a configuration, select a profile and start the connection. The VPN icon means the local VPN service is running; it doesn’t confirm that the remote service is reachable. Check the client logs and test requests from an app. If only some apps use the proxy, review the client’s per-app settings and routing rules to make sure the test app isn’t excluded.
LINUX / DEB · RPM
Choose deb or rpm for your distribution, then select x64 or arm64. The same package format doesn’t guarantee full runtime compatibility, so review your package manager’s output before installing.
For arm64 systems · Check your architecture before choosing
| Check | What to look for |
|---|---|
| Desktop environment | Requires a desktop session that can run graphical apps. This page provides packages for the GUI client. |
| Processor architecture | Choose x64 for x86_64 / amd64, or arm64 for aarch64 / arm64. |
| Package management | Use the appropriate installer or package manager for deb or rpm packages, and let the system handle dependencies. |
| Runtime compatibility | Check the dependencies reported by the installer. If versions conflict, don’t force installation by ignoring dependencies. |
Open the downloaded package with your distribution’s installer. Review the app details and dependencies before confirming installation. If the app installs but won’t launch, note the exact error and check for issues with the graphical environment, runtime libraries, or file permissions. Don’t run a regular desktop app as an administrator just to get it to launch.
Desktop environments handle system proxy settings differently. Some apps may continue using their own proxy settings after the client changes the system proxy; terminal programs may rely only on environment variables. For your first test, use an app with a clearly defined proxy source and confirm the local listening port before testing other apps.
Check custom routing and DNS settings against the core used by your client. A successful package installation doesn’t mean every configuration field is supported. When migrating, test a minimal configuration first, then restore routing and DNS rules one at a time to pinpoint any issues.
AFTER INSTALL / First-time setup
The client stores and runs configurations. Service addresses, credentials, and subscription details come from your service provider; the packages on this page don’t include a ready-to-use service configuration.
01 / IMPORT
Share links that start with protocols such as vmess:// or vless:// usually contain a single profile and can be imported from the clipboard. A subscription URL is typically a complete web address: add it to a subscription group, then update the group. Pasting a subscription URL as a single-node link may not import the expected content.
After importing, check the protocol, server address, port, and transport settings. Logs, screenshots, and backups may contain credentials. Remove sensitive information before sharing them for troubleshooting.
02 / ACTIVATE
Importing only saves a configuration; you still need to select it and start the connection. On desktop, check the system proxy or the app’s own proxy settings. On Android, confirm VPN permission and per-app rules. Avoid letting multiple proxy clients change the same system settings, or it’ll be hard to tell which one is handling requests.
To test, first check that the client is running, then review the local listener and connection logs, and finally test an app. Keep the full error message when troubleshooting rather than relying on a single status indicator.
First identify whether the issue is with the package, device, or configuration, then take the appropriate steps.
For a first install, try Desktop, which uses a newer cross-platform interface. Choose classic WPF if you’re familiar with its interface or want to keep your existing workflow. Back up your settings before testing either version, and avoid letting both manage the system proxy at the same time.
Most phones released since 2015 support arm64, but check which app architectures your device’s operating system supports. If you’re unsure or see an incompatibility warning, try the universal version. It includes components for multiple architectures and is usually a larger download.
The displayed version comes from the app-level latest field, while each platform’s file comes from its download field. They may be out of sync while the manifest is being updated. Check the version display and filename separately; the app-level version does not necessarily describe every file.
Use the client’s backup or export feature to save subscription groups, any custom routing and DNS settings you need, and your local listening port. Share links and subscription URLs may contain credentials, so keep backups somewhere secure. After upgrading, test your existing settings before restoring the system proxy or VPN connection.
Installing the client does not provide a service configuration; you’ll need a valid configuration from an authorized provider. Import a subscription or share link, select a profile, and start the service. On desktop, check the system or app proxy settings; on Android, approve the VPN connection. Use the logs to narrow down configuration, DNS, or connection issues.