Run the tunnel on the client device that uses the browser. The profile routes TCP, UDP and DNS through SOCKS5 to the proxy phone, using its selected cellular or Wi-Fi exit network. The proxy phone needs no root for UDP.
sing-box.exe..\sing-box.exe check -c .\maskproxy-tunnel.json
Then open PowerShell as Administrator and run:
.\sing-box.exe run -c .\maskproxy-tunnel.json
Windows must approve the tunnel adapter and its permissions. Press Ctrl+C to stop. The tunnel affects the entire client device; do not run it on the production proxy phone itself. On Android, use a compatible sing-box client and approve the VPN on the client device.
srflx candidate discovered by STUN: it should come from the phone's exit network. Carriers may assign different NAT addresses for different destinations.Addresses of type host or mDNS are local device candidates, not the internet exit IP. The tunnel does not spoof device identity or browser settings and does not guarantee proxy undetectability.
The tunnel sends DNS queries to 198.18.0.53:53 as an internal address. The proxy phone forwards them to its selected network DNS or configured custom DNS. If the relay is a hostname, only that hostname is resolved locally to establish the tunnel. Browser encrypted DNS also travels through the tunnel, but uses the browser's chosen provider.
The server must expose the proxy TCP port and UDP session range (20000–29999 by default). Behind NAT, configure the public UDP address and forward the same range. This profile does not encrypt SOCKS5 between client and server; use a trusted path or encrypted channel for public deployment. The profile contains the proxy password: keep it private. Download a new profile after changing the server, port or password.
Select Linux next to the tunnel download, then check the profile with sing-box check -c maskproxy-tunnel.json and run it with sudo sing-box run -c maskproxy-tunnel.json. Requires TUN and nftables. The Linux profile also captures UDP sockets bound to a network interface. The platform selection applies to the client device; the proxy phone itself does not need root.