Afina

Download app

AppleWindows
EN
BlogGuides and Tutorials

August 3, 2026

How to Test an Antidetect Browser for WebRTC, UDP, and QUIC Leaks

Testing an antidetect browser for UDP leaks in WebRTC and QUIC

A SOCKS5-UDP leak occurs when a browser sends UDP packets (WebRTC or QUIC traffic, mostly) straight to the internet instead of routing them through the proxy tunnel. It happens because most proxy configurations only forward TCP. You'll run into it during video calls, while loading modern sites over HTTP/3, or with an antidetect profile that's supposed to stay hidden behind a residential IP. The risk is simple: your real IP, ISP, and country show up right next to the identity you built in the profile.

What a SOCKS5-UDP Leak Really Means

A SOCKS5-UDP leak is a situation in which part of your traffic, usually WebRTC or QUIC, bypasses the proxy entirely and travels over your real network connection. The browser's address bar still shows the proxy IP. Meanwhile, a script running in the same tab has already obtained your real IP through a separate channel.

This matters most to anyone managing more than one browser profile. A fingerprint checker, advertising platform, or marketplace antifraud system does not need to see your real IP directly. A single mismatch between the IP shown by TCP traffic and the IP exposed by UDP traffic is enough. Our article on WebRTC leaks describes this mismatch as one of the oldest and still most common methods of online deanonymization.

TCP vs. UDP: Why Most Proxies Cover Only Half of Your Traffic

Standard SOCKS5 and HTTP proxies were built around TCP, the protocol used for ordinary page loads, logins, and form submissions. UDP is the other protocol at the same transport layer as TCP, but it skips the handshake and does not guarantee packet delivery. That makes it faster but harder to relay reliably, so a large share of proxy software has simply never implemented it.

RFC 1928, the specification that defines SOCKS5, actually includes a separate protocol command called UDP ASSOCIATE for exactly this use case. The client opens a TCP control connection, authenticates, and asks the proxy to open a UDP relay. The proxy returns an address for sending datagrams, and from then on, every UDP packet is wrapped in a small SOCKS5 header before being forwarded. One detail is crucial: the same TCP connection must remain open for the entire UDP session because it controls the relay's lifetime. As soon as that connection drops, the proxy closes the association. Our detailed guide to UDP over SOCKS5 explains this handshake in greater depth if you want the full mechanics.

Having UDP ASSOCIATE in the SOCKS5 specification is one thing. Getting the browser to route WebRTC and QUIC traffic through that relay is a separate challenge, and this is where most configurations fail. Many proxy providers advertise “SOCKS5 with UDP,” while the browser on top of it continues sending STUN requests through the regular network adapter. The proxy and browser must work together, and our guide to antidetect browsers and anonymity examines this gap.

TCP and UDP routing through a SOCKS5 proxy: the green path uses UDP ASSOCIATE, while the red path leaks outside the tunnel

The main reason is not the proxy at all. Chromium's own SOCKS5 implementation is limited to TCP CONNECT operations and does not include the UDP ASSOCIATE command. Moreover, when a profile is assigned a SOCKS5 proxy, Chromium forcibly disables QUIC and falls back to HTTP/2 over TCP. Native UDP support in an antidetect browser therefore means the vendor patched Chromium's network stack, not merely added a toggle in the settings.

QUIC, HTTP/3, and WebTransport: Protocols That Bypass Legacy Proxies

QUIC is a transport protocol built on UDP. Google first developed it as gQUIC, the IETF later standardized it as RFC 9000, and today it forms the foundation of HTTP/3. It solves head-of-line blocking, where a single lost TCP packet stalls the entire queue and forces the remaining data to wait for retransmission even if it has already arrived. QUIC multiplexes streams so that a lost packet delays only the data it contained. Chrome, Firefox, Safari, and most CDNs (Cloudflare, Google, and Fastly among them) now prefer HTTP/3 by default when it is available.

