Xray core for Android

V2Ray for Android

A central hub for client downloads, subscription imports, and routing and DNS setup. Choose a client for your device, then follow the guide to make your first connection.

Free forever Open source Xray · V2Fly Chinese setup docs
Choose by device

Client downloads for four platforms

Desktop users can start with v2rayN, while Android users can choose between v2rayNG and v2flyNG. Each link opens the relevant platform tab, with package types, system requirements, and architecture details on the next page.

Windows

Use the v2rayN desktop edition or the classic WPF edition. The desktop edition uses a cross-platform interface, while WPF suits users who prefer a traditional Windows workflow. Check your system architecture before downloading, then import your subscription using the guide.

Go to downloads

macOS

v2rayN provides desktop installers for different processor architectures. On the download page, choose Apple Silicon or Intel based on your device; if unsure, check your system information first.

Go to downloads

Android

v2rayNG uses the Xray core and offers clear controls for subscriptions, routing, and per-app proxying; v2flyNG uses the V2Fly core as an alternative implementation. For most modern devices, check the arm64 package first.

Go to downloads

Linux

v2rayN provides desktop packages for common Linux distribution families. Choose deb for Debian-based systems and rpm for Fedora, Rocky Linux, and similar systems, then select the file matching your processor architecture.

Go to downloads
Configuration capabilities

Subscription groups, routing, and per-app proxying

A client does more than establish a connection. Subscription updates, proxy traffic, DNS resolution, and app-specific handling all affect everyday reliability. The four groups below cover the most common configuration tasks.

01 / SUBSCRIPTION

Multiple subscription groups and server filters

Subscription groups are useful for keeping work, personal, and test configurations separate. Give each subscription a clear name, update them independently, check their update times, and filter servers by alias or keyword. This keeps nodes from becoming one long undifferentiated list and makes it easier to see which group a particular update affected.

When importing for the first time, keep the complete address provided by the subscription provider. After confirming that updates work, set an automatic update interval. QR codes are better for temporary device-to-device transfers; for long-term maintenance, use the subscription address. If the list is empty after an update, check the group filters before reinstalling the client.

Subscription groups Manage
Daily use Auto-update · Every 24 hours
Backup configuration Manual update Not selected
Server filter Name or keyword
Open-source ecosystem

Project V, V2Fly, and the Xray core family

Understanding the relationship between cores and clients helps with software selection and prevents interface features, protocol capabilities, and subscription contents from being conflated. A graphical client imports, edits, and starts configurations; the core it invokes handles protocols, transports, and routing.

PROJECT V

Shared origins of the protocol and configuration ecosystem

Project V established configuration concepts such as VMess, routing rules, inbounds, and outbounds. Later community development produced several core families. They share many foundational ideas while following separate paths for implementation pace, protocol extensions, and configuration details.

V2FLY

The community-maintained V2Ray core

V2Fly continues V2Ray's open development direction, covering VMess, VLESS, routing, DNS, and multiple transport combinations. v2flyNG is built on this core and provides a graphical configuration interface for Android.

XRAY

A core branch focused on extensibility

Xray is closely related to the V2Ray configuration ecosystem and continues to expand VLESS, REALITY, routing, and transport capabilities. v2rayNG commonly uses the Xray core, and v2rayN can manage related configurations through its desktop interface.

Open-source protocols and reviewable implementations

v2rayN, v2rayNG, and v2flyNG are all open-source clients. Open source means the code, change history, and issue discussions can be reviewed by the community rather than relying on a single vendor's closed documentation. Choose a client based on practical factors such as purpose, system compatibility, maintenance status, and core requirements.

Clients and cores typically use separate open-source licenses. Licenses define how code may be used, modified, and redistributed, enabling different maintainers to improve a shared foundation. The site documentation focuses on using graphical interfaces and does not replace each project's own license or technical documentation.

Keep core capabilities separate from the client interface

Whether a protocol works first depends on whether the core can parse the relevant configuration; how easy an option is to use depends on whether the client exposes it in a graphical interface. If a client does not show an advanced parameter, the core may still support it through a custom configuration.

Troubleshooting also starts by identifying the layer: subscription updates belong to client management, protocol handshakes belong to the core connection layer, and system proxy or VPN permissions belong to the operating system. Classifying the issue correctly before checking logs or changing settings greatly reduces unrelated work.

Community maintenance and release cadence

Clients and cores are developed by different maintainers, so their release dates do not need to match. Client updates may focus on the interface, system compatibility, and configuration migration, while core updates may affect protocol implementations, routing behavior, and bug fixes. The download page lists each app separately to avoid treating different projects as one version stream.

Before upgrading, save subscription addresses and custom rules that are still in use. For updates after a long gap, read the client's change notes and check whether the old configuration needs migration. If the current setup is stable, back it up first and schedule the upgrade for a suitable time.

How the three clients differ

v2rayN targets Windows, macOS, and Linux desktops, with tools for system proxies, subscriptions, and routing. v2rayNG targets Android, uses the Xray core, and provides mobile settings such as VPN mode and per-app proxying. v2flyNG also targets Android but primarily uses the V2Fly core.

The device platform comes first; core preference comes second. Desktop users will usually choose v2rayN directly. Android users who rely on Xray extensions can choose v2rayNG, while those who prefer the V2Fly approach can explore v2flyNG. Compare the details in the selection guide.

Featured FAQs

Installation, subscription, and connection troubleshooting

When something goes wrong, first distinguish an installation failure, an empty subscription, a failed server connection, and a connection that cannot open websites. Each symptom calls for a different checking order; handling them together often leads to repeated changes to unrelated settings.

Open the help center ›
Why are there no servers after importing a subscription into v2rayNG?

First confirm that the complete subscription address was imported, then run an update manually. If the update reports success but the list is empty, check whether the current group has a keyword filter enabled and whether it excludes every entry. If nothing appears, verify that the subscription is still valid.

What should I check first when connected but websites will not open?

Confirm that the system proxy or VPN mode is active, then check routing mode and DNS. If domains fail but direct IP access works, focus on DNS resolution. If every request fails, review connection errors and matched rules in the client logs.

How should I choose between VMess and VLESS?

The protocol must match the server configuration; switching it only on the client will not work. VMess is an established full-featured protocol, while VLESS is lighter and often paired with TLS, REALITY, and other transport-security settings. See the quick concept reference for related terminology.

Why do routing or DNS changes appear to have no effect?

Reconnect the current connection after saving so the core reloads the configuration. During testing, change one variable at a time and clear existing browser connections or DNS cache. If routing, DNS, and the system proxy all change together, it is difficult to tell which step made a difference.

Latest updates

V2Ray configuration and troubleshooting articles

From post-connection access failures and node timeouts to first-time Windows setup, these articles organize checks and actions around real problems.

V2Ray connected but there is no internet: a step-by-step checklist for proxy ports, routing mode, and DNS

When the client says it is connected but websites will not open, the node is often not the problem. Check the system proxy, local port, routing mode, DNS resolution, and TUN conflicts in order; most cases can be isolated within ten minutes.

Read the full article ›

v2rayNG node connection timeout: six troubleshooting steps to follow

When node testing times out or the connection drops immediately, check system time, transport parameters, TLS settings, subscription status, and the local network environment in order instead of repeatedly guessing across multiple settings.

Read the full article ›

Complete v2rayN Windows setup: choosing between the desktop and WPF editions and avoiding common pitfalls

From choosing the desktop or WPF edition to extracting and running it, importing a subscription, enabling the system proxy, and setting routing mode, this guide covers first-time setup plus permission and firewall considerations.

Read the full article ›