<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: ExamineIP</title>
    <description>The latest articles on DEV Community by ExamineIP (@examineip).</description>
    <link>https://dev.to/examineip</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3843535%2Fb6f0104f-5d42-4881-844b-bec8f61e5cda.png</url>
      <title>DEV Community: ExamineIP</title>
      <link>https://dev.to/examineip</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/examineip"/>
    <language>en</language>
    <item>
      <title>WebRTC Leak Test: What It Is and How to Fix It</title>
      <dc:creator>ExamineIP</dc:creator>
      <pubDate>Mon, 04 May 2026 13:57:34 +0000</pubDate>
      <link>https://dev.to/examineip/webrtc-leak-test-what-it-is-and-how-to-fix-it-3n6n</link>
      <guid>https://dev.to/examineip/webrtc-leak-test-what-it-is-and-how-to-fix-it-3n6n</guid>
      <description>&lt;p&gt;A &lt;strong&gt;WebRTC leak&lt;/strong&gt; exposes your real IP address to websites even when you're connected to a VPN. Use the free test below to find out if your browser is leaking right now — then follow the steps to fix it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://tools.examineip.com/vpn-leak-test/" rel="noopener noreferrer"&gt;Run the Free WebRTC Leak Test →&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What Is WebRTC?
&lt;/h2&gt;

&lt;p&gt;WebRTC (Web Real-Time Communication) is a technology built directly into modern browsers — Chrome, Firefox, Edge, Safari, and Opera all include it. It was designed to enable peer-to-peer features like video calls, voice chat, and file sharing without needing a plugin or app.&lt;/p&gt;

&lt;p&gt;Unlike regular web traffic that routes through your browser's HTTP connection, WebRTC establishes direct communication channels between devices. That's what makes it fast for video calls — and what makes it a serious privacy risk if you use a VPN.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Is a WebRTC Leak?
&lt;/h2&gt;

&lt;p&gt;A WebRTC leak happens when your browser uses WebRTC's peer-to-peer connection mechanism to reveal your &lt;strong&gt;real IP address&lt;/strong&gt; — including your local network IP and your public IP — to websites, even if you're behind a VPN.&lt;/p&gt;

&lt;p&gt;When you connect to a VPN, all your traffic is supposed to route through the VPN server. Your real IP should be hidden. But because WebRTC operates at the browser level and bypasses your normal network stack, it can communicate your device's true IP directly to any site that requests it.&lt;/p&gt;

&lt;p&gt;The result: a site can see both your VPN's IP &lt;em&gt;and&lt;/em&gt; your real one — defeating the entire purpose of using a VPN.&lt;/p&gt;

&lt;p&gt;This isn't a bug in any one browser or VPN. It's a structural behavior of how WebRTC works, and it affects nearly every major browser by default.&lt;/p&gt;

&lt;h2&gt;
  
  
  How Does a WebRTC Leak Expose Your IP?
&lt;/h2&gt;

&lt;p&gt;To establish a peer-to-peer connection, WebRTC uses a protocol called &lt;strong&gt;ICE (Interactive Connectivity Establishment)&lt;/strong&gt;. As part of this process, it collects what are called &lt;strong&gt;ICE candidates&lt;/strong&gt; — a list of all possible network paths between devices.&lt;/p&gt;

&lt;p&gt;This list includes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Your local IP address&lt;/strong&gt; (e.g., &lt;code&gt;192.168.1.x&lt;/code&gt;) — assigned by your router&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Your public IP address&lt;/strong&gt; — your real IP as seen by the internet&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;STUN server responses&lt;/strong&gt; — a third-party server confirms your public IP to help establish the connection&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;When a website embeds a small JavaScript request, your browser responds with these ICE candidates — even if you never actually make a video call. The site receives your real public IP before you click anything.&lt;/p&gt;

&lt;p&gt;VPNs intercept traffic at the network layer, but this ICE candidate exchange happens inside the browser's own runtime, outside the scope of what most VPN clients intercept.&lt;/p&gt;

&lt;h2&gt;
  
  
  Who Is at Risk?
&lt;/h2&gt;

&lt;p&gt;You are potentially at risk if you:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Use a VPN for privacy and connect through Chrome, Firefox, or Edge&lt;/li&gt;
&lt;li&gt;Use a &lt;strong&gt;browser extension VPN&lt;/strong&gt; (these are especially vulnerable)&lt;/li&gt;
&lt;li&gt;Access geo-restricted content and need your real location hidden&lt;/li&gt;
&lt;li&gt;Work remotely and connect to internal resources over VPN&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  How to Test for a WebRTC Leak
&lt;/h2&gt;