WebTransport runs directly on top of such a QUIC session. It opens with a CONNECT request over HTTP/3, then maintains a persistent encrypted channel for low-latency data. In spirit, it resembles WebSockets, but it uses UDP rather than TCP. A proxy that intercepts only TCP has no idea the WebTransport session exists. It simply sees UDP packets pass by over the real network interface, with nothing to stop them.

wtcheck.top demonstrates this difference particularly well. The page detects your address in parallel through a regular TCP connection and through WebTransport over QUIC, then displays both values side by side. If the profile tunnels UDP correctly, the two lines match. If it does not, the second value immediately exposes the real address.

wtcheck.top test in an Afina Browser profile: the IP addresses over TCP and WebTransport match

WebRTC STUN requests enter the picture here as well. WebRTC uses the ICE process to find the fastest path for a peer-to-peer connection. The browser collects a list of ICE candidates (all the addresses through which it can be reached) from local network interfaces and external servers. Part of this process is a request to a STUN server (Session Traversal Utilities for NAT) asking, “What does my IP look like from the outside?” If the request uses the real interface instead of the proxy, the STUN server returns your true public IP directly to the page's JavaScript without requiring any special permission. Our article on WebRTC STUN provides a technical breakdown.

Do not confuse STUN with TURN. STUN only tells the browser what its address looks like from the outside. TURN relays all traffic through its own server and therefore does not reveal the real IP to the other party. The leak occurs through STUN because ICE tries it first as the less expensive option.

Step by Step: Testing a Browser for WebRTC IP Leaks

A WebRTC leak test answers one direct question: does the IP address reported by WebRTC match the IP your proxy is supposed to show? Here is how to check properly instead of guessing.

  1. Open an antidetect profile with a proxy already assigned and active
  2. Note the proxy IP and country from the provider's dashboard before doing anything else
  3. Go to browserleaks.com/webrtc in the same profile
  4. Compare the “Public IP Address” line under “Your WebRTC IP” with the proxy IP you recorded
  5. Expand “SDP Log” and review the list of ICE candidates. An interface leak is often visible there even when the summary field looks clean
  6. Repeat the test in another profile with a different proxy to rule out a one-off result

If the “Public IP Address” exactly matches the proxy, this channel appears clean. If it shows your ISP's IP, something on the machine is exposing real network data directly to the page.

Modern browsers deliberately mask the “Local IP Address” line. Instead of a private address such as 192.168.1.5, you will see a random hostname like 1f4712db-ea17-4bcf-a596-105139dfd8bf.local. This is mDNS, a protocol for discovering devices on a local network that WebRTC uses specifically to keep private IP addresses out of JavaScript. Chrome, Firefox, Edge, and Safari do this by default, so .local in this line is normal behavior, not a leak. A dash instead of an address is normal too. It means the browser did not collect any local candidates, which is exactly what the screenshot below shows.

There is another trap that almost no one mentions. Matching IPs in this test do not, by themselves, prove that UDP is actually traveling through the tunnel. Some antidetect browsers simply spoof the WebRTC response at the JavaScript API level: the page receives the proxy IP while the UDP packets themselves bypass the tunnel over the real network adapter. A WebRTC test is therefore not sufficient on its own. Genuine tunneling produces a match across all three channels. Spoofing fails as soon as you move beyond WebRTC, which is exactly what the next section tests.

browserleaks.com/webrtc result in an Afina Browser profile: WebRTC Leak Test reports No Leak, and the public IP matches the proxy

Our guide to bypassing fingerprint checkers explains what to do after confirming a leak on this channel, including which browser flags actually close it.

Step by Step: Testing for QUIC, HTTP/3, and WebTransport Leaks

