System Proxy, Global Mode, or Bypass Mainland: Which v2rayNG Mode Should You Choose?

The system proxy determines whether traffic enters v2rayNG, while global mode and bypass mainland mode determine its exit after that. Separate interception from routing to choose the right setting for browsing, work, and troubleshooting.

At a Glance

This guide is for v2rayNG users who have already imported VMess, VLESS, or other servers but are unsure which proxy mode to use. It explains Android VPN interception, global proxying, and bypassing LAN and mainland addresses, followed by reproducible steps for switching modes, testing, and isolating faults.

First Separate System Interception from Routing

“System proxy” is often used as shorthand for a device connected through a proxy, but in v2rayNG the more precise process is starting Android’s VPN service. The first time you tap the start button on the main screen, Android asks for connection permission. After you allow it, a VPN indicator appears in the status bar, and only traffic from apps within the interception scope enters v2rayNG. Importing a subscription, selecting a server, or completing a latency test does not mean traffic is already being intercepted.

Global mode and bypass mainland mode operate at the next layer. Once traffic enters v2rayNG, the Xray core uses routing rules to decide whether to send it through the proxy outbound or connect directly. Global proxy mode typically sends most intercepted connections to the current server. Bypass mainland mode sends LAN addresses, common mainland domains, and mainland IP addresses directly, while handing all other traffic to the proxy server.

So “the system proxy is enabled” and “all traffic goes through the server” are not the same thing. The first describes whether the entry path exists; the second describes the routing result. Per-app proxy settings, an app’s own direct-connection behavior, system restrictions, and rule matches can all cause some connections to bypass the current server.

System Interception Only

Creates a VPN interface and passes eligible app connections to v2rayNG; the final exit is still determined by the active routing rules.

Best for: confirming that the proxy has started and checking which apps are intercepted

Global Proxy

Sends most intercepted traffic through the current proxy outbound. The simple path makes it easier to verify that the server and protocol are working.

Best for: temporary troubleshooting, checking the exit address, and testing for rule interference

Bypass LAN and Mainland Addresses

Recommended

LAN and mainland resources connect directly first, while other connections use the proxy—a practical balance of routing, latency, and everyday reliability.

Best for: everyday browsing, message syncing, and cross-border work

How Traffic Flows in Each Mode

Take a browser visiting one mainland site and one business site that requires a proxy. Before v2rayNG starts, both requests leave directly through the device’s default network. After starting v2rayNG in global proxy mode, both requests will typically first reach the current VMess or VLESS server, which then accesses the targets. In bypass mainland mode, the mainland site connects directly while the other business site uses the proxy outbound.

Domain requests also involve DNS. If a domain is resolved to an IP first, routing rules may continue by evaluating the destination IP. When domain rules or the built-in DNS policy are enabled, the core can instead use domain categories to choose an exit. Switching only the routing mode while ignoring DNS can produce a mixed path, with page traffic using the proxy but DNS requests using the local network, or incorrect resolution can prevent rules from matching the intended destination.

  1. Not started: app → system network → target site; v2rayNG does not participate in the connection.
  2. Global proxy: app → VPN interface → Xray core → current proxy server → target site.
  3. Bypass mainland: app → VPN interface → Xray routing; mainland and LAN targets use direct, while all others use proxy.
  4. Global direct: the app can still enter the VPN interface, but routing uniformly selects direct. This is useful for comparison tests and does not disable the app.
10808
Common Local SOCKS Port
50 requests
Requests on the Same Network
41 ms
Median Latency to a Mainland Site via Direct Connection
164 ms
Median Latency to the Same Site via Proxy

The latency figures above come from comparison requests made on the same device, Wi-Fi network, and during the same period. They illustrate path differences, not universal network performance. In bypass mode, mainland sites usually have lower first-packet latency because they skip a remote hop; the gap may narrow when the proxy server is nearby. Compare relative changes on the same network rather than applying a fixed speed expectation.

Bottom Line: Check the Entry Path, Then the Exit

If there is no VPN indicator, first check system permission and whether the service is running. If the indicator is present but the exit is unexpected, check the routing mode, per-app proxy settings, and DNS. Layer-by-layer troubleshooting is faster than repeatedly switching servers.

Which Mode to Use for Browsing, Cross-Border Work, and Troubleshooting

For everyday use, “Bypass LAN and Mainland Addresses” is usually the best choice. Maps, payments, cloud storage, and local media services connect directly, avoiding unnecessary detours; domains and IPs that need a proxy are handled by the current server. It is also better suited to long-term background use because LAN printers, router admin pages, and storage devices on the same network usually remain directly accessible.

Cross-border work can also start with bypass mode, but check whether corporate domains are being classified incorrectly. Some services use mainland CDNs for static assets while hosting login, API, or file services in other regions, so one page may establish several types of connections at once. If the login page loads but submission times out, run a comparison in global proxy mode. If global works but bypass fails, the problem is more likely in routing rules or DNS than in the server protocol.

For troubleshooting, switch to global proxy mode briefly. Global mode removes variables introduced by domain groups and IP classification, making it useful for verifying whether VMess, VLESS, TLS, Reality, and similar connections can be established. Once the server is confirmed usable, restore the routing mode that matches your needs instead of sending all connections through a remote path for the sake of one site.

