Free and open source · GUI client

V2Ray Download

v2rayN for desktop, v2rayNG for Android, and v2flyNG as an alternative.
Choose your platform, then your processor architecture.

The installer runs the client; you’ll need to supply a subscription or service configuration separately to connect. Start with the default settings, import your configuration, and test the connection before adjusting routing or DNS.

4 platforms3 clientsXray · v2fly coresVMess / VLESS / Trojan / Shadowsocks

Prepare to install on Windows

Windows requirements and permissions
ItemWhat to check
System architectureAll downloads above are x64. Check your system type under Settings → System → About first.
OS compatibilityYou’ll need a Windows environment supported by the client and its runtime components. Follow the installer’s prompts.
Write accessMake sure the installation location and configuration folder are writable. Extract the archive fully before launching the app.
Network permissionsThe system proxy usually doesn’t require elevated permissions; TUN may require administrator approval.

After downloading the archive, don’t launch the program from the archive viewer. Extract all files to a writable folder, then run the installer. If Windows reports a missing runtime component, install the required component as indicated instead of copying files from another application folder.

If you already use v2rayN, note your local listening ports and system proxy status first. Quit the old instance before updating or switching versions so two clients don’t compete for the same ports. After installation, check your subscription groups and selected configuration before enabling the system proxy. If your browser has a separate proxy setting, verify that port too.

What to check after installation

Check the client, service configuration, and traffic routing separately. Verify a basic connection before adding custom rules; this makes problems easier to isolate.

01

Import a service configuration

Import a single share link from the clipboard. Add subscription URLs under a subscription group, then update it. Don’t use a subscription website’s information page URL in place of its subscription endpoint, and never post a full subscription URL in a public support request.

If the list is empty after an update, check that the URL is complete and reachable, then temporarily clear any keyword filter. A successful client download doesn’t mean the subscription endpoint is accessible; troubleshoot those connections separately.

Subscription formats and import options →
02

Choose how to route traffic

On desktop, start with the system proxy; on Android, use VPN mode for your first test. v2rayNG’s “Proxy only” mode exposes a local proxy but doesn’t route every app through it automatically. Use it when you know how to configure an app to use that proxy.

Per-app proxy settings control which apps use the connection. Start with a small, simple selection, confirm that your browser works, then add apps one at a time. Don’t run multiple clients that manage network traffic simultaneously.

Choose a mode and test the connection →
03

Keep a way to roll back

Back up your settings before changing routing, DNS, or TUN. If something goes wrong, revert the latest change, restart the connection, and test again. For certificate errors, check the system time and service configuration instead of disabling certificate validation.

To help diagnose a problem, note the error message, client name, system architecture, and steps that led to it. Logs may contain server addresses or authentication details; remove sensitive information before sharing them, and store backups securely.

Advanced routing, DNS, and configuration →

Choosing an installer and narrowing down issues

Troubleshoot “won’t install,” “won’t start,” and “won’t connect” separately. For installation failures, check the package format, architecture, and OS requirements. If the app won’t start, check its runtime components, permissions, and error message. If it opens but won’t connect, check the subscription, selected configuration, system time, and proxy mode. Repeatedly switching installers won’t fix server authentication or routing issues.

If a download is interrupted, check your browser’s download history and available storage, then click the appropriate link again. Wait until the file is fully downloaded before opening it with the installer. Renaming a saved file in your browser doesn’t change which download you chose, but note the client, platform, and architecture when troubleshooting so you can distinguish between downloads.

The displayed version and actual filename may be maintained separately in the manifest; the page doesn’t infer an upgrade path from them. After installation, check the client’s About page for the actual version and keep a working copy of your configuration. If a new problem appears, review your most recent changes instead of resetting subscriptions, ports, DNS, and every routing rule at once.

Download and installation FAQs

Should I choose arm64 or universal for Android?

Most mainstream phones released since 2015 are best suited to arm64, but the supported app architecture depends on the operating system. A 64-bit processor does not necessarily mean the OS supports 64-bit apps. If you are unsure which architecture your device supports, try the universal build. If installation still fails, check OS compatibility and the installer’s error message.

What’s the difference between the Windows Desktop and classic WPF versions?

The Desktop version uses a newer cross-platform UI, while the classic WPF version has a traditional Windows desktop interface. New users can start with Desktop; if you’re familiar with WPF, you can stick with the classic stable version. Back up your settings before switching, and don’t let both versions manage the system proxy at the same time.

Which macOS download should I choose: Apple Silicon or Intel?

Open About This Mac from the Apple menu and check the Chip or Processor field. Choose Apple Silicon for an Apple M-series chip, or Intel for an Intel processor. Match the installer architecture to your Mac’s hardware.

Why can’t I connect after installation?

The installer contains only the client, not a working service configuration. Import a valid subscription or share link, select a configuration, and start the connection. On Android, approve the VPN request. On desktop, enable the system proxy or configure an app proxy as needed.

What should I save before updating the client?

Use the client’s backup or export feature to save your configuration first. Note your subscription groups, routing, DNS, per-app proxy rules, and local listening ports. Keep backups somewhere you control, and don’t share configuration files containing subscription URLs or authentication details.

The version shown on this page differs from the installer filename. Which should I trust?

The displayed version and download link come from separate manifest fields, so they may temporarily be out of sync. Don’t edit the download URL based on the filename. After installation, check the actual version in the client’s About page. To update, return to this page and choose the download for your platform.

Visit the Help Center for installation and troubleshooting →