Testing QUIC and WebTransport takes a little more patience than testing WebRTC, mainly because these connections negotiate a protocol version and do not always succeed on the first page load. A word of caution about http3.is: the service checks the draft h3-29 and h3-27 versions from 2020, while the final HTTP/3 standard is RFC 9114 and uses the h3 identifier. Its “HTTP/3 was not used” verdict does not necessarily indicate a problem, so it is better to use browserleaks.com/quic as your primary tool.

  1. Open http3.is in the active profile and read the banner message
  2. Refresh the page two or three times. The browser sometimes needs a prior visit before it attempts HTTP/3
  3. Open quic.tanatos.org:444 in a second tab and record the IP, port, and protocol version
  4. Compare this IP with the proxy IP shown in the provider's dashboard
  5. Open browserleaks.com/quic and check the connection IP, cipher suite, JA4 fingerprint, and Encrypted Client Hello status
  6. Finish with wtcheck.top, which separately displays your IP over TCP and over WebTransport on QUIC

A few notes on these steps. Without port 444, quic.tanatos.org displays a general list of tools rather than the test itself. In the BrowserLeaks report, JA4 is a hash of TLS handshake parameters that a website can use to recognize your client. Encrypted Client Hello indicates whether the domain name in the request is encrypted. Both fields are secondary here; the connection IP address is what matters. wtcheck.top is useful, but it is operated by the team behind one of the antidetect browsers in the table below, so treat the recommendations on its page as advertising.

http3.is test in an Afina Browser profile: a successful HTTP/3 connection is confirmed

A clean result is intentionally boring: the same IP everywhere, in WebRTC, HTTP/3, and WebTransport. A leak shows the proxy IP in the first tool and your ISP's IP in the third. That mismatch is the signal.

Independent QUIC test at quic.tanatos.org:444 in an Afina Browser profile: HTTP/3.0 protocol and proxy IP

The third possible result causes the most confusion: HTTP/3 does not connect at all. This is not a failure. Remember that Chromium disables QUIC when a SOCKS5 proxy is configured? The traffic simply fell back to TCP and traveled through the proxy, so there is no leak. The dangerous scenario looks different: HTTP/3 works, but the IP in the report is your own.

browserleaks.com/quic report in an Afina Browser profile: the connection IP matches the proxy, with the JA4 fingerprint and cipher suite displayed

Which Antidetect Browsers Actually Tunnel UDP Through SOCKS5?

Marketing pages love the phrase “supports UDP.” Telling a real engine-level feature from a line copied out of a proxy partner's specification takes more than reading the homepage, so we went straight to the official documentation for each browser below instead of repeating claims from comparison sites. The rows are ordered by strength of evidence: documented support at the top, nothing in the docs at the bottom.

BrowserSOCKS5-UDP / QUIC supportEvidenceBest suited for
AfinaNative, engine-level UDP over SOCKS5Official documentationAutomation, crypto, account farms
Linken Sphere 2Claims full UDP support on all plansVendor blog only; not independently verifiedAdvanced fingerprint research
MultiloginNot advertised as a native browser featureWording refers to the SOCKS5 protocol generally, not the clientEnterprise teams, KYC workflows
GeeLarkNot advertised separately; depends on the cloud device's proxyVendor glossary describes SOCKS5 generallyMobile platforms (TikTok, Instagram)
Octo BrowserNo documented native UDP handlingClaims appear only in partner integrationsEngine-level Canvas and WebGL masking
Dolphin AntyNo documented native UDP handlingNot found in official documentationManual farms built around Synchronizer
GoLoginNo documented native UDP handlingNot found in official documentationBeginners, low-cost entry point
AdsPowerNo documented native UDP handlingNot found in official documentationBudget automation with two engines

Two rows deserve further comment. Multilogin's statement that “SOCKS5 supports UDP” describes the capabilities of the protocol itself, not whether the browser client uses them. Those are different claims. GeeLark's argument that “this is a real Android device in the cloud” proves nothing either: the cloud device is still connected to a proxy, and that proxy must still support UDP ASSOCIATE.

