Xray Core Client Guide Downloads and setup

Xray Downloads and Routing

Choose a GUI client for your platform, then complete subscription import, system proxy, and traffic routing setup in order. This page also explains how Xray and V2Fly cores relate to their clients.

Xray-core Free to use Open source Chinese documentation

CONFIGURATION FLOW

One Configuration Across Four Platforms

The client interfaces differ, but the core workflow stays the same: choose the program for your operating system, import a valid subscription, confirm which traffic the proxy will handle, then use routing rules to determine the outbound path for each type of connection.

INPUT

Subscriptions in One Group

Save each subscription URL to a group before updating it. The client reads the configuration and rebuilds the server list. Multiple sources can be managed in separate groups, keeping updates and filtering independent.

CORE

Xray and the V2Fly Core

The GUI client handles importing, selection, and status control. The core handles protocol processing, DNS, inbounds, outbounds, and route matching, keeping the two layers clearly separated.

OUTPUT

Rules Determine the Outbound Path

Routing checks domains, IPs, and processes in order; once a rule matches, the connection is handled by the direct, proxy, or block outbound.

SUBSCRIPTION

Save the URL, Then Update the List

Importing a subscription does not mean using a web address directly as a server connection. The client first saves the subscription URL, requests its configuration, and generates selectable server entries only after parsing succeeds. On the first attempt, verify that the URL is complete and place sources in the appropriate groups. After saving, choose “Update Subscription” and wait for the list to refresh. Future updates use the same entry point; there is no need to add servers one by one again.

If the list is still empty after an update, check the system time, network access, and subscription validity first, then review the request result in the client log. This separates URL, network, and parsing issues.

Subscription Groups
└─ Default Group
   ├─ Add Subscription
   ├─ Update Subscription
   └─ Filter Servers

URL structure:
https://example.invalid/sub?token=xxxx

CLIENT DOWNLOADS

Choose a Client by Operating System

Use v2rayN on desktop platforms; on Android, choose between v2rayNG and v2flyNG. The download page also explains package types, processor architectures, and system requirements.

DESKTOP

Windows

Use the v2rayN GUI client and choose between the desktop edition and the classic WPF edition. After installation, import a subscription first, then configure the system proxy and routing policy.

  • Well suited to everyday desktop browsing and app proxying
  • Supports subscription groups, routing, and TUN settings
Go to Downloads

DESKTOP

macOS

Choose the v2rayN Apple Silicon or Intel package for your device’s processor. On first launch, follow the system prompts to allow the app and configure network permissions.

  • The package must match your processor architecture
  • Confirm system proxy and network permissions separately
Go to Downloads

MOBILE

Android

Choose v2rayNG with the Xray core by default; choose v2flyNG when you need the V2Fly core. Most recent devices use arm64; if unsure, check the system architecture information.

  • Supports scanning, clipboard, and subscription import
  • Choose the client that matches your core requirements
Go to Downloads

DESKTOP

Linux

Use the v2rayN desktop client and choose a deb or rpm package for your distribution. On ARM hardware, also select the corresponding arm64 build.

  • The package type must match your distribution
  • Check the system proxy separately for your desktop environment
Go to Downloads

OPEN SOURCE ECOSYSTEM

How Project V, V2Fly, and the Xray Core Relate

Clients, cores, protocols, and subscription services belong to different layers. Keeping these concepts separate makes it easier to identify whether an issue lies in installation, configuration, or connectivity.

From Project V to the Core Family

Project V is an open-source technology ecosystem built around network proxy protocols and composable configurations. Early on, the name V2Ray referred both to the core program and, more broadly, to related protocols, clients, and configuration formats. As the project evolved, V2Fly continued the community-maintained path of v2ray-core, while Xray developed as an independent core while retaining compatibility with common configuration approaches. Both include modules for inbounds, outbounds, routing, DNS, transport, and policies, but their specific features, configuration fields, and release schedules may differ.

A GUI client is not the same as a core. v2rayN, v2rayNG, and v2flyNG provide menus, subscription management, server selection, log viewing, and system capture controls; the core called by the client handles protocol connections and route matching. For interface issues, check the client settings. For configuration parsing, protocol handshakes, or routing behavior, consult the core logs as well.

