System proxy settings determine whether apps send requests to the local client; routing modes determine where requests that reach the core go next. Using v2rayN on Windows, this guide explains how the three routing modes differ, how to check ports, and how to troubleshoot routing issues, with notes on what Android clients can intercept. For users who have imported a subscription but aren’t sure which mode to choose.
System Proxy vs. Routing: Two Separate Layers
“Enable global” is often used to describe two different actions: changing the operating system’s proxy settings, or setting the core’s default outbound route to the proxy. The first controls how traffic gets in; the second controls how it gets out. Changing just one doesn’t ensure that every app will use the proxy as expected.
In a typical desktop setup, the browser reads the system proxy settings and sends requests to a local listening address. The core managed by v2rayN receives them, then uses routing rules to select a proxy, direct connection, or block. A subscription provides server configuration; it doesn’t enable proxying for every app. VMess and VLESS are connection protocols, not alternative names for “Global” or “Bypass Mainland China.”
- Application layer: An app may use the system proxy, a manually configured proxy, or no proxy at all.
- Local entry point: Requests enter an HTTP, SOCKS, or mixed listening port that the client has actually enabled.
- Routing layer: The core matches rules in order using criteria such as domain, IP, and port, then selects the corresponding outbound route.
- Outbound layer: Proxy traffic reaches its destination through a remote server; direct traffic connects to the destination over the device’s own network.
How Global, Bypass Mainland China, and Direct Handle Traffic
Mode names are shorthand for a set of client rules. Actual behavior depends on the current rules and their order. Built-in configurations may keep exceptions for local networks or specific domains, so “Global” doesn’t necessarily mean there are no exceptions. Custom rules can change the outcome; check for higher-priority matches before switching modes.
| Routing mode | Typical traffic flow | Best for | What to check |
|---|---|---|---|
| Global | Requests that reach the core use the proxy by default | Testing the proxy route and temporarily ruling out routing rules | Exceptions and proxy server availability |
| Bypass Mainland China | Requests matching mainland China domain or IP rules connect directly; most others use the proxy | Accessing local services and sites outside mainland China at the same time | Rule data, DNS, and the default outbound route |
| Direct | Requests that reach the core use the device’s own network by default | Comparing with the native network and troubleshooting the server connection | Whether a higher-priority proxy or block rule still applies |
“Bypass Mainland China” doesn’t classify traffic based simply on page language, website brand, or top-level domain. A Chinese-language site may use resources hosted outside mainland China, while a foreign brand may rely on services inside it. A page may also make separate requests for login, images, video, and other resources, each matching different rules. If the main page loads but attachments don’t, check the failing requests rather than just the main domain in the address bar.
“Direct” doesn’t mean “client off.” In Direct mode, an app may still connect to a local proxy port first, with the core then connecting to the destination directly. If you exit the client without clearing the system proxy settings, apps may keep trying to reach a port that is no longer listening, leaving multiple sites inaccessible.
v2rayN Setup: Configure the Entry Point, Then Routing
The steps below use Windows with the system proxy configured manually. Menu locations and preset names may vary slightly across versions, and settings in the tray menu may sync with those in the main window. Note the current routing mode before you start. For troubleshooting, leave TUN off initially so you don’t introduce a second traffic interception path.
-
Confirm the Active Configuration
Select the configuration you want in the server list, then choose “Set as active server” from the right-click menu. Updating a subscription refreshes the configuration list; it doesn’t necessarily change the active server.
-
Check the Local Ports
Open “Settings” → “Parameter settings” and check the local listening address and ports against the information shown in the main window. Note which ports are used for HTTP, SOCKS, or mixed connections; don’t copy port numbers from an old guide without checking.
-
Set the System Proxy
Right-click the v2rayN icon in the taskbar notification area and select “System proxy” → “Automatically configure system proxy.” This updates the system proxy settings, but it won’t force every app to follow them.
-
Choose a Routing Mode
Select the desired mode in the “Routing” selector at the bottom of the main window. Presets may have numbers or English suffixes; identify “Global,” “Bypass Mainland China,” or “Direct” by checking the rules, not just the item’s position in the list.
-
Start a Fresh Test Connection
Close the current test page and open it again; if needed, quit and relaunch the browser. Existing long-lived connections may keep using the old route. After switching modes, check the logs for new connections and outbound tags.
To restore the native network, select “System proxy” → “Clear system proxy” from the tray menu, then check whether the browser has a separate manual proxy configured. If TUN is enabled, turn it off separately; clearing the system proxy doesn’t undo virtual network adapter interception. If your workplace uses a fixed proxy or automatic configuration script, record the original settings first and restore them after testing.
Checking Ports: Don’t Treat Examples as Defaults
Ports determine which local entry point an app connects to, not whether traffic ultimately goes through a remote server. The two numbers below are examples of how manual settings correspond; an app can use them only if the client is actually listening on those ports. If your version uses a mixed port, refer to its parameter settings.
HTTP Proxy Example
- Server
- 127.0.0.1
- Port
- 10809
- App setting
- HTTP proxy or proxy option that supports CONNECT
- Requirement
- HTTP or mixed listening is enabled on this port
Enter this in the app’s proxy settings, not as the remote server address.
SOCKS Proxy Example
- Server
- 127.0.0.1
- Port
- 10808
- App setting
- SOCKS5 proxy option
- Requirement
- SOCKS or mixed listening is enabled on this port
Whether the app sends domain names to the proxy for resolution also depends on its DNS settings.
127.0.0.1 refers to the current device only. Entering this address on a phone won’t connect it to your computer. Sharing a proxy across devices requires a LAN listening address, firewall configuration, and access controls; changing the port number alone won’t do it. For regular single-device use, keep the listener local—there’s no need to expose it to your LAN just to use “Global” mode.
Choosing a Mode for Everyday Routing or Troubleshooting
Choose a mode for the task at hand rather than treating one mode as the right setting for every situation. Everyday use is about sending local services, remote resources, and LAN devices over appropriate routes. Troubleshooting is about reducing variables and getting repeatable results.
Two Use Cases: Everyday Access and Troubleshooting
Everyday access
- Start with Bypass Mainland China and confirm that the default route uses the proxy.
- Keep explicit direct rules for printers, internal domains, and similar services.
- If one site has a problem, check the rules for the domains used by its requests.
Troubleshooting
- Temporarily switch to Global to see whether routing rules are causing the problem.
- Then compare with Direct to distinguish the local network from the proxy connection.
- Keep the active server unchanged and change only one variable at a time.
Use Global to reduce routing variables, Bypass Mainland China to route traffic according to rules, and Direct to test the device’s native network path.
If Global works but Bypass Mainland China doesn’t, first check whether the destination is incorrectly routed directly, then check domain resolution and rule data. If both modes fail, focus on the active server, authentication parameters, transport settings, and whether the current network can reach the server. Changing routing modes won’t fix an invalid subscription or make an incompatible VMess or VLESS configuration work.
Android and Common Misconceptions: Different Entry Points, Same Troubleshooting
v2rayNG uses the Xray core, while v2flyNG uses the V2Fly core. On Android, traffic is commonly intercepted through the system VPN service rather than a desktop-style system proxy. Even after connecting, traffic that reaches the client is still affected by per-app settings, bypass options, and routing rules. The desktop “Automatically configure system proxy” menu doesn’t apply to Android.
- Browser works, other apps don’t: On desktop, first check whether the app uses the system proxy. On Android, check whether the app is excluded from the per-app list. A working browser doesn’t prove that all traffic is being intercepted.
- LAN services stop working in Global mode: Check whether private IP addresses and internal domains still have direct rules. Corporate networks may also rely on specific DNS settings, so adding IP rules alone may not be enough.
- Web pages load, but real-time communication fails: Check whether the app’s transport and interception method support the UDP traffic it needs. An HTTP system proxy isn’t a general-purpose UDP forwarding entry point.
- The outbound IP isn’t what you expected: First confirm which route the test request used. With split routing, one test only shows the path taken by that request, not by every connection.
The final check comes down to three questions: Did the request reach the client? Which routing rule matched? Could the selected outbound route reach the destination? Following that order is more likely to pinpoint the problem than repeatedly switching modes. For help checking DNS, subscriptions, or connection errors, see Troubleshooting; for terms such as routing, outbound, and TUN, see the Glossary.