Guides / Network

What a WebRTC leak test actually tells you

An IP on a test page is not automatically a proxy leak; candidate type, address scope and a before-and-after comparison matter.

PUBLISHED · UPDATED · 9 MIN

WebRTC leak pages are excellent at creating panic: several addresses appear, a red “Leak” label follows, and disabling half the browser suddenly feels reasonable.

An ICE candidate is not automatically a real public-address leak. Judge its type, address scope and relationship to the normal connection before and after the proxy.

Why WebRTC gathers addresses

Voice, video and peer-to-peer features need a usable path between different networks. ICE gathers candidates and tests connectivity.

Run a comparison, not a colour test

  1. Without the proxy, record public IPv4 and IPv6.
  2. Connect the proxy and confirm the ordinary web address changed.
  3. Run the WebRTC test and note both candidate type and address.
  4. Compare public candidates with the two recorded states.

A meaningful warning is an original public address appearing as a candidate while normal web traffic exits through the proxy.

Without a baseline, an unfamiliar address proves little. It may belong to the proxy, an ISP IPv6 path or a TURN relay.

The IPv6 trap

A proxy may carry IPv4 while leaving a working IPv6 route outside the tunnel. Web pages can show the proxy IPv4 while WebRTC discovers direct IPv6. That is a real coverage problem, but the root cause is the uncaptured IPv6 path. Use the IPv6 layer checklist to verify it.

Frequent false alarms

Fix the correct layer

Check whether the VPN or proxy covers WebRTC, UDP and IPv6, whether split tunnelling excludes the browser, and whether a system “block connections without VPN” option is appropriate. A browser extension controls only browser behaviour; a strict no-direct-traffic requirement belongs at the system VPN or firewall boundary.

Should WebRTC be disabled?

It can make a test page quieter while breaking meetings, browser calls and peer-to-peer transfers. First correct the network path. Disable the feature only when its loss is acceptable and the remaining privacy benefit is understood.

Keep a reproducible record: browser version, proxy mode, IPv6 state, normal exit addresses and candidate types. If a mobile test itself seems broken, inspect it with the mobile debugging guide.

Reference: MDN on ICE candidate types