&lt;p&gt;Testing takes under 30 seconds.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 1: Note your real IP without VPN
&lt;/h3&gt;

&lt;p&gt;Go to the &lt;a href="https://tools.examineip.com/vpn-leak-test/" rel="noopener noreferrer"&gt;VPN leak test tool&lt;/a&gt; without your VPN connected. Note the public IP shown.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 2: Connect to your VPN
&lt;/h3&gt;

&lt;p&gt;Enable your VPN and wait for it to confirm the connection.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 3: Run the test again
&lt;/h3&gt;

&lt;p&gt;Reload the &lt;a href="https://tools.examineip.com/vpn-leak-test/" rel="noopener noreferrer"&gt;leak test page&lt;/a&gt; and compare results.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Result&lt;/th&gt;
&lt;th&gt;What it means&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Only your VPN's IP is shown&lt;/td&gt;
&lt;td&gt;No leak — you're protected&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Your real IP appears alongside the VPN IP&lt;/td&gt;
&lt;td&gt;Active WebRTC leak&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;A local IP (192.168.x.x) appears&lt;/td&gt;
&lt;td&gt;Minor local IP exposure&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;No IP shown at all&lt;/td&gt;
&lt;td&gt;WebRTC is disabled&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  How to Fix a WebRTC Leak
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Fix 1: Use a VPN That Blocks WebRTC at the Client Level
&lt;/h3&gt;

&lt;p&gt;Full desktop VPN clients operate at the OS network driver level and intercept all outgoing traffic including WebRTC's UDP packets. Browser extension VPNs do not.&lt;/p&gt;

&lt;p&gt;Recommended options: &lt;a href="https://billing.purevpn.com/aff.php?aff=49387536" rel="noopener noreferrer"&gt;PureVPN&lt;/a&gt;, &lt;a href="https://affiliate.ipvanish.com/aff_c?offer_id=1&amp;amp;aff_id=4832" rel="noopener noreferrer"&gt;IPVanish&lt;/a&gt;, &lt;a href="https://surfshark.com/?utm_source=examineip" rel="noopener noreferrer"&gt;Surfshark&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After switching, re-run the &lt;a href="https://tools.examineip.com/vpn-leak-test/" rel="noopener noreferrer"&gt;leak test&lt;/a&gt; to confirm.&lt;/p&gt;

&lt;h3&gt;
  
  
  Fix 2: Disable WebRTC in Your Browser
&lt;/h3&gt;

&lt;h4&gt;
  
  
  Firefox
&lt;/h4&gt;

&lt;ol&gt;
&lt;li&gt;Type &lt;code&gt;about:config&lt;/code&gt; in the address bar&lt;/li&gt;
&lt;li&gt;Search for &lt;code&gt;media.peerconnection.enabled&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Double-click to set it to &lt;code&gt;false&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Restart Firefox&lt;/li&gt;
&lt;/ol&gt;

&lt;h4&gt;
  
  
  Chrome
&lt;/h4&gt;

&lt;p&gt;Use the &lt;strong&gt;uBlock Origin&lt;/strong&gt; extension → Settings → Advanced → enable &lt;em&gt;Prevent WebRTC from leaking local IP addresses&lt;/em&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Edge
&lt;/h4&gt;

&lt;ol&gt;
&lt;li&gt;Go to &lt;code&gt;edge://flags&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Search for &lt;code&gt;Anonymize local IPs exposed by WebRTC&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Set to &lt;strong&gt;Enabled&lt;/strong&gt; and relaunch&lt;/li&gt;
&lt;/ol&gt;

&lt;h4&gt;
  
  
  Brave
&lt;/h4&gt;