The Roles of the Three Clients

v2rayN targets Windows, macOS, and Linux desktops, and suits users who need subscription groups, a system proxy, routing rules, and TUN. v2rayNG targets Android and is commonly used with the Xray core, with an interface focused on importing, selecting, starting, and capturing traffic on mobile devices. v2flyNG also targets Android but follows the V2Fly core path, making it useful when specific core behavior or configuration compatibility is required.

All three programs are open-source clients maintained by their communities. Open source makes code, change history, and license terms available for review; it also means each project releases updates according to its maintainers’ plans. A client and its core may use different open-source licenses, so check the license text supplied with each project before using or redistributing it rather than inferring the scope from the product name.

Update Mechanisms and Configuration Compatibility

Client updates commonly change the interface, system integration, subscription handling, and core management; core updates are more likely to affect protocol implementation, transport behavior, routing rules, DNS, and lower-level networking. They do not have to be updated on the same day. The download page provides the current client packages, while the client’s built-in core manager lets you view and switch the core components it calls.

Configuration compatibility must also be assessed by layer. Basic inbound, outbound, and routing structures may be similar, but specific protocol parameters or extensions may not transfer directly between cores. Before migrating a configuration, preserve the original and test from the smallest working configuration; once the basic connection works, add DNS, routing, and TUN settings gradually. This makes it clear which field caused a parsing failure or behavioral difference.

COMMON QUESTIONS

Four Questions Before You Configure

These questions cover client selection, subscription updates, the system proxy, and rule order. More complete installation and troubleshooting steps are covered in the tutorials, advanced guides, and FAQ.

Which client should I use on a desktop system?

Start with v2rayN on Windows, macOS, or Linux. Before downloading, confirm your operating system and processor architecture, then choose the matching package. After installation, follow this order: “Add Subscription—Update List—Select Server—Configure System Proxy.” Avoid changing complex routes before a usable configuration is available.

Compare Clients →
Why is the server list still empty after adding a subscription URL?

Adding the URL only saves it; you must also update the subscription. If the list remains empty, check the URL’s completeness, system time, subscription validity, and logs for network-request or parsing errors. Different causes require different fixes, so repeatedly deleting and reinstalling the client is not recommended.

View Subscription Import Steps →
Why are some apps not connected after enabling the system proxy?

The system proxy affects only apps that read the operating system’s proxy settings. Some applications use an independent network stack, save their own proxy address, or require TUN mode for capture. First confirm that a regular app such as a browser works, then inspect the target app’s network settings rather than mistaking an app-capture issue for a server connection issue.

Troubleshoot the System Proxy →
What do direct, proxy, and block mean in routing rules?

direct sends the connection out directly, proxy sends it through the configured proxy outbound, and block prevents the connection. Rules are usually checked from top to bottom, and the first match is used. When adding a rule, verify both its match content and that it appears before broad default rules.

Read the Traffic Routing Section →

LATEST GUIDES

Recent Configuration and Troubleshooting Articles

Step-by-step, reproducible procedures for permissions, subscription groups, and DNS paths. Each article focuses on one specific issue, making it easy to enter the appropriate checks based on the symptoms.

v2rayN Won’t Open on macOS: Step-by-Step Fixes for an Unverified Developer and Network Permissions

Starting with the system block message, this guide covers allowing the app in Privacy & Security, authorizing the network extension, and handling permission requests. It distinguishes between an app that will not launch and one whose network features lack authorization.

Read the Full Article →

v2rayN Subscription Group Management: Filter Servers by Keyword and Organize Groups

Learn how to isolate sources when multiple subscriptions coexist, set update schedules, filter servers by regional keywords, and keep group selection aligned with routing policies.

Read the Full Article →

How to Detect V2Ray DNS Leaks and Configure the dns Module to Prevent Them

Explains why DNS requests may leave the intended path, provides step-by-step checks, and shows how dns outbounds and domainStrategy can redirect DNS traffic.

Read the Full Article →
Download v2rayN