Skip to content
Server dialing

Server dialing: IPv4, IPv6 and Happy Eyeballs

Open Advanced → Xray → Server dialing. This device-wide preference applies to Smart Routing, ordinary Custom Routing, and All VPN. Raw JSON, complete provider/Remnawave configurations and Advanced Custom templates keep their own dialing settings and compilation boundaries.

Domain resolution

The default is System default, with Happy Eyeballs off. It keeps the system-resolution path without adding a dedicated server resolver. The other choices use Core DNS:

Choice Server address resolution
System default Use the system path; with Happy Eyeballs enabled, use dual-stack Core resolution
IPv4 + IPv6 Resolve both address families
IPv4 / IPv6 Prefer the selected address family
IPv4 first / IPv6 first Prefer that family when resolving both

These are Use strategies, not strict family blocks. Xray can fall back to system resolution if Core DNS cannot resolve a server. With Use IPv6 off, explicit strategies use IPv4; System default remains unchanged, and IPv6 address literals are still allowed.

Happy Eyeballs

Happy Eyeballs races IPv4 and IPv6 TCP connections with a 250 ms race delay. It is available only with IPv6 enabled and System default or IPv4 + IPv6 selected. Other strategies retain the saved switch value without applying it. Disabling it does not disable the system dialer’s own dual-stack fallback.

WireGuard peers use UDP: their address-family strategy applies, but they do not use this TCP race. A physical TCP connection through a Fragment auxiliary can still use Happy Eyeballs.

Server DNS and physical connections

Explicit strategies and Happy Eyeballs resolve server endpoint domains directly through the tunnel DNS addresses. OneXray adds exact-domain bootstrap resolvers and direct rules for the physical endpoints that need them; IP-literal endpoints need no resolver. This is separate from route proxy/direct DNS, dns.queryStrategy and routing’s domainStrategy. If application traffic queries the same exact domain, the bootstrap resolver also takes priority for that domain.

The runtime policy follows the outbound that opens the physical socket, including effective XHTTP download connections and Fragment auxiliaries. In a proxy chain, later proxy servers continue to resolve through their upstream. WireGuard resolves its peer endpoint locally even through a chain. TLS SNI, HTTP Host and the saved node JSON are preserved; ordinary direct outbounds are not globally rewritten.

Save and reconnect

Save applies the draft. When disconnected it does not start VPN. An effective change to an active App-managed connection asks to save and reconnect; cancelling leaves the saved preferences unchanged. Changes that are inactive in the current mode or have the same effective value only save the preference. The policy is local to this device and is not part of connection backups.

Last updated on