ServersSubscription GroupsSettingsRestart ServiceCheck for UpdatesHelp
Servers
TypeAliasAddressPortTransportTLSSubscriptionTest Result
Import a share link from the clipboard, or update subscriptions in Subscription Groups
System proxy:
Set system proxy automaticallyClear system proxyKeep system proxy unchanged
Routing: Bypass mainland China
Xray core
v2rayNG+
Tap + in the top-right corner to import a configuration
Per-app proxy
Bypass LAN addresses
Not connected
Download Clients
Choose a Client for Your Platform
Use v2rayN on desktop and start with v2rayNG on Android. Check your operating system and processor architecture, then choose the matching package on the download page. The client reads your configuration; connecting also requires valid server details.
The desktop edition uses a cross-platform interface, while the classic WPF edition retains a familiar layout. Choose based on interface preference and check the system requirements before installing. You do not need both editions to use the same subscription.
Check your chip under About This Mac, then choose the package for the matching architecture. Follow the system prompts to authorize the app on first launch. If the system proxy is enabled but your browser is unaffected, check whether it uses separate proxy settings.
v2rayNG uses the Xray core, while v2flyNG offers the V2Fly core. arm64 is suitable for most devices; if you are unsure of your architecture, check the universal package details. Approve the system VPN permission before connecting, and check whether another VPN app is already in use.
Choose deb or rpm to match your distribution's package manager, then select x64 or arm64. A graphical client is useful for managing subscriptions interactively; command-line tools and background services may not use the desktop system proxy, so check each app's proxy settings separately.
When moving to another device, keep your subscription groups and any custom rules you need. System proxy settings, permissions, and local listening ports are device-specific; copying a server list alone will not migrate them.
A protocol defines how a connection works; transport and security layers determine how it is carried. REALITY is a security option, while Xray and V2Fly are cores. These are different layers, not interchangeable choices.
Save groups and update by source
A subscription URL retrieves server configurations; it is not the same as a link for sharing a single node. Save the URL in a v2rayN subscription group, update the subscription, then select a server from the list. Keeping sources in separate groups makes it easier to identify which update failed. Subscriptions are easier to maintain than individual entries when providers change their configurations, but an update may replace existing entries. Keep any important details before making manual edits. Subscription URLs often contain access credentials, so redact them from screenshots, logs, and support requests.
Subscription GroupsSave URLs by source
UpdateUpdate Subscription
Connect apps first, then configure routing
Routing rules determine whether requests that reach the core connect directly, use a proxy, or are blocked. They do not automatically route traffic from every app. For everyday use, start with a built-in preset such as Bypass mainland China, then adjust domain and address rules as needed. Routing can preserve LAN access and direct connections instead of sending every request through one endpoint. When troubleshooting, first confirm the app uses the local proxy, then check rule order and DNS resolution. Changing the routing mode alone cannot fix an invalid server configuration or replace system proxy and in-app proxy settings.
RoutingBypass mainland China ▾
Match byDomain / IP / Rule order
Separate core operation from proxy setup
After v2rayN starts the core, the target app still needs to use the local proxy. Set system proxy automatically changes the proxy settings apps read from the operating system; Clear system proxy removes those settings; Keep system proxy unchanged leaves them as they are. Unlike entering a proxy address in one browser, the system proxy can be used by multiple apps that follow system settings, though support varies by app. If the browser still connects directly, check its proxy extensions and app-specific settings. Before closing the client, check the system proxy state so apps do not keep sending traffic to a stopped local port.
System Proxy
Set system proxy automaticallyClear system proxyKeep system proxy unchanged
Choose which Android apps use the proxy
v2rayNG's per-app proxy controls which apps connect through the VPN interface, useful when only a few apps need the proxy. After enabling it, check whether the list means apps to include or apps to exclude, select the apps, then reconnect. This can preserve the usual network path for other apps, but routing rules still apply to requests that reach the core. System VPN permission, background battery restrictions, and other VPN apps can also affect connectivity. After updating or reinstalling the app, check that the selection list still matches your needs.
Per-App Proxy
Bypass LAN addresses
Match the core to server requirements
A graphical client provides the management interface; the core handles protocol processing, connections, and routing. Xray and V2Fly share technical roots, but their later features and configuration details are not identical. Choose a core by first checking the server's required protocol, transport, and security layer, then confirming what the client supports—not by comparing core names alone. A graphical client reduces the need to enter common settings by hand, but advanced features may still require checking whether the interface exposes every parameter. If your current configuration works, keep a copy and verify settings one at a time when switching cores.
v2rayNGXray core
v2flyNGV2Fly core
The interface illustration shows where to find settings; menus vary by client. A successful import does not mean every protocol parameter was recognized correctly. If fields are missing, compare the original configuration with the core's supported options instead of repeatedly changing routing modes.
After installation, start with a known-good configuration and establish a basic connection. Change one thing at a time, note the result, then add custom routing or per-app settings.
v2rayN on desktop and v2rayNG on Android have different interfaces, but both involve three separate states: whether the configuration was added, whether the core or VPN service started, and whether the target app's traffic actually uses it. Seeing entries in the list only confirms that import produced a result.
Add a subscription URL to a subscription group and update it; import a single share link from the clipboard. In v2rayNG, you can also import a configuration from the add button in the top-right corner. Identify what the link is for before choosing an action—a webpage URL or expired subscription cannot be used as a server node.
If the list is still empty after an update, check the logs for address resolution, connection, or format errors. Do not share the full subscription URL or assume that one failed fetch means the client installation is broken.
Select a server and connection method
Select a server from the list, then enable the system proxy on desktop or approve VPN access on Android. Keep the default or existing routing preset for now and limit custom rules; making several changes at once makes it harder to find the cause of a problem.
A real connection latency test can help determine whether a configuration can establish a test request. Results depend on the destination and route; they are not a bandwidth measurement and do not predict how every app will perform.
Check traffic from the target app
Open the app that needs the proxy and make a real request, then check the client logs, system proxy status, and in-app settings. If the test succeeds but the browser does not, first check browser extensions, separate proxy settings, and whether they point to the correct local port.
Once connected, restore routing rules one at a time. When ending a desktop proxy session, make sure the system proxy is cleared or restored. On Android, disconnect the VPN service in the client and check the connection status in the system status bar.
Open-Source Ecosystem
Project V, Cores & Clients
The download is a graphical client; the core handles connections, and the configuration provider manages the remote service. Keeping these three layers separate helps identify whether an update, compatibility issue, or connection failure belongs to the client, core, or service.
Technical BackgroundProject V
Proxy tools and a modular configuration system
→
Execution LayerV2Fly / Xray
Protocol, transport, and routing implementation
→
Management Layerv2rayN / v2rayNG / v2flyNG
Configuration import and graphical interface
Project V and V2Ray
Project V is a starting point for understanding V2Ray's technical background. V2Ray uses a modular design that organizes features such as inbound and outbound connections, routing, and transport in a configuration system. In everyday conversation, “V2Ray” can also refer broadly to a family of clients or configurations, but downloads need to be identified by their specific software name. The same term in search results may refer to a core, a graphical interface, or simply a configuration format.
That is why this site organizes downloads by client and operating system, with protocol details in the guides. You do not need to write a full configuration by hand to get started with a graphical client, but it helps to know what connection parameters a share link contains, who provides the subscription, and which settings are local to your device. This makes it easier to describe the right part of the setup when moving devices or asking for troubleshooting help.
How V2Fly and Xray Have Evolved
V2Fly continues the community development of V2Ray, while Xray has developed its own feature path from related technical foundations. They share some protocol and configuration concepts, but that does not mean every newer feature, default field value, or behavior is the same. For security layers, transport combinations, and advanced routing, refer to the documentation for the core in use and check what the client supports.
Even with the same protocol name, a connection can fail if the transport path, server name, fingerprint, or security parameters do not match. Choose a core that meets the server's configuration requirements first, then check whether the client exposes the necessary settings. There is no need to rank cores by a single universal speed score: the route, server load, device resources, and type of request all affect performance.
What the Three Clients Offer as Open Source
v2rayN, v2rayNG, and v2flyNG are all open-source graphical clients. v2rayN is for desktop platforms and provides a server list, subscription management, and local proxy settings. v2rayNG is for Android and uses the Xray core; v2flyNG is an Android alternative with the V2Fly core. Similar names do not mean their packages are interchangeable or that their interfaces have identical options.
Open source means the code and license terms are available for review. Use, modification, and redistribution must still comply with each project's license and the licenses of its dependencies. The license for a client should be considered separately from that of its core. The client does not provide a remote service; after installation, you still need a configuration from a source you are authorized to use, and must follow local laws and network policies.
Client Updates and Configuration Compatibility
Updating the graphical interface, the core, and a subscription are three different operations. An interface update may move settings, a core update may change protocol support, and a subscription update retrieves remote configuration entries. When something goes wrong, note which operation preceded the issue and check the relevant logs. Updating a subscription will not add features the client does not support.
Before updating, save any subscription groups, custom routing rules, and local port settings you need. Afterward, test the connection with a configuration that worked before, then check the system proxy and per-app rules. This site provides download links and user guides; it is not an upstream project and does not manage subscriptions. Refer to the download page when choosing a package, and to the client itself for its current menus and compatibility.
Technical Notes
Client Guides & Troubleshooting
Find instructions for the issue you are seeing. First identify whether it occurs during configuration import, core startup, or app traffic routing, then follow the relevant troubleshooting steps.
Explore common causes of excessive v2rayNG battery use and the trade-offs among battery optimization exemptions, per-app proxy, and background restrictions—for better battery life and a more stable connection.
A section-by-section guide to the v2rayN main window, including server list columns, subscription group management, status bar controls, the log panel, and settings.
If startup reports that a port is already in use, find the process occupying a local port such as 10808. Then choose a free port in v2rayN settings and update the system proxy to match.
A failed subscription update and a local port conflict occur at different layers. For the former, check the fetch URL and network access; for the latter, check logs for listener errors. Re-importing a subscription will not diagnose a port conflict.