Project V ecosystem · dual Xray / V2Fly cores

V2Ray Mac Client v2rayN Download and Setup Guide

Download entries and setup guides for three V2Ray GUI clients: Windows, macOS, Android and Linux each have their own path, and subscription import, routing and log troubleshooting all come with step-by-step instructions and config snippets.

Supported platforms
Core Features

Core features of v2rayN and v2rayNG

Subscription management, routing, core selection and log diagnostics are the four groups of settings you touch most day to day; each is covered below with config snippets.

Subscription → Add subscription
  Address     https://example.com/api/v1/client/subscribe?token=xxxx
  Remarks     Example subscription
  Update interval   1440 minutes
  Auto update   On

A subscription link is how node configs get distributed: the client pulls a node list at a set interval and stores only the link locally, while nodes are added or removed server-side by the provider. v2rayN supports multiple subscriptions, each with its own update interval, and you can turn off auto-update and refresh manually instead; in v2rayNG the subscription entry sits in the sidebar, and you can long-press to rename after importing. Import failures usually come down to three causes: the link itself has expired, the network was unreachable when pulling, or the response isn't a standard node list. To troubleshoot, first open the link in a browser and confirm it returns data, then check the exact error in the client's update log.

Ecosystem

Open-source ecosystem and core families

All three clients build on the Project V open-source protocol stack; understanding how cores and clients relate helps you pick versions and read configs.

How the Project V ecosystem began

Project V is the umbrella name for a set of open-source network proxy tools, originally referring to the v2ray-core core and its companion config protocol. Around 2020 the community split over maintenance pace: one team continued maintaining v2ray-core under the name V2Fly, while another rewrote the transport layer on the same protocol base, forming Xray-core. What people call a V2Ray client today is really a GUI shell around these two cores — the client handles the interface, subscription management and routing settings, while the core opens connections and deals with encryption and transport.

How V2Fly and Xray divide the work

V2Fly and Xray share the same protocol base — VMess, VLESS, Trojan and so on — and their config files use almost identical field names and structure, so the same config can usually move between the two cores. The difference is where they're heading: Xray focuses on transport performance and new protocol features, with schemes like REALITY and XTLS Vision landing there first; V2Fly focuses on stability and is more conservative about compatibility with older configs. v2rayN and v2rayNG use the Xray core by default and keep a core-switching entry, which makes side-by-side checks easy.

Licenses and community maintenance

All three clients are released under open-source licenses, with source code publicly available, and no fee for use or redistribution. v2rayN and v2rayNG use GPL-3.0, the V2Fly core uses MIT and the Xray core uses MPL-2.0 — all allow free redistribution as long as copyright notices are kept. Day-to-day maintenance is done by the community: issue reports, releases and documentation updates don't depend on a commercial entity, which is one reason tools like these last as long as they do.

Update and distribution mechanics

Download entries on this site resolve dynamically to the current release files through a version manifest maintained at the deployment layer; the pages themselves don't cache installers. Client-side updates come from each client's built-in check or release channel, and core and client versions are independent, so they can be upgraded separately. Subscription content updates are a separate path: the provider adds or removes nodes server-side, and the client pulls at the interval set in the subscription, so nothing needs to be edited locally.

Consistency of docs and terminology

Guides on this site are organized conclusion-first, then steps; config snippets are taken from the client's actual settings, and terminology converges on the entries in the glossary page. Because GUI clients change their interfaces between versions, the docs describe settings paths rather than absolute button positions; if the interface and the description disagree, trust the settings in your current client version. The troubleshooting page is divided by symptom, so you can locate the symptom first and then read the matching section.

Desktop · Windows / macOS / Linux

v2rayN

Desktop GUI client covering Windows, macOS and Linux; it uses the Xray core by default, with subscription management, routing and log viewing all in one window.

Mobile · Android

v2rayNG

Android client built on the Xray core; it supports subscription import, per-app routing and local DNS settings, with a layout designed for touch.

Mobile · Android

v2flyNG

The V2Fly core build for Android, with the same interface as v2rayNG; a good fit when you need compatibility with older configs or want to compare how the cores differ.

FAQ

Selected FAQ

Short answers to four frequently asked questions; the FAQ page has the full categorized Q&A, and the troubleshooting page covers systematic diagnosis.

Which platforms does v2rayN support?
Desktop covers Windows, macOS and Linux; on Android you use v2rayNG or v2flyNG. Installer formats and system requirements for each platform are grouped by platform on the download page — open the matching group to see the file list.
The node list is empty after importing a subscription — what should I check first?
First open the subscription link in a browser and confirm it returns node content, then check the error message in the client's update log. An expired link, an unreachable network when pulling, and a response in the wrong format are the three common causes; the troubleshooting page has the full order of checks.
How do I choose between the Xray and V2Fly cores?
The Xray core is the default and is usually all you need; switch to V2Fly only when you need compatibility with older configs or want to check whether a protocol error is related to the core implementation. Terminology for both cores is collected on the glossary page.
Where do I edit routing rules?
Edit them in the client's routing settings. Rules match from top to bottom and stop at the first hit, so direct rules must come before the catch-all proxy rule. For how to write domain and IP rules, see the rule skeleton in the routing walkthrough article.