config.json Client Download and Configuration Index

V2Ray Chinese Download Hub v2rayN / v2rayNG Configuration Guide

A practical reference for v2rayN and v2rayNG clients, config.json configuration, and routing rules, covering package selection, subscription imports, and proxy mode changes step by step.

  • Free forever
  • Open source
  • Xray · V2Fly
  • Chinese configuration guides
platforms / 4 core / Xray · V2Fly config / JSON license / open source

routing / rules

How a connection moves through inbound, routing, and outbound

Browser or system traffic first enters a local listening port. routing then checks the domain, IP, protocol, and originating process before sending it to the selected outbound. Once this path is clear, the relationship between system proxy settings, LAN bypass rules, direct connections, and remote connections is much easier to understand.

download / platforms

V2Ray clients Platform Guide

Choose the section for your current operating system first, then select a client based on processor architecture and how you plan to use it. The homepage provides platform navigation only; package types, system requirements, and direct download links are documented on the download page.

desktop / v2rayN

Windows

For desktop use, start with v2rayN. The download page explains the interface differences, supported systems, and installation steps for the cross-platform desktop edition and the classic WPF edition, making it easier to choose for newer systems or existing devices.

Go to downloads →

desktop / v2rayN

macOS

v2rayN desktop builds are available for Apple Silicon and Intel. Check the chip name in system information to choose the right one. The download page also covers first launch, configuration imports, and where to switch the system proxy.

Go to downloads →

mobile / v2rayNG

Android

For Android, v2rayNG with the Xray core is the default choice; v2flyNG is available if you prefer that core. Most current devices use arm64. If you are unsure of the architecture, see the download page’s guidance on choosing a universal package.

Go to downloads →

desktop / v2rayN

Linux

v2rayN provides packages for common Linux distributions, separated into x64 and arm64 builds. Check whether your distribution uses deb or rpm, then select the matching architecture on the download page to avoid package-format errors during installation.

Go to downloads →

config / anatomy

Configuration fields explained

A configuration is made up of top-level fields with distinct responsibilities. Select a section in the directory to see what each field does, common values, where the setting appears in graphical clients, and the dependencies most often missed during edits.

config > inbounds

Local inbound listener

inbounds defines how the client accepts traffic from browsers, the system, or other applications. Common settings include listen, port, protocol, and tag: the listening address controls which devices can connect, the local port must match the system proxy settings, and the protocol is usually SOCKS or HTTP. In v2rayN, this corresponds to the local listening port in parameter settings; in v2rayNG, it maps to the local proxy and VPN service entry points. After changing the port, update any browser or application with a manually configured proxy address. Otherwise, the client may start successfully while traffic still bypasses the core.

Read the system guide →

project v / ecosystem

Project V ecosystem and client roles

Graphical clients, proxy cores, and configuration data operate at different layers. Separating their responsibilities makes it easier to understand the relationship between client updates, core selection, subscription content, and routing rules.

From Project V to the core family

Project V established the basic structure of the V2Ray configuration model and modular networking tools. Configuration files divide inbound, outbound, routing, DNS, transport, and logging into connected modules, allowing multiple modules to be combined into a clear data path with tags. This structure works well for maintaining config.json by hand and for graphical clients that generate configurations from subscriptions and interface settings. As a result, the servers, proxy modes, routing presets, and local ports shown in a client interface ultimately map to corresponding configuration fields.

V2Fly continues to maintain V2Ray core capabilities, with an emphasis on modular configuration and protocol implementations. Xray has developed as an independent core within a related configuration model, and is used by multiple clients for connection and routing tasks. Neither is a graphical client; both are underlying cores called by clients. The same graphical client can organize features around different cores, and the same subscription may show details that differ in transport parameters, routing capabilities, or configuration syntax depending on the client and the supported core.

Open-source licensing and reviewable updates

v2rayN, v2rayNG, v2flyNG, and the related cores are maintained by open-source communities. Open-source licenses define the boundaries for using, modifying, and redistributing code, while allowing protocol implementations, configuration parsing, and fixes to be reviewed publicly. For most users, the practical checklist is: download a client that matches the current system, read the release notes, keep a known-working configuration, and check the system proxy, routing, and core status after upgrading.

Client updates and core updates do not always arrive at the same time. The interface program handles subscription management, configuration editing, tray controls, and system integration; the core handles protocol connections, DNS, routing, and traffic processing. An update limited to the interface usually does not change existing connection methods; an update involving the core or configuration format warrants a review of custom routing, transport parameters, and compatibility with older configurations. For maintenance, record the client type, core in use, and key settings rather than only the software name. This makes troubleshooting much easier.

desktop

v2rayN

A desktop graphical client for Windows, macOS, and Linux, handling subscription management, server selection, system proxy settings, routing presets, TUN mode, and log viewing. When you need full control over system network settings on desktop, start with v2rayN.

android / xray

v2rayNG

An Android client powered by the Xray core, with QR scanning, clipboard imports, subscription updates, per-app proxying, and routing controls. Choose it as the primary mobile option when you already use Xray-related parameters or need support for its protocol capabilities.

android / v2fly

v2flyNG

An alternative Android client based on the V2Fly core, with an interface and common subscription workflow that will feel familiar. Choose it when you need to keep the V2Fly configuration model or compare behavior across different cores.

workflow / checklist

Record these four settings before updating

  1. Active configuration: Confirm the current subscription group and server entry so an upgrade does not switch you to the wrong configuration.
  2. Proxy mode: Record the current system proxy, PAC, global, rule-based, or TUN state so the original traffic path can be restored.
  3. Local ports: Check the SOCKS and HTTP listening ports. Browsers using a manual proxy must use the same values.
  4. Custom rules: Save manually added domains, IPs, processes, and outbound tags separately, then verify each match after updating.

quick answers

Featured FAQs

Why are no servers visible after importing a subscription?

Run a subscription update first. Then check that the subscription group is enabled, the link is complete, and the client logs show no parsing errors. See the complete subscription import steps.

What is the difference between system proxy and TUN mode?

System proxy mainly handles applications that follow the system proxy settings; TUN mode uses a virtual network interface to process a wider range of traffic. Read the TUN mode section before choosing.

Which setting should be changed when a port is already in use?

First identify the process using the local listening port. Then change the client’s SOCKS or HTTP port and update the proxy settings in your browser and other applications. See port conflict troubleshooting.

Which should I choose: the desktop edition or the classic WPF edition?

For newer systems, start with the cross-platform desktop edition. If you rely on the classic interface and established workflow, compare it with the WPF edition. See the details on the client comparison page.