Similar lists often include Vision Browser and WADE X with a “UDP over SOCKS5” label. Both references lead to affiliate content from a single proxy seller, and we found no public technical documentation to substantiate them, so neither product appears in the table. For the broader picture of pricing, API access, and fingerprinting depth across the market, see our comparison of 13 antidetect browsers, which goes well beyond a single UDP column.

None of this works without cooperation from the proxy. A browser with perfect UDP ASSOCIATE support will still leak data if the residential proxy behind it forwards only TCP.

Common Causes of UDP Leaks and How to Fix Each One

Most leaks come down to a handful of common causes, and each one has a specific fix. "Be careful" isn't a fix.

  • The proxy provider forwards only TCP: switch to a plan that explicitly documents UDP ASSOCIATE support, not merely “SOCKS5”
  • The browser is designed to ignore the proxy for WebRTC: use a browser with native UDP routing, or disable WebRTC in the profile settings if you do not need video or voice. Regular Chrome no longer has a dedicated toggle, so you will need an extension or enterprise policy
  • IPv6 leaks outside the tunnel: disable IPv6 at the operating system's network-adapter level, because most proxies tunnel only IPv4
  • A browser extension makes its own network requests outside the profile's proxy settings: remove or disable extensions you have not tested, especially wallets and VPN extensions running in parallel
  • Stale DNS or system proxy settings override the profile configuration: clear the operating system's DNS cache, make sure the profile does not fall back to the system proxy, and run the profile through the DNS Leak Test at quic.tanatos.org

Before changing your proxy or browser, rule out the simplest explanation: UDP may not work on your network at all. Corporate firewalls, hotel Wi-Fi, and some mobile carriers deliberately block UDP on port 443. networktest.twilio.com is useful for this diagnosis. It attempts connections over UDP, TCP, and TLS in sequence, checks whether STUN and TURN servers are reachable, and identifies which transports reach you. If UDP fails even without a proxy, the antidetect browser is not the problem.

Twilio Network Test in an Afina Browser profile: UDP, TCP, and TLS checks completed successfully

Repeat this test twice a month if you manage several profiles at once. Proxy providers change their infrastructure with little warning, and an IP that supports UDP today may quietly lose that support next week.

SOCKS5-UDP vs. Standard SOCKS5 or HTTP Proxies

A standard SOCKS5 or HTTP proxy forwards TCP only. Full stop. SOCKS5-UDP belongs to the same protocol family, but its UDP ASSOCIATE command is actually implemented and used by both the proxy server and the client connecting to it.

FeatureStandard SOCKS5 / HTTP proxySOCKS5-UDP (UDP ASSOCIATE)
Protocol coverageTCP onlyTCP and UDP
WebRTC and STUN trafficLeaks through the real network interfaceRouted through the proxy tunnel
QUIC and HTTP/3Falls back to TCP or leaks directlyTunnels alongside TCP traffic
Configuration complexityOne relay, simple configurationUDP ASSOCIATE support required on both proxy and client
Typical useBasic IP masking for page loadsFull fingerprint consistency for antidetect profiles

If your work is limited to static page scraping, with no video, no crypto-wallet extensions, and no sites that lean on HTTP/3, a standard proxy may genuinely be enough. But as soon as WebRTC, games, or modern CDNs enter the picture, the gap between these two columns turns into your real IP in a leak report.

How to Build a Configuration That Actually Passes These Tests

Buying a proxy with UDP support solves only half the problem. The other half is a browser engine that genuinely routes WebRTC, QUIC, and WebTransport through that tunnel instead of quietly falling back to the real network adapter. Most antidetect configurations fail this second half in every test above.

Afina fixes this inside the browser engine itself, rather than bolting a workaround on top. Each profile routes SOCKS5-UDP traffic, including QUIC and HTTP/3, through the assigned proxy. So the WebRTC fingerprint visible in the test matches the proxy IP, not the real connection. The material in this article is meant for testing and educational purposes, and the outcome still depends on the specific proxy paired with the browser.

