HomeLearn → WebRTC leaks

WebRTC leaks

A WebRTC leak is the reason a proxy can be working perfectly and still lose you the account. Every HTTP request goes out through the proxy exactly as configured, and meanwhile a few lines of JavaScript ask the browser for its network candidates and get back the real address the proxy was supposed to hide. The usual advice is to turn WebRTC off. That advice is worse than the problem.

Why the leak exists at all

WebRTC is how browsers do video calls and peer-to-peer connections without a plugin. To connect two people directly it has to work out how each of them is reachable, so it gathers ICE candidates — a list of addresses the browser might be contacted on.

That list is not a secret. Any page can create an RTCPeerConnection, read the candidates and the session description, and pull addresses straight out of them. It needs no permission and shows no prompt, because from WebRTC's point of view nothing unusual is happening — this is the feature working.

Candidate typeWhat it can expose
Host Your LAN address (192.168.x.x, 10.x.x.x) — which network you are on
Server reflexive Your real public IP, discovered via a STUN server — the damaging one
mDNS .local Nothing. Modern Chrome replaces host candidates with these by default

The second row is the leak people mean. The page now holds two addresses for one visitor: the proxy's, from your HTTP requests, and yours, from WebRTC. That is not an unusual fingerprint — it is a direct contradiction, in the same family as an IP and a clock that disagree.

Why "just disable WebRTC" is the wrong fix

Every guide says it, most extensions do it, and several antidetect browsers ship "Disabled" as the default. It does stop the leak. It also does something else.

Real Chrome always has RTCPeerConnection. A browser that claims to be Chrome 141 on Windows and has no WebRTC at all is not a private browser — it is a browser that has had something done to it. Checking takes one line:

typeof RTCPeerConnection === 'undefined'

You have swapped a leak for a signature. Worse, it is a rarer signature than the one you started with: plenty of ordinary users are behind a VPN with a visible reflexive candidate, and almost none are running a Chrome with the API deleted.

What coherence looks like instead

The goal is not silence, it is agreement. WebRTC should answer — and its answer should match everything else the page already knows about you.

How Parallel handles it

Each profile filters ICE candidates as they are generated: private and link-local addresses are removed, the mDNS .local candidates modern Chrome emits are kept, and any public reflexive address is rewritten to the proxy's exit IP so WebRTC stays consistent with the proxy.

That JavaScript filtering is backed at the network layer rather than trusted on its own. When a profile uses a proxy, Chromium is launched with its WebRTC IP-handling policy set to disallow UDP that would bypass the proxy; without one, it is bound to the default route only, so a machine with several interfaces or a VPN does not expose the others. Belt and braces, because a page that reaches the network stack directly never sees the JavaScript filter.

Both other options exist for people who want them. Disabled removes RTCPeerConnection entirely — the most conservative setting, matching what other tools do by default, and conspicuous for the reason above. Real leaves WebRTC completely untouched, leaks included, for when you are testing something and want the genuine behaviour. Neither is the default, and the default is the coherent one.

Check yours

Open our fingerprint test through whatever proxy setup you use now and compare the WebRTC addresses against your proxy's exit IP. If a public address appears that is not your proxy, that is the leak. If RTCPeerConnection is missing entirely, that is the other problem.

Related reading

WebRTC that agrees with your proxy

Parallel filters ICE candidates and rewrites the public address to the proxy's exit, backed by Chromium's own IP-handling policy — so WebRTC answers, and its answer matches. Three profiles free, forever.

Download for Windows