Open-source clients Downloads · Setup guides

V2Ray Navigator v2rayN Client Download

Choose an open-source client for your system, start by importing a subscription, then configure routing and system proxy.

  • VMess
  • VLESS
  • Trojan
  • Shadowsocks
  • REALITY

Choose a client by operating system

Use v2rayN on desktop; on Android, start with v2rayNG and choose v2flyNG when you need a V2Fly core.

A client organizes configuration and starts the core, but connection parameters must come from a usable server configuration. Installing the client alone does not enable a connection: you need at least one subscription URL, share link or set of server parameters entered manually. Treat subscription URLs as account credentials when storing or transferring them.

You can import the same subscription on multiple devices, but whether it works depends on the subscription format, client parsing and core support. Matching profile names on a computer and phone do not mean per-app or system proxy settings are synced with the subscription.

Browse all clients →

Subscriptions, routing and proxy settings

Understand configuration sources, traffic destinations and app access separately. The examples below are for reference only.

Keep configuration sources in subscription groups

In v2rayN, open “Subscription Group Settings,” create a group, enter a note and subscription URL, then save and select “Update subscription.” Groups distinguish configuration sources, while notes make them easier to find later. Unlike pasting share links one by one, a subscription can be fetched again when the server updates its entries. If an update returns no results, first check that the URL is complete and the subscription is valid, then review the logs. Keep the old group while troubleshooting to avoid repeating steps.

Settings locationSubscription group settings
Group noteEveryday configuration
After savingUpdate subscription

Setting names can change between client versions. Start with each feature’s role: subscriptions provide configuration, the core runs it, the system proxy or VPN interface directs app traffic into the client, and routing chooses the outbound. Tracking these four layers separately helps you troubleshoot “imported but cannot connect” from the layer closest to the symptoms.

See protocol and core selection guide →

Three steps to get started

Establish a repeatable connection first, then add rules, switch cores or adjust DNS.

Step 1 · Prepare configuration

Import a subscription or share link

After installation, open the client and confirm that the main screen loads normally. In v2rayN, open “Subscription Group Settings,” add a group and save the subscription URL, then select Update from the subscription menu. Saving the URL without updating will not populate the list. For a single share link, copy the full content and use the clipboard import option.

In v2rayNG, choose an import method from the add option on the main screen, then update the subscription. After importing, check the protocol, server address, port and transport settings. Do not enter a subscription URL as a server address. QR codes and clipboard content may include credentials, so hide those fields before taking screenshots.

Step 2 · Set up app access

Choose a profile and routing mode

Select the profile you want to use, then confirm the routing mode. For your first connection, keep the client’s default rules to avoid changing several conditions at once. On desktop, select “Set system proxy automatically” to connect apps that follow the system proxy. On Android, read and confirm the VPN permission prompt shown by the system when starting a connection.

The system proxy switch controls app access, while rule mode selects the outbound; neither replaces the other. If your browser has its own proxy configured, check whether it still points to an old port. During testing, close other programs that change proxy settings to avoid conflicts.

Step 3 · Verify the result

Check logs and app access

After starting the client, check the logs for configuration parsing errors, port conflicts or connection failures, then test the service you need in the relevant app. A profile appearing in the list or the interface showing that the client is running does not replace testing from the app. Once it works, record the profile, routing mode and proxy access method as a baseline for future changes.

If only one app fails, check whether it follows the system proxy, is excluded by per-app rules or uses its own DNS. If all apps fail, review the server parameters and local connection logs. Change one condition at a time and test before moving on.

Before updating the client, save your current configuration and any essential group details. Subscriptions can be fetched again, but manual routes, app lists and interface preferences may not be included. When restoring settings, verify the basic connection first, then restore custom options; applying old settings all at once can bring the original problem into the new setup.

Read the full guide →

Project V and the core ecosystem

Project V laid the foundation for V2Ray. V2Fly continues its community maintenance, while Xray has developed along a separate core path from the shared foundation. The client provides the interface; the core runs the configuration.

Shared origins do not mean full compatibility

V2Ray brings inbound and outbound connections, routing and transport together in one configuration system. Graphical clients turn these configurations into menus you can use. V2Fly and Xray retain many of the same concepts, so documentation often uses familiar field names and outbound tags. A shared foundation helps explain the configuration, but does not mean every parameter can be copied directly between cores.

When choosing a core, start with the protocol and transport combination provided by the server, then check whether the client can preserve all required fields. A feature supported by one core may use a different name, default value or implementation in another. See the protocol reference for scenario-based details on REALITY, transport options and subscription compatibility.

Three clients, each a different configuration entry point

v2rayN targets desktop systems and manages subscription groups, routing and system proxy settings, with configuration workflows for different cores. v2rayNG targets Android, uses the Xray core and connects app traffic through the system VPN interface. v2flyNG also targets Android and offers the V2Fly core as an alternative. Choose based on your operating system and protocol requirements, not just the product name.

All three clients are available as open-source projects. Clients, cores and bundled components may use different open-source licenses; review each license before using, redistributing or modifying them. Open source describes how code and licensing are made available; it does not replace everyday checks of download sources, configuration content or system permissions.

Subscriptions, clients and rules update separately

Updating a subscription usually changes available profiles and related parameters; it does not upgrade the client. A client update may change the interface, fix import issues or update core integration. Updating rule resources affects domain and address categories. Track these separately so you can identify which update changed connection behavior.

For long-term use, keep a verified configuration baseline. After an update, check subscription profiles, the selected profile and routing mode, then review the startup logs. If you need to roll back, restore the layer you just changed first. Treating “update subscription” as a universal fix is unlikely to resolve port conflicts, permission restrictions or app access issues.

V2Ray Navigator organizes downloads and setup steps

V2Ray Navigator organizes download links, setup guides and protocol background for three clients. It is an independent navigation and reference site, not the official website of these clients. The guides focus on common graphical workflows; check installation requirements, menu names and available features against the client you use.

No single protocol choice suits every device. VMess, VLESS, Trojan and Shadowsocks use different parameter structures; REALITY is a security-layer technology and should not be treated as a replacement at the same level as a proxy protocol. Import the exact combination provided by the server first, then consider resource use, Android background policies and maintenance costs. This usually produces a more reliable setup than choosing based on a name alone.

Read about protocol, core and subscription compatibility →

Client setup notes

Practical details for device migration, Android background use and desktop permissions.