Client downloads and architecture

Download a V2Ray client

Choose a client for your system, then select a package for your processor.

Use v2rayN on desktop and v2rayNG on Android. Choose v2flyNG if you need the v2fly core. Check your device before downloading the matching file.

Free and open source Graphical interface Subscription import

Windows:v2rayN

One client, two interfaces. Desktop is the recommended choice for your first install.

v2rayN

7.24.1
Recommended

Desktop uses a next-generation cross-platform UI, making it a good fit for first-time users and anyone who wants a consistent experience across desktop systems. WPF is the established, stable edition with the familiar Windows interface. Both are graphical clients; you can import a subscription without writing configuration by hand.

Both downloads are ZIP archives. Once the download is complete, extract the entire archive before running the installer inside. Don’t launch it from a temporary folder in your archive utility’s preview.

System and installation requirements

What to checkWhat to look for
Operating systemUse a supported, maintained version of Windows 10 or 11. Follow the installer’s compatibility prompt for specific requirements.
ArchitectureBoth download options on this page are x64. Check your system type under Settings > System > About first.
InstallationExtract the ZIP before running the installer inside. Follow any prompts to install required runtimes.
PermissionsRegular subscription use and TUN require different permissions. Grant additional permissions only if you enable TUN.

Import your subscription, then configure the proxy

In v2rayN, add your subscription URL and update it. Confirm nodes appear in the list, then set the node you want to use as active. A subscription URL and a single-node share link are different: use subscription management for the former and clipboard import for the latter. Saving a URL to a group without updating it may leave the node list empty.

Start by testing system proxy with apps such as browsers that follow system proxy settings. Some apps have their own network settings and won’t use the system proxy; consider TUN for those cases. TUN involves a virtual network adapter and routing, so don’t enable multiple traffic-capture methods just because a page won’t load. Before closing the client, clear the system proxy to prevent other apps from trying to use a local port that is no longer available.

Before switching from WPF to Desktop, back up your subscriptions, routing rules, and custom settings. Don’t run both editions at once on the same local listening ports, and don’t assume separate install directories share a configuration. After migrating, check the active node, system proxy status, and startup options before removing the old installation.

After installation

Import a subscription and test the connection

Downloading is just the first step. Check your configuration, traffic routing method, and actual access in that order to find issues faster.

Get a valid configuration

The client reads your configuration, runs the core, and manages the proxy; it doesn’t provide ready-to-use nodes. Get your subscription URL from a trusted provider. Copy the entire URL, taking care not to include spaces, line breaks, or punctuation from a chat message.

A subscription may contain access credentials. Don’t post the full URL in public forums. When reporting an issue, describe the error and hide server addresses, user IDs, and subscription parameters.

See how to import a subscription →

Choose how to route traffic

On desktop, start with the system proxy to test apps that follow system settings. Configure TUN only if you need to capture other traffic. On Android, the system VPN interface routes traffic; client settings can limit which apps use it.

Global routing and TUN are separate settings. Global routing determines which outbound connection traffic uses after it enters the client; TUN determines how traffic enters the client. Routing rules determine whether traffic connects directly.

Read the all-platform setup guide →

Record connection results

Choose one node, stick to one proxy mode, and test the target app. A successful latency test only confirms that the test received a response; it doesn’t replace testing an actual web page or prove that every domain and app can connect.

When troubleshooting, note the client name, system architecture, proxy mode, and any error in the logs. Change one setting at a time to see whether the issue comes from the subscription, node, DNS, or the app’s own proxy settings.

Find common issues by symptom →

Download and installation FAQ

Common questions about choosing an installer

Check package format and architecture first, then troubleshoot your connection settings.

Can I connect as soon as the client is installed?

Installing a client alone won’t establish a proxy connection. You’ll also need a valid node configuration or subscription URL. Import it, update the subscription, choose a node, and select a suitable proxy mode. The client does not include a subscription service.

Which should I choose: the Windows Desktop or classic WPF edition?

For your first install, consider Desktop, which features a next-generation cross-platform interface. Choose the classic WPF edition if you prefer the familiar Windows UI. Both downloads are x64 packages, so check your system architecture before installing and back up your configuration before switching editions.

Should I download the arm64 or universal Android version?

Most phones released since 2015 can use arm64, but check which app architectures your device supports. If you’re unsure or the arm64 package reports incompatibility, try the universal version. It supports more architectures and is usually larger.

Will updating the client keep my subscription and routing settings?

Settings are usually preserved when updating the same app in the same configuration location, but installation method and cross-version migration can affect the outcome. Back up or export your configuration using the client’s built-in tools before updating. Don’t delete app data first; afterward, check your subscriptions, active node, and proxy mode.

What should I check first if the installer won’t open?

First, confirm the download finished. Then check that the file format, processor architecture, and system version are compatible. Extract Windows ZIP files before use. On Android, allow installs from the current source; on macOS, check the Privacy & Security prompt; on Linux, review dependency errors in the package manager. Don’t disable system-wide security protections to troubleshoot an install.