Open-source GUI clientsSubscription import · Proxy routing

V2Ray GUI Clientv2rayN and v2rayNG

Import subscriptions, configure proxy routing, and choose a client for your device. Follow the configuration guides to get connected.

  • VMess
  • VLESS
  • Trojan
  • Shadowsocks
  • REALITY
Import share link vmess:// · vless:// · trojan:// · ss://

CONFIGURATION

Subscription, routing, and proxy settings

Keep three parts of the setup in mind: the client provides the interface, the core handles connections, and subscriptions supply server details. A successful import only means the configuration was recognized—you still need to select an active server, configure how traffic enters the client, and check routing. The interfaces below are examples; menu names may change between client versions, so follow the options in your installed version.

Import subscriptions in v2rayN

A subscription URL retrieves and updates server configurations in bulk; a share link usually contains a single configuration. On desktop, save the URL in a subscription group and then update it. On Android, add the URL in subscription settings or import a share link from the clipboard. Name groups by source or purpose to make failed updates easier to troubleshoot. Subscriptions reduce repetitive manual entry, but they do not sync local routing rules. After an update, check the protocol and active server—refreshing the list does not mean the connection works.

See how to import a subscription →

Subscription group settings

AliasName by source
Subscription URLEnter the URL provided by the subscription source
Enable updates
Update subscriptionFetch server configurations

Subscriptions and single share links are two different ways to import configurations. Keep the original subscription URL so you can update the same group later. Subscription updates may overwrite manually edited server settings, so save any important custom configurations separately.

Route traffic by domain and IP address

Routing determines whether requests handled by the core go direct, through a proxy, or are blocked. For everyday use, start with a suitable preset and add a few specific domain rules as needed. Rules are usually matched in order, so put rules for specific services before broader categories. geosite classifies domains; geoip classifies IP addresses. They are not interchangeable. Unlike changing the system proxy, routing selects an outbound path inside the core. After adding rules, reload the configuration and check the logs to confirm the expected route was used.

Read the proxy routing guide →

Routing rules · matched from top to bottom

geosite:private→ direct
geoip:private→ direct
geosite:cn→ direct
geosite:geolocation-!cn→ proxy

Example rule syntax. Category data files and outbound tags must match your actual configuration; copying text alone does not make a rule take effect.

Three system proxy options

System proxy settings determine how apps that honor them connect through the client. Common v2rayN options are Clear system proxy, Set system proxy, and Do not change system proxy. To get started, select a server, then enable the system proxy. Before exiting, clear any leftover settings if needed. Do not change means keeping the current system settings—it does not turn the proxy off. Unlike global routing, the system proxy does not force every program to use the client; browsers, terminals, and developer tools may have their own proxy settings.

System proxy vs. routing modes →

System proxy

Clear system proxyRemove system proxy settings
Set system proxyPoint to the local client
Do not change system proxyKeep current settings
Routing modeConfigure traffic routing separately

First confirm that traffic reaches the client, then check the outbound rules. Changing the routing mode alone will not help if an app is not using the proxy entry point.

TUN mode and core selection

TUN mode routes traffic through a virtual network interface. It can help with apps that ignore system proxy settings, but involves permissions, routing, and DNS. First verify the connection using the system proxy, then enable TUN if needed to avoid changing several things at once. Core selection affects compatibility with protocols and transport settings, so check your configuration and client support before switching. TUN is a way to route traffic into the client, not a separate node protocol, and it does not guarantee lower latency. If something goes wrong, return to the verified baseline settings first.

See TUN setup and troubleshooting steps →

TUN and core settings preview

Enable TUN mode
Auto route
Core type
XrayV2Fly
DNS settingsCheck alongside your routing setup

Available cores and TUN implementations vary by client. The options shown explain the configuration layers; they do not mean all three clients offer the same settings menus.

CLIENT SELECTION

Choose a V2Ray client for your platform

Use v2rayN on desktop and consider v2rayNG on Android; look into v2flyNG if you need a V2Fly core. Check your operating system and processor architecture before choosing a package. Protocol support also depends on the included core and server settings. Clients manage configurations; they do not provide subscription URLs or remote servers.

Windows

v2rayN: desktop and classic WPF editions. The desktop edition has a cross-platform interface, while the WPF edition retains the classic layout. Before installing, compare their interfaces and system requirements, then choose the one that suits your workflow.

After importing a configuration, select the server you want to use and set up the system proxy. If your browser connects but a developer tool does not, check the tool’s own proxy settings. Back up your configuration before switching editions, and avoid mistaking port conflicts from running two instances at once for a server problem.

Go to downloads →

macOS

v2rayN: choose the package for your processor. Apple Silicon and Intel require different package architectures. Check About This Mac for your chip or processor details; don’t rely on the computer’s appearance or purchase year.

When you first open the app, review any system prompts about the app’s source and permissions. Verify your subscription and server settings using a standard proxy setup before trying features that need additional permissions. The desktop interface is similar across systems, but system proxy and network permissions are managed by your current OS.

Go to downloads →

Android

v2rayNG is the first choice; v2flyNG is an alternative. v2rayNG uses the Xray core, while v2flyNG is for the V2Fly core ecosystem. Most newer phones use arm64. If you’re unsure of your device’s architecture, check the download page before considering a universal package.