&lt;ol&gt;
&lt;li&gt;Go to &lt;code&gt;brave://settings/privacy&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Set &lt;strong&gt;WebRTC IP Handling Policy&lt;/strong&gt; to &lt;strong&gt;Disable Non-Proxied UDP&lt;/strong&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;blockquote&gt;
&lt;p&gt;Disabling WebRTC will break Google Meet, Discord web, and Zoom web. If you need those, use Fix 1 instead.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  Fix 3: Switch to a Privacy-Focused Browser
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Brave&lt;/strong&gt; — restricts WebRTC IP exposure natively&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Firefox&lt;/strong&gt; — supports full WebRTC disabling via &lt;code&gt;about:config&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tor Browser&lt;/strong&gt; — disables WebRTC entirely by default&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  WebRTC Leaks vs. DNS Leaks
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;WebRTC Leak&lt;/th&gt;
&lt;th&gt;DNS Leak&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;What leaks&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Your real IP address&lt;/td&gt;
&lt;td&gt;Your DNS queries&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Who can see it&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Any site with JavaScript&lt;/td&gt;
&lt;td&gt;Your ISP&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;How to test&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="https://tools.examineip.com/vpn-leak-test/" rel="noopener noreferrer"&gt;WebRTC leak test&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="https://tools.examineip.com/vpn-leak-test/" rel="noopener noreferrer"&gt;DNS leak test&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Summary
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Fastest fix:&lt;/strong&gt; uBlock Origin in Chrome&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Most reliable fix:&lt;/strong&gt; Switch to a full desktop VPN — &lt;a href="https://billing.purevpn.com/aff.php?aff=49387536" rel="noopener noreferrer"&gt;PureVPN&lt;/a&gt;, &lt;a href="https://affiliate.ipvanish.com/aff_c?offer_id=1&amp;amp;aff_id=4832" rel="noopener noreferrer"&gt;IPVanish&lt;/a&gt;, or &lt;a href="https://surfshark.com/?utm_source=examineip" rel="noopener noreferrer"&gt;Surfshark&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Most thorough fix:&lt;/strong&gt; Disable WebRTC in browser settings&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Always verify after making changes. Run the &lt;a href="https://tools.examineip.com/vpn-leak-test/" rel="noopener noreferrer"&gt;free WebRTC leak test&lt;/a&gt; to confirm — it takes 10 seconds.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Originally published at &lt;a href="https://examineip.com/webrtc-leak-test/" rel="noopener noreferrer"&gt;examineip.com&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>programming</category>
      <category>networking</category>
      <category>security</category>
    </item>
    <item>
      <title>I Tested 47 VPN Services Over 6 Months. 40% Failed Basic Security Tests.</title>
      <dc:creator>ExamineIP</dc:creator>
      <pubDate>Sat, 25 Apr 2026 08:31:26 +0000</pubDate>
      <link>https://dev.to/examineip/i-tested-47-vpn-services-over-6-months-40-failed-basic-security-tests-54p1</link>
      <guid>https://dev.to/examineip/i-tested-47-vpn-services-over-6-months-40-failed-basic-security-tests-54p1</guid>
      <description>&lt;p&gt;I spent 6 months building VPN/proxy security testing tools and analyzing 47 commercial services. The results were eye-opening.&lt;/p&gt;

&lt;h2&gt;
  
  
  Testing Methodology
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Packet capture analysis (Wireshark on public WiFi)&lt;/li&gt;
&lt;li&gt;DNS leak detection&lt;/li&gt;
&lt;li&gt;WebRTC STUN leak testing&lt;/li&gt;
&lt;li&gt;IPv6 leak detection&lt;/li&gt;
&lt;li&gt;Kill switch verification&lt;/li&gt;
&lt;li&gt;IP rotation monitoring&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Results
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;47 services tested:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;31 VPNs (22 passed, 9 failed)&lt;/li&gt;
&lt;li&gt;16 proxy services (6 premium passed, 10 free proxies all failed)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Overall failure rate: 40%&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Key Findings
&lt;/h2&gt;

&lt;h3&gt;
  
  
  VPN Failures (9 out of 31)
&lt;/h3&gt;

&lt;p&gt;The most common failure modes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;DNS leaks during kill switch engagement&lt;/li&gt;
&lt;li&gt;WebRTC STUN bypassing VPN tunnel&lt;/li&gt;
&lt;li&gt;IPv6 traffic not routed through VPN tunnel&lt;/li&gt;
&lt;li&gt;Kill switch race condition (leaked real IP during connection handshake)&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Free Proxies (100% Failure Rate)
&lt;/h3&gt;

&lt;p&gt;All 10 free proxy services tested failed security tests:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Zero encryption&lt;/li&gt;
&lt;li&gt;30% actively performed MITM with script injection&lt;/li&gt;
&lt;li&gt;10% performed DNS hijacking for ad injection&lt;/li&gt;
&lt;li&gt;All logged traffic without disclosure&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Most shocking:&lt;/strong&gt; 3 free proxy services actively injected advertising scripts into HTTPS traffic. One redirected Google searches to a spam search engine.&lt;/p&gt;

&lt;h3&gt;
  
  
  Premium Proxy Services
&lt;/h3&gt;