Download

FAQ — Frequently Asked Questions

What Is a SOCKS5-UDP Leak in an Antidetect Browser?

A SOCKS5-UDP leak occurs when UDP traffic, most often WebRTC or QUIC, uses the real network connection instead of the SOCKS5 proxy configured in the browser. The address bar and TCP traffic still show the proxy IP, but a script reading WebRTC data or a QUIC handshake can expose the real IP address at the same time.

Why Does WebRTC Reveal My Real IP Even Behind a Proxy?

WebRTC uses STUN servers as part of the ICE connection process, and STUN requests travel over UDP. Most proxies intercept only TCP, so the STUN request leaves through the real network interface, reaches the STUN server, and returns the true public IP, which the page's JavaScript can read without special permission.

How Can I Check Whether a Browser Tunnels UDP Through a SOCKS5 Proxy?

Open a profile with an active proxy, record the proxy IP from the provider's dashboard, then visit browserleaks.com/webrtc and compare it with the public IP field. Next, check http3.is, quic.tanatos.org, and browserleaks.com/quic to confirm that QUIC and HTTP/3 traffic shows the same IP rather than your ISP's address.

What Is the Difference Between QUIC and HTTP/3?

QUIC is a UDP-based transport protocol, while HTTP/3 is an application-layer protocol built on top of it. QUIC handles multiplexing, encryption, and connection migration; HTTP/3 is the format used to send web requests once that QUIC connection exists.

Will Disabling WebRTC in the Browser Settings Fix the Leak?

Disabling WebRTC closes that specific channel, but it also breaks video calls, voice chat, and any website that relies on peer-to-peer connections. For a profile that needs WebRTC, a better solution is a browser and proxy combination that genuinely routes UDP traffic through the tunnel instead of disabling the feature altogether.

Do All Antidetect Browsers Support SOCKS5-UDP?

No, and marketing pages often overstate their support. Based on official documentation rather than claims from comparison websites, only a small number of browsers document native, engine-level UDP routing through SOCKS5. The rest rely entirely on the connected proxy, and some leak regardless of the proxy's own UDP capabilities.

What Is WebTransport, and Why Should I Test It Separately?

WebTransport is a newer API that opens a persistent, low-latency connection over an existing QUIC session for real-time data, much like WebSockets. It should be tested separately because a browser or proxy may handle ordinary HTTP/3 page loads correctly while failing to route the WebTransport session through the same tunnel.

Will a Residential Proxy Alone Stop a UDP Leak?

No, not by itself. A residential proxy may make your IP more credible to antifraud systems, but it cannot fix a UDP leak unless the proxy explicitly supports UDP ASSOCIATE and the browser is built to use it. Combining a residential IP with a browser that ignores UDP only makes the leaked address look slightly better.

How Often Should I Retest My Browser for UDP Leaks?

Twice a month is a sensible baseline if you manage several profiles, and you should retest immediately after changing proxy providers or updating the browser engine. Proxy infrastructure changes without warning, and a provider that supported UDP ASSOCIATE last month may quietly lose that support after a routing update.

Related terms

Continue reading onAnti-detect browser — profile isolation | Afina Browser
Mykyta Korniienko

Hi! I’m Mykyta Korniienko, a developer and the founder of Afina Browser. I enjoy breaking down complex things and turning them into practical, easy-to-use solutions. I work on realistic browser profiles, network authenticity (UDP / QUIC / HTTP-3), automation, and scalable SaaS infrastructure.

Over the years, I’ve worked across backend, frontend, and deep inside Chromium forks, which helps me understand how things work in real-world conditions — not just on paper. In my projects, I focus on security, performance, and reliably passing real antifraud checks.

When I’m not coding, I’m usually testing new ideas, improving Afina, or thinking about how to make tools for automation, privacy, and multi-account workflows even more convenient for professionals.