You’ll need to approve the system VPN permission to connect. Other VPN apps may conflict with the current connection. If background connections keep dropping, check battery optimization and background activity permissions. A desktop and phone can use the same subscription source, but per-app proxy, routing, and DNS settings need to be checked on each device.

Go to downloads →

Linux

v2rayN: choose deb or rpm for your distribution. First check your distribution’s package format, then confirm whether you need x64 or arm64. Package format determines how the app is installed; it does not indicate protocol support or connection performance.

System proxy behavior varies across desktop environments, and terminal apps often rely on their own environment settings. If you need TUN, check the related permissions and routing changes. If the app starts but traffic does not reach it, check the local entry point and app settings before reinstalling the client.

Go to downloads →

Browse all clients →System requirements, architecture options, and installation instructions are on the downloads page.

PROJECT V / V2FLY / XRAY

Open-source clients and core ecosystem

“V2Ray” is often used as an umbrella term for a group of clients and protocols, but the interface, core, protocol, and server service are separate things. Understanding the distinction helps you identify which component to update, which configuration to check, and which problems cannot be solved by switching clients.

Project V: the roots of the configuration model

Project V is a modular proxy toolkit, and V2Ray is one of its widely used implementations. Inbound, outbound, and routing form the basic framework for understanding its configuration: inbound accepts requests from local apps, outbound determines how to connect to a destination, and routing chooses the path between them. GUI clients organize these settings into menus, lists, and switches, so everyday setup doesn’t have to start with a full configuration file.

This is why a successful subscription import and a working webpage are separate checkpoints. A subscription supplies connection parameters, but you still need to verify that the app uses the local entry point, the core starts, and the remote server is reachable. The setup guides cover these checks in order rather than treating every issue as a problem with the same connect button.

V2Fly and Xray: related, but different

The V2Fly community continues V2Ray’s development and maintenance. Xray originated in the related codebase and has developed its own protocol and transport capabilities. The two share many basic concepts, but configuration details and support for new features can differ. Even when a protocol name looks familiar, check the specific transport, security settings, and core support. A file extension alone does not tell you whether a configuration is compatible.

For example, REALITY involves a security mechanism related to the TLS handshake; it is not a protocol name you can swap in arbitrarily. The client core must support it, and its settings must match the parameters provided by the server. If a handshake fails, check the address, port, server name, and authentication parameters rather than just changing the display name in the interface.

Three clients: interfaces and open-source licenses

v2rayN is for desktop systems and manages everyday tasks such as server lists, subscription groups, and proxy modes. v2rayNG is for Android and provides mobile GUI configuration with the Xray core. v2flyNG is an Android option for the V2Fly core ecosystem. All three clients are open source. Refer to each project’s included files for its license, third-party components, and redistribution requirements.

Open source describes how code and licensing are made available; it does not mean every configuration is suitable for your device or remove the need to assess your subscription source. Subscription URLs may contain access credentials, so hide URLs, account identifiers, and authentication parameters before sharing screenshots or logs. Similar client names also do not mean their local backup files can be safely overwritten interchangeably.

Updates and maintenance: back up, then verify

The interface, proxy core, and rule data may update independently. Interface updates can change where options are found, core updates may affect protocol handling, and rule data updates can change domain and IP classifications. Save your subscription details and custom local rules before updating, and read the release notes. Afterward, test a known-working configuration before restoring complex routing; this makes it easier to identify which layer caused a change.

This site organizes download links and setup guides. It is not affiliated with the upstream development teams and does not provide nodes or subscription services. Settings shown in the guides explain the general workflow; actual menus may change. When a connection fails, note what triggered the issue and check the relevant logs. Then troubleshoot the local entry point, core startup, and remote server settings—in that order. This is usually more effective than resetting everything at once.

READING NOTES

V2Ray speed tests, logs, and configuration sync

Once the basic connection works, routine maintenance comes down to three questions: how to interpret test results, how to use logs to diagnose issues, and how to keep configuration sources consistent across devices. These articles start with what you observe, then walk through what to check, so a single test result isn’t mistaken for a lasting conclusion.

Advanced

V2Ray latency tests explained: TCPing, proxy latency, and download speed

Learn how the three speed tests in v2rayN and v2rayNG work: TCPing measures the handshake, proxy latency tests the full proxy route, and download tests measure throughput. Includes when to use each and common misinterpretations.

A successful handshake doesn’t mean the destination website is reachable, and download speed alone doesn’t predict how responsive a connection feels. Check what and where you’re testing before comparing results.

Read article →
Troubleshooting

How to read v2rayN logs: common errors and a step-by-step troubleshooting guide

Start with log levels, then learn what common errors such as connection refused, i/o timeout, and failed to handshake mean. Follow a troubleshooting sequence from the local port to remote server settings.

The same error can have different causes. Consider when it occurred, the destination address, and the surrounding log entries; this is more useful than searching only for the final error line.

Read article →
Platforms

Sync v2rayN and v2rayNG across devices: subscriptions, share links, and backup migration

Compare three ways to manage configurations across devices: use one subscription URL, share links or QR codes, or back up and migrate configuration files. Learn how to keep server settings and routing consistent between a computer and Android phone.

Using the same subscription source does not sync every local setting. Before migrating, distinguish server parameters, routing rules, and device permissions to avoid unexpected changes from overwriting configurations.

Read article →

Browse all articles →Learn more about proxy modes and protocol differences.