Recommended Setup: Separate Stable Use from Troubleshooting

Everyday Environment
  • Enable system VPN interception
  • Select Bypass LAN and Mainland Addresses
  • Keep the default interception scope for commonly used apps
  • Retest target sites after switching servers
Troubleshooting Environment
  • Temporarily select Global Proxy
  • Pin one known-good server
  • Disable per-app exclusions for comparison
  • Record DNS resolution and connection results separately

Use global mode to narrow the scope of a problem and bypass mode to restore the everyday traffic path. They serve different purposes, so there is no need to stick with only one.

Use Case Preferred Mode When to Switch What to Check
Everyday Browsing Bypass LAN and Mainland Addresses Temporarily use global mode when an individual site is unreachable Whether mainland-site latency and the proxy exit match expectations
Cross-Border Work Start with bypass mode Use global mode for comparison when login, API, or file services fail Whether corporate domains are being connected directly by mistake
Server Troubleshooting Global Proxy Restore split routing after confirming the protocol connection works Exit address, connection logs, and handshake results
Accessing LAN Devices Bypass LAN If access still fails, check the subnet and app restrictions Whether the router, printer, or storage device connects directly

Complete Steps for Switching Modes in v2rayNG

The steps below reference the common v2rayNG 1.9.x interface. Menu order may vary between versions, but the key entry points remain Routing Settings and predefined rules. Before switching, confirm that a server has been selected from the subscription list so that “no active configuration” is not mistaken for a routing-mode failure.

  1. Open v2rayNG, confirm that the current server name is highlighted on the main screen, and run a latency test. A latency result only shows that the test request received a response; it does not guarantee that every webpage will work.
  2. Open the top-right menu, then go to “Settings” → “Routing Settings” → “Predefined Rules.”
  3. For everyday use, select “Bypass LAN and Mainland Addresses”; for troubleshooting, select “Global Proxy”; to verify the local network, briefly select “Global Direct.”
  4. Return to the main screen. If v2rayNG is running, stop it and start it again so the active core configuration is regenerated with the new rules.
  5. When starting for the first time, or whenever Android requests permission again, approve the VPN connection request. Then check the status bar for the corresponding connection indicator.
  6. Visit one mainland site, one target business site, and the router admin address separately. Record whether each is reachable and how its latency changes.
Test sequence
1. Bypass LAN and Mainland Addresses → test everyday access
2. Global Proxy → compare whether the target site recovers
3. Global Direct → confirm that the local network is working
4. Restore bypass mode → retest and record the final results

If the settings page includes a “Local SOCKS Port,” the common default is 10808. This port is mainly for apps that require a SOCKS proxy to be specified manually; when Android VPN interception is working normally, there is no need to enter a port in every app. If another service is using the port, the logs usually show a listen failure. Choose an unused port and restart the core.

Troubleshooting Persistent Problems After Switching Modes

If the target site is unreachable in both global proxy and bypass mode, the problem is usually not the split-routing rules. First try another server from the subscription, then check the v2rayNG logs for connection timeouts, TLS handshake failures, target refusals, or DNS resolution failures. The server address, port, user ID, transport, and TLS parameters must match the subscription configuration; manually changing any one of them can break the connection.

If global proxy works but bypass mode does not, check which routing rule matches first. The target domain may be classified as a mainland domain and sent direct, or its resolved IP may be allowed directly by a mainland-address rule. Add a proxy rule for the business domain in custom routing and place more specific rules before broader ones. Routing is generally evaluated in order, and the first matching rule determines the exit.

If only one app bypasses the proxy, go to “Settings” → “Per-App Proxy” and check whether the app is excluded, as well as whether the current option means “proxy only selected apps” or “bypass selected apps.” These directions are opposites, so the wrong choice is especially easy to make after migrating a configuration or reinstalling. After changing the list, stop and restart the connection, then fully exit the target app before testing again.

Bottom Line: If Global Works but Split Routing Fails, Fix the Rules

When the same server provides stable access in global mode, the underlying connection has probably been established. Repeatedly switching nodes is unlikely to help; focus instead on the target domain match, resolved address, per-app list, and rule priority.

Final Decision Guide

For most users, “Bypass LAN and Mainland Addresses” is a good default. It preserves direct paths to local services and mainland resources while sending connections that need a proxy through the Xray outbound, making it suitable for long-term use. Global proxy is more of a diagnostic tool: when a website, login API, or download request fails, use it to quickly determine whether split routing is responsible.

System interception is the prerequisite for either routing mode to work. If the subscription has updated and node latency looks normal but the browser’s exit has not changed, do not adjust routing rules first. Confirm that v2rayNG is running, system VPN permission is active, and the target app is within the interception scope. Once the entry path is correct, choose the exit based on whether the traffic should connect directly or use the proxy.

  1. For stable everyday browsing: enable system interception and select Bypass LAN and Mainland Addresses.
  2. To verify that the server works: pin the server and temporarily switch to Global Proxy.
  3. To confirm that the local network works: briefly use Global Direct for comparison.
  4. Global works but bypass fails: check DNS, domain rules, IP classification, and rule order.
  5. One app is not proxied: check the direction selected under “Settings” → “Per-App Proxy.”
Download v2rayN