  # WebRTC Proxy Leak Detection

 Test if your [proxy](https://scrapfly.io/blog/posts/what-is-a-proxy-server) or [VPN](https://scrapfly.io/blog/posts/proxy-vs-vpn) is leaking your real IP address through WebRTC. WebRTC can bypass proxy settings and reveal your actual IP even when using anonymity tools.

 

 ##### WebRTC Fingerprinting

 WebRTC exposes codecs, RTP extensions, and IP addresses that can be used for fingerprinting. This page tests both IP leaks and capability fingerprinting.

  Also check our [Media Codec Fingerprint Test](https://scrapfly.io/web-scraping-tools/media-codecs) for comprehensive codec support detection across all browser APIs.

 

  ### WebRTC Leak Test

 

   Requesting... 

 

Public IP

  216.73.217.143 

 

 

WebRTC Client Side IP Offer

   

 



 

WebRTC TURN Feedback

   

 



 

 

  

######  ICE Candidates

  Gathering candidates... 

  host Local IP srflx Server Reflexive (STUN) relay Relay (TURN)  

######  SDP Offer

 ```
<span class="text-muted">Generating offer...</span>
```

 

 

 

 

 

 

  ### WebRTC Capabilities Fingerprint

 Supported codecs and RTP header extensions 

 

  0

Audio Codecs

 

 

 0

Video Codecs

 

 

 0

Extensions

 

 

 

 ###   Global Fingerprint 

 Computing... 

  Combined hash of all WebRTC capabilities

 

 

 

 

 

   

 WebRTC (Web Real-Time Communication) is a technology that enables real-time communication directly between web browsers without requiring plugins. It's commonly used for video calls, voice chat, and peer-to-peer file sharing.

#### How WebRTC Works

- **Peer-to-Peer:** Creates direct connections between browsers
- **STUN/TURN Servers:** Help establish connections through NAT and firewalls
- **ICE Candidates:** Discover available network paths and IP addresses
- **Media Streams:** Transmit audio, video, and data directly
 
 While WebRTC is excellent for real-time communication, it can expose your real IP address even when using a VPN or proxy, making it a privacy concern.

 

 

 

  

 WebRTC can leak your real IP address through the ICE (Interactive Connectivity Establishment) candidate gathering process:

#### Types of IP Leaks

- **Local IP Leak:** Reveals your private network IP (192.168.x.x, 10.x.x.x)
- **Public IP Leak:** Exposes your real public IP address, bypassing VPN/proxy
- **IPv6 Leak:** Many VPNs only tunnel IPv4, leaving IPv6 exposed
 
#### Why This Happens

 WebRTC operates at the browser level and creates direct peer-to-peer connections. These connections bypass the proxy/VPN tunnel configured at the system or application level.

#### Privacy Implications

- Websites can detect your real location despite VPN usage
- Your actual ISP and network configuration can be identified
- Can be used for fingerprinting and tracking purposes
- Defeats the anonymity provided by proxies and VPNs
 
 

 

 

  

 There are several methods to prevent WebRTC from leaking your real IP address:

#### Browser Extensions

- **uBlock Origin:** Disable WebRTC in advanced settings
- **WebRTC Leak Prevent:** Chrome extension specifically for WebRTC protection
- **NoScript:** Disable WebRTC along with other JavaScript features
 
#### Browser Settings

- **Firefox:** Set `media.peerconnection.enabled` to `false` in about:config
- **Chrome/Edge:** Use chrome://flags to disable WebRTC or install an extension
- **Brave:** Built-in WebRTC leak protection in privacy settings
- **Tor Browser:** WebRTC is disabled by default
 
#### VPN Configuration

- Choose a VPN that includes WebRTC leak protection
- Ensure IPv6 is disabled or tunneled through the VPN
- Use a VPN with a built-in kill switch
- Test regularly using tools like this one
 
#### For Web Scraping

 If you're using browser automation for web scraping:

- **Puppeteer/Playwright:** Disable WebRTC via browser launch flags
- **Selenium:** Configure browser preferences to disable WebRTC
- **Scrapfly:** Automatic WebRTC protection with ASP enabled
 
  **Best Practice** For maximum privacy, combine multiple protection methods: use a VPN with WebRTC protection, disable WebRTC in your browser, and regularly test for leaks using detection tools.

 

 

 

 

  

 This tool tests for WebRTC leaks by creating a connection to a TURN server and examining the IP addresses revealed during the ICE candidate gathering process.

#### Test Components

- **Public IP:** Your IP address as seen by our server
- **WebRTC Client Side IP Offer:** IP address revealed by WebRTC in your browser
- **WebRTC TURN Feedback:** IP address that connected to our TURN server
 
#### Possible Results

######  No Leak Detected

 All IP addresses match, meaning WebRTC is either disabled, properly protected, or you're not using a VPN/proxy.

 

######  Inconsistent

 The frontend appears manipulated, or there's a configuration issue. The TURN server didn't receive the expected request.

 

######  Leak Detected

 WebRTC has exposed your real IP address. This means websites can see your actual IP even if you're using a VPN or proxy.

 

######  Timeout

 Either WebRTC is blocked by your browser/extension, or your network/firewall is blocking UDP connections to the TURN server.

 

#### What to Do If a Leak is Detected

1. Disable WebRTC in your browser settings or use an extension
2. Switch to a VPN provider with built-in WebRTC leak protection
3. Use a browser with WebRTC protection (Brave, Tor Browser)
4. Test again after implementing protection measures
 
 

 

 

  

 If you're using browser automation for web scraping, WebRTC can reveal your automation infrastructure and lead to blocking. Scrapfly provides automatic WebRTC protection.

#### Why WebRTC Matters for Web Scraping

- Anti-bot systems use WebRTC fingerprinting to detect automation
- Your datacenter IP can be exposed even with residential proxies
- Consistent WebRTC fingerprints help identify bot traffic
- WebRTC can reveal that you're using headless browsers
 
#### Scrapfly's WebRTC Protection

**With ASP (Anti-Scraping Protection) enabled:**

- Automatic WebRTC leak prevention
- Consistent IP addresses across all detection methods
- Real browser fingerprints with matching network configuration
- No additional configuration required
 
###### Example:

 ```python
from scrapfly import ScrapflyClient, ScrapeConfig

client = ScrapflyClient(key='YOUR_API_KEY')

result = client.scrape(ScrapeConfig(
    url='https://example.com',
    asp=True,  # Automatic WebRTC protection
    render_js=True,
    country='US'
))

print(result.content)  # WebRTC is properly handled!
```

 [Start Free Trial](https://scrapfly.io/register) [Read ASP Documentation](https://scrapfly.io/docs/scrape-api/anti-scraping-protection) 

 

 

 

 

 

## How to bypass web scraping bot detection

 [ Tutorial on how to avoid web scraper blocking. What is javascript and TLS (JA3) fingerprinting and what role request headers play in blocking.

 

 

 ](https://scrapfly.io/blog/posts/how-to-scrape-without-getting-blocked-tutorial/ "How to Scrape Without Getting Blocked Tutorial") 

 [ Introduction to web scraping headers - what do they mean, how to configure them in web scrapers and how to avoid being blocked.

 

 

 ](https://scrapfly.io/blog/posts/how-to-avoid-web-scraping-blocking-headers/ "How to Avoid Web Scraping Blocking: Headers Guide") 

 [ Introduction to how javascript is used to detect web scrapers. What's in javascript fingerprint and how to correctly spoof it for web scraping.

 

 

 ](https://scrapfly.io/blog/posts/how-to-avoid-web-scraping-blocking-javascript/ "How to Avoid Web Scraping Blocking")