&lt;p&gt;All 6 premium services passed for their &lt;strong&gt;intended use case&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Not designed for privacy/anonymity&lt;/li&gt;
&lt;li&gt;Appropriate for web scraping, geo-testing, automation&lt;/li&gt;
&lt;li&gt;Should not be marketed as privacy tools&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  The "Military-Grade Encryption" Myth
&lt;/h2&gt;

&lt;p&gt;The "military-grade encryption" marketing claim is technically meaningless. AES-256 is industry standard across financial services, password managers, and messaging apps. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The actual security differentiator is leak prevention architecture, not encryption strength.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Most Critical Finding
&lt;/h2&gt;

&lt;p&gt;Kill switch implementation varies significantly. Several VPNs leaked real IP during the connection establishment phase before the kill switch engaged, creating a &lt;strong&gt;2-3 second window of exposure&lt;/strong&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  When to Use What
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Use a VPN when:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Privacy and security are the priority&lt;/li&gt;
&lt;li&gt;Public WiFi (cafés, airports, hotels)&lt;/li&gt;
&lt;li&gt;Handling sensitive data&lt;/li&gt;
&lt;li&gt;Countries with internet censorship&lt;/li&gt;
&lt;li&gt;Torrenting or P2P file sharing&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Use Premium Proxies when:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Web scraping and data collection at scale&lt;/li&gt;
&lt;li&gt;Automation and bot operations&lt;/li&gt;
&lt;li&gt;Geographic testing and localization&lt;/li&gt;
&lt;li&gt;Speed matters more than encryption&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Never use free proxies.&lt;/strong&gt; Ever.&lt;/p&gt;

&lt;h2&gt;
  
  
  Testing Tools
&lt;/h2&gt;

&lt;p&gt;I built a free VPN leak testing tool: &lt;a href="https://examineip.com/vpn-leak-test" rel="noopener noreferrer"&gt;examineip.com/vpn-leak-test&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Tests for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;DNS leaks&lt;/li&gt;
&lt;li&gt;WebRTC leaks&lt;/li&gt;
&lt;li&gt;IPv6 leaks&lt;/li&gt;
&lt;li&gt;Real-time IP verification&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Full Technical Analysis
&lt;/h2&gt;

&lt;p&gt;Read the complete writeup with detailed methodology and findings: &lt;a href="https://medium.com/@examineip/i-tested-my-vpn-on-public-wifi-and-discovered-it-wasnt-actually-protecting-me-d08b6c66002e" rel="noopener noreferrer"&gt;I Tested My VPN on Public WiFi and Discovered It Wasn't Actually Protecting Me&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Originally published on Medium. Cross-posted to DEV.to to reach the developer community.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Happy to answer questions about the testing methodology or specific findings in the comments!&lt;/p&gt;

</description>
      <category>privacy</category>
      <category>security</category>
      <category>webdev</category>
      <category>networking</category>
    </item>
    <item>
      <title>I built a simple IP checker tool</title>
      <dc:creator>ExamineIP</dc:creator>
      <pubDate>Wed, 25 Mar 2026 17:09:43 +0000</pubDate>
      <link>https://dev.to/examineip/i-built-a-simple-ip-checker-tool-5046</link>
      <guid>https://dev.to/examineip/i-built-a-simple-ip-checker-tool-5046</guid>
      <description>&lt;p&gt;I’ve been working on a simple IP checker that shows your IP address, location, ISP, and browser info.&lt;/p&gt;

&lt;p&gt;The idea was to keep it clean and easy to understand, especially for beginners who want to know what their IP actually reveals.&lt;/p&gt;

&lt;p&gt;While building it, I also realized how confusing the basics of the internet can be for most people — things like DNS, servers, and how a page actually loads.&lt;/p&gt;

&lt;p&gt;So I wrote a simple breakdown explaining how websites actually work, step by step.&lt;/p&gt;

&lt;p&gt;If you're curious, you can check it here:&lt;br&gt;
&lt;a href="https://examineip.com/how-websites-actually-work-simple-explanation-for-beginners/" rel="noopener noreferrer"&gt;https://examineip.com/how-websites-actually-work-simple-explanation-for-beginners/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;And here’s the tool itself:&lt;br&gt;
&lt;a href="https://tools.examineip.com/" rel="noopener noreferrer"&gt;https://tools.examineip.com/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Would love feedback or suggestions on what to improve.&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>networking</category>
      <category>showdev</category>
      <category>sideprojects</category>
    </item>
  </channel>
</rss>
