Import the subscription first. Then check how traffic reaches the client and decide where requests should go next. Switch between the examples below to explore the settings; they explain the options but do not change your client configuration.
Subscription management
Save the subscription URL then update the server list
A subscription URL is not the address of a single server. It lets the client retrieve a set of configurations. In v2rayN, enter a remark and the full URL under Subscription Group Settings, save the group, then update the subscription. Groups help keep configurations from different sources separate. When you update, the client refreshes the servers included in that subscription, so you do not have to edit ports, protocols, and transport settings one by one. v2rayNG also has a subscription settings page: save the group, then return to the main screen to update it. Menu labels differ slightly, but the import steps are the same.
For the first setup, update manually and confirm that the expected entries appear before setting an automatic update interval. A successful update does not guarantee that a server is reachable; you still need to select a server and test access. Subscription URLs often contain credentials, so hide the full URL in screenshots and never share it from update logs.
Best for the first import. Start by confirming that the URL retrieves the configuration successfully.
RemarkDaily subscription
Enable updates
Example interval720 minutes
The interval is controlled by the client. Scheduled updates usually require the client to remain running.
Routing
Route direct or proxied traffic based on its destination
Routing mode determines how requests that reach the core are handled. Global mode typically sends default traffic through the proxy outbound. The bypass-mainland-China preset uses domain and IP rules to send matching destinations in mainland China directly, while handling other requests according to the preset. Blacklist mode sends only specified destinations through the proxy. Start with a built-in preset and add rules as needed; this makes issues easier to pinpoint than changing the entire routing configuration upfront. Names may vary between cores and rule sets, so check the preset details before switching.
Distinguish between traffic reaching the proxy and traffic routed through the proxy outbound. An application that does not use the system proxy may never send its requests to the core; requests that do reach the core may still be routed directly. To test the rules, open one site expected to connect directly and another expected to use the proxy, then check the outbound route in the logs. Do not rely solely on whether a page loads.
Shows the logic of common presets. Actual behavior also depends on rule order and DNS settings.
Default outboundProxy
Traffic handledTraffic that has reached the core
Global routing does not automatically capture traffic from every app. Check the system proxy or TUN settings too.
Matches proxy listProxy
Other traffic by defaultDirect
Useful when the destinations to proxy are clearly defined. Check the list and default outbound before enabling it.
System Proxy and TUN
Configure the system proxy first then decide if you need TUN
The system proxy sets a local proxy address in your operating system settings. It generally works well with browsers and apps that follow the system proxy. In v2rayN, setting up the system proxy automatically, clearing it, and leaving it unchanged are separate actions: automatic setup writes the address, clearing removes the proxy settings, and leaving it unchanged preserves the current state. “Do not change” does not mean “turn off.” Start by testing browser access through the system proxy to confirm that the subscription, server, and core work together before expanding the scope of traffic capture.
If an application ignores the system proxy, consider TUN mode, which uses a virtual network adapter. TUN involves permissions, network adapters, routing tables, and DNS. Before enabling it, stop other tools that may capture traffic and save your existing network settings. If you lose connectivity, turn off TUN and clear the system proxy first; confirm that direct access works again, then troubleshoot each setting separately. Global routing and TUN traffic capture are not the same setting.
System proxy addressSet to the local listening address
Apps coveredApps that follow the system proxy
The proxy port must match the client's local listening port.
System proxy addressClear
When to useStop using the proxy or restore direct access
Clearing the system proxy does not turn off TUN. Check each setting separately.
System proxy addressKeep existing settings
When to useManage app proxies manually
Choosing this option does not automatically remove an existing proxy address.
Choosing a core
Check supported protocols to confirm the right core
The graphical client displays settings, manages subscriptions, and generates configurations; the core handles protocols, transport, and routing. In v2rayN, you can select a core for a server based on client support. On Android, v2rayNG primarily uses Xray, while v2flyNG is designed for the V2Fly core ecosystem. They are separate clients, not different skins for the same app, and their configuration support is not identical. If a subscription includes options such as REALITY, make sure both the client and core support the relevant fields.
Do not switch cores just because one name seems familiar, and do not assume a missing option means the subscription is invalid. Check the server's protocol, security settings, and transport method, then verify client support. Updating the graphical interface and updating the core may be separate actions. Before switching, record a working configuration. If startup fails, check the specific field in the logs instead of repeatedly importing the same URL.
For settings such as REALITY, confirm that the current client and core support the relevant fields.
Core typeV2Fly
Android clientv2flyNG
Use protocols and transport options supported by V2Fly. Do not assume that configurations specific to other cores will work.
Choosing a client
Choose a download for your device's operating system
Check your operating system first, then your processor architecture. The package format determines how to install the app; the processor architecture determines whether it can run. Do not choose based only on whether the filename contains v2rayN. The download page explains the available options and lists the specific client versions.
Use v2rayN to manage subscriptions, choose routing, and configure the system proxy. The download page offers a desktop version with a newer cross-platform interface and a WPF version that retains the classic interface. Start with the desktop version if you are new to the app; if you already know the classic interface, compare the WPF instructions before choosing.
Before installing, check your processor and system type in your system's About settings. After the first launch, import a subscription; there is no need to enable TUN right away. If you need a virtual adapter to capture traffic, follow the documentation for administrator permissions. Keep your existing client configuration and subscription URL before switching interface versions.
Use the v2rayN desktop client and choose the Apple Silicon or Intel package for your processor. Open About This Mac: choose arm64 for an Apple chip and x64 for an Intel processor. Do not guess based on the computer's appearance or purchase year.
After installing, make sure the app launches before setting up a subscription and system proxy. Check system permission prompts, background activity, and proxy status separately. If access stops working after closing the window, first check whether the client is still running, then see whether a proxy setting remains in the system.
Start with v2rayNG; choose v2flyNG if you need the V2Fly core. The download page offers both clients in arm64 and universal builds. arm64 suits most newer phones. If you are unsure of your device's architecture, check the universal build details first, then choose based on your device information.
Save the subscription and update it, then select a server and start the connection. On the first connection, approve the system VPN permission. Background battery-saving settings may interrupt the connection, so check your device's battery restrictions. Updating the subscription and starting a connection are separate actions; completing the first does not start the second.
Choose a v2rayN package that matches your distribution's package system: Debian- and Ubuntu-based systems generally use deb, while Fedora and similar distributions generally use rpm. The download page also lists an arm64 build for compatible devices. Match both the package format and processor architecture.
Desktop environments may handle system proxy settings differently. Test in a browser first, then check whether the target app follows the desktop proxy settings. Before enabling TUN, review the guidance on permissions and network management. Do not change several network settings at once to fix one app's connection issue.
Understand the client, core, and subscription source
The interface handles configuration, the core handles connections, and the subscription provides server settings. Understanding these three layers makes installation, updates, and troubleshooting easier.
Subscription URL↓Graphical client↓Xray / V2Fly
Project V and core families
Project V is an open-source ecosystem of network communication tools, with V2Ray among its best-known names. The V2Fly community continues to maintain V2Ray-related cores, while Xray is another core line developed from related code. They share technical roots but maintain their own protocol capabilities, configuration fields, and release schedules. In everyday searches, “V2Ray client” often means a graphical management app; it does not mean every such app runs the same core.
VMess, VLESS, and Trojan are common protocol names in connection settings. REALITY is a technology related to security configuration; these terms are not interchangeable server types. Successfully importing a subscription only means the client has read the configuration. To connect, the protocol, security settings, and transport method must also match the server. If the client does not recognize a field, check core support rather than deleting the setting at random.
Open-source licenses for three graphical clients
v2rayN, v2rayNG, and v2flyNG are open-source clients commonly released under the GPL-3.0 license. Xray-core and the V2Ray core maintained by V2Fly use the MPL-2.0 license. Licenses govern matters such as using, modifying, and distributing code; refer to the license included with the relevant release for details. A client and its core may have different licenses, so the license for the graphical interface does not describe the entire dependency chain.
For users, the practical value of the open-source ecosystem is that configuration behavior can be examined, issues have clear component boundaries, and different clients can work with public protocols. Choose desktop v2rayN for graphical management of subscriptions, routing, and the local proxy. On Android, choose v2rayNG or v2flyNG based on the core capabilities you need and your device environment. Similar names do not mean identical options, so check each setting when migrating.
Treat the three types of updates separately
Updating a subscription fetches server settings again from its source URL. Updating the client replaces the app that provides the interface and manages configuration. Updating the core changes the component that handles protocols and routing. Each update addresses a different issue. If a server address changes, update the subscription first. If the interface lacks a setting, check client support. If the logs report an unsupported field, check compatibility between the core and configuration.
Save a working configuration before making changes. Change one thing at a time, then test with the same set of destinations. Configuration logs can help identify whether an issue is with the subscription request, core startup, DNS resolution, or remote connection. Before sharing logs, remove subscription credentials, account details, and sensitive server settings. A reproducible description is more useful for troubleshooting than simply saying “it won't connect.”
Once the basic connection works, move on to choosing a protocol, routing a specific domain, or handling apps that ignore the system proxy. The three articles below are listed by publication date and cover protocol differences, routing rules, and TUN traffic capture. Start with the article that matches your issue rather than changing several settings at once.
Learn about encryption methods, time validation, and configuration requirements, plus what to check when a subscription includes both types of server. Confirm client and server compatibility first; then compare protocols without assuming that newer names mean better availability.
Learn when to use domains, exact matches, regular expressions, and rule sets, and how rules are evaluated from top to bottom. To change the route for a single site, start with a clearly defined destination and outbound rather than replacing the entire routing setup.
Compare the system proxy with a virtual network adapter, learn which apps may need TUN, and follow a checklist for permissions, DNS, and conflicts with other network tools. Test a standard proxy connection first, then expand traffic capture one step at a time while keeping a clear recovery path.