Choose your operating system first, then your processor architecture. Use v2rayN on desktop and v2rayNG on Android.
Downloads are organized by platform. Installers, client interfaces, and subscription configurations are separate; after installation, import a server configuration you are authorized to use.
Windows clients
Two interface editions, both with x64 installers. For a first installation, consider Desktop.
v2rayN
Recommended7.24.1
Desktop edition · x64
Modern cross-platform UI for first-time installs and use across desktop systems.
Download DesktopZIP archive · extract before running the installer
Classic WPF edition · x64
A familiar, stable Windows interface with the classic settings layout.
Both editions manage servers, subscription groups, and proxy settings. They differ mainly in their UI framework and layout: Desktop uses a modern cross-platform UI, while WPF retains the classic desktop layout. Do not delete your existing configuration just to change interfaces. Export a backup first, then check your subscriptions, routing, and local listening ports in the new edition.
After downloading, extract the archive to a writable folder and run the installer inside. Do not launch it from the archive preview window. If the app reports a missing runtime on first launch, install the required component as prompted. If Windows displays a security warning, verify the file's source and app details; do not disable system protection globally.
Use a supported version of Windows 10 or 11 where possible. Check the installer for specific compatibility details.
Processor
Both downloads on this page are x64 packages. Find your system type under Settings → System → About. If you have an ARM device, check compatibility separately.
Permissions and folders
Make sure the configuration folder is writable. Standard system proxy and TUN have different permission requirements; check for administrator access before enabling TUN.
First connection
Import a subscription and update the server list. Select a server, then configure the system proxy. Check the client's settings for the local port.
Exit the old process before switching editions. Running both at once can cause port conflicts or competing system proxy settings.
macOS clients
Open About This Mac and choose the DMG that matches your chip or processor.
v2rayN
Desktop client7.24.1
Apple Silicon · ARM64
Choose this package if your chip is an Apple M-series processor.
Choose the installer by chip architecture, not just by your Mac's age or model. Open the Apple menu in the top-left corner and select About This Mac. If it lists a chip from the Apple M series, choose ARM64; if it lists an Intel processor, choose x64. Matching the package to your hardware avoids differences caused by compatibility layers.
Open the DMG and drag the app to Applications, then launch it from there. Avoid running it long-term from the mounted disk image, which can make updates and configuration storage confusing. If macOS blocks the app, read the specific reason under Privacy & Security. Verify the source and follow the system's provided steps; do not run unfamiliar Terminal commands.
Use a supported version of macOS. Minimum requirements may change with client updates; check the current app's startup message.
Chip architecture
Choose ARM64 for Apple M-series chips and x64 for Intel processors. Check About This Mac before downloading.
App location
Copy the app to Applications, ensure it can save its configuration, and eject the disk image before use.
Proxy coverage
System proxy works only for apps that use the system settings. For TUN, check network permissions and routing separately.
After installation, test the subscription and server configuration using the system proxy first. Consider enabling TUN only afterward. Testing separately makes problems easier to isolate.
Android clients
v2rayNG is the recommended choice. Most mainstream phones released after 2015 use arm64; consider the universal version if you are unsure of the architecture.
v2rayNG
Recommended2.2.6
arm64
Recommended for mainstream Android phones that support 64-bit apps.
v2rayNG uses the Xray core and lets you import subscriptions, select servers, and configure per-app proxying on Android. Install the downloaded APK with the system installer. If prompted, temporarily allow the browser or file manager you are using to install unknown apps, then revoke that permission after installation.
The first time you connect, Android displays a VPN permission prompt. Approve it to let the client handle the selected traffic. Phones generally cannot run two VPN services at once; check for another active VPN, work-profile network policies, or filtering apps that use the VPN interface. Per-app proxying changes which apps are covered; it does not replace server configuration.
v2flyNG
Alternative · V2Fly core1.10.31
arm64
Choose this client if your configuration requires the V2Fly core.
v2flyNG is an Android alternative based on the V2Fly core. Choose it to meet configuration requirements, not as a different interface theme. Similar import workflows do not guarantee identical protocol settings or feature support. If your configuration uses a specific transport or extension, check client and core support before migrating.
The two Android clients store their configurations separately. Before switching, export anything you need, then import it into the other client and check routing, DNS, and app coverage. Stop the other client's connection while testing to avoid mistaking a VPN service conflict for a subscription problem. Store exported files and subscription links securely.
Package format and processor architecture are separate requirements. Debian and Ubuntu-based distributions typically use deb; choose rpm for distributions with an rpm package manager. The same file extension does not guarantee compatibility with your system libraries. If the package requires a newer runtime than your system provides, check the package manager's error for missing dependencies. Do not force installation by ignoring them.
Open the downloaded package with your system's software installer, review the changes, and authorize the installation. Afterward, launch v2rayN from the app menu, import a configuration, and test a standard proxy connection first. Support for system proxy settings varies by desktop environment; some apps require you to enter the local proxy address manually. A successful installation does not mean every app is using the proxy.
A desktop session capable of running graphical apps is required. This page is not for deploying a command-line-only service.
Architecture names
amd64 and x86_64 usually correspond to x64; arm64 and aarch64 correspond to ARM64. Use the architecture reported by your system.
Packages and dependencies
Choose deb or rpm for your distribution and let the system package manager handle dependencies. Older systems may not meet the current package's runtime requirements.
Network permissions
Test the local listener with a standard proxy first. TUN and routing changes require additional permissions; avoid running your entire desktop session with elevated privileges.
Before configuring launch at startup, confirm that manual launch and connection both work. Troubleshoot startup failures separately from server connection issues.
Post-install checks
Import a configuration, connect, and update
The installer only sets up the client. An empty server list on first launch is normal. Once you have a subscription URL you are authorized to use, create a group in the client's subscription manager, enter a name and the full URL, and update it. Do not paste a subscription URL into a server address field or include explanatory text from a webpage. If the list is still empty, check the logs to distinguish an incorrect URL, an access failure, or an incompatible format.
Test one connection before adjusting routing
After selecting a server, check system proxy settings on desktop or confirm VPN permission on Android. Test with a page you know should load, then check other apps. System proxy provides an entry point only to apps that use the system settings, so a working browser and a terminal that cannot connect do not necessarily indicate a failed installation. To route more app traffic, read the TUN and routing guide, changing one type of setting at a time.
Routing, DNS, and app coverage all affect where requests go. If a connection fails, note the current mode and the error in the logs, then revert or adjust settings one at a time. Avoid changing the installer, subscription, DNS, and routing mode all at once; otherwise, it is hard to tell what fixed the problem. Client startup, subscription updates, and server connections are three separate checks.
Back up your configuration before updating
Before updating, use the client's backup or export feature and note your subscription groups, custom routes, DNS, and listening ports. On desktop, exit the old process from the system tray before installing. On Android, you can usually update the same app if it has the same signing key. If the system reports a signing conflict, do not uninstall the old app immediately. Confirm your backup works before deciding how to migrate; uninstalling may also delete app data.
The version shown on a card and the installer filename may come from different fields in the release manifest, so they may not be updated at the same time. Check the actual version in the client's About screen or app information page. After updating, confirm your subscriptions and routes are still there and test the connection. Remove old folders or installers only once everything works.
Download and installation help
Installer FAQs
First check your operating system, architecture, and installation method. For full connection setup, see the user guide; for more troubleshooting steps, visit the help center.
What do I need after downloading a client?
The client manages configurations and starts connections; the installer does not include a working server. Prepare a subscription URL or server configuration you are authorized to use. Import it, update the subscription, select a server, then configure system proxy or VPN mode. Subscription URLs may contain access credentials, so do not share them publicly.
Which Windows edition should I choose: Desktop or WPF?
For a first installation, consider the Desktop edition with its modern cross-platform interface. If you prefer the familiar classic layout, choose the stable WPF edition. Both downloads are x64 packages. Back up your configuration before switching editions, and avoid running both clients on the same listening port.
Should I download the Android arm64 or universal version?
Most mainstream phones released after 2015 use arm64, but check which app architectures your system supports. If you are unsure or the arm64 package is reported as incompatible, try the universal version. If you see a package conflict, check the app source and signing compatibility first; do not delete your existing configuration.
Will updating the client delete my subscriptions or routing settings?
A standard in-place update of the same app usually preserves settings, but migration can depend on the version gap, installation method, and storage permissions. Before updating, use the client's backup or export feature and note your subscription groups, routing, and DNS settings. Exit the old process before installing, then remove old files only after confirming the connection works.
What if a browser download is interrupted or the installer will not open?
Check your browser's download history to confirm the download finished and that you have enough disk space. If the connection dropped, download the file again; do not change its extension to force it open. Extract Windows ZIP files first. On macOS, open the DMG and drag the app to Applications. Android APKs are handled by the system installer. On Linux, choose deb or rpm for your distribution.
The app installed but cannot connect. Should I try a different installer?
Check your configuration before reinstalling. Confirm the subscription has updated and a server is selected, then check system proxy or VPN permissions, routing mode, and DNS settings. System proxy settings affect only apps that read them; terminals and some standalone programs may need a proxy configured separately. Use the specific error in the logs to guide further troubleshooting.