WebRTC (Web Real-Time Communication) is an open-source tool that allows real-time, peer-to-peer connections to be created by websites you visit. WebRTC allows for direct delivery of high definition video and audio between two devices, which would otherwise be impossible without the installation of third-party plugins. Web applications such as Google Hangouts, Facebook Messenger and Discord are all able to work straight from your browser thanks to WebRTC.
1. Why disable WebRTC?
While WebRTC is necessary to allow many web apps to work, it can also leave your privacy vulnerable. Many VPN users who wish to protect themselves from targeted advertising, totalitarian governments, or any other snooping, are having their security put at risk through IP address leaks.
WebRTC creates a direct connection between your computer and the device you wish to connect to, going around the protection of your VPN. When you use Google Hangouts, for example, a direct connection between your device and the devices of the people you’re in a call with is formed, allowing direct exchange of video and audio data. This direct connection exposes your IP address to the WebRTC application programming interface (API), where it can be found and recorded by the app you are using.
1.1 How to check if WebRTC is leaking your IP address
Unless you disable WebRTC from your browser or use a VPN with a built-in WebRTC leak blocker, your IP address is vulnerable. You can easily check if your IP address is being leaked with tools like HMA!’s WebRTC leak checker.
2. Disabling WebRTC
2.1 How to disable WebRTC in Google Chrome
The goods news is that WebRTC can be disabled in Chrome; the bad news is that they’ve hidden the option to do it in the application programming interface (API). Unless you feel like spending a few hours programming, you will need a third-party tool to access the setting for you. Luckily, there are many extensions that do exactly this in the Chrome store.
WebRTC Control is a Chrome extension which allows you to turn WebRTC on and off, letting you choose when you want to use the peer-to-peer functionality and when you want to prevent IP leaks. As with all extensions, it has a high chance of breaking when the browser gets an update, so it’s a good idea to check it’s still working when a new version of Chrome is rolled out for your PC.
WebRTC Leak Prevent doesn’t disable WebRTC, but rather changes its privacy settings. This essentially stops it from handing out your IP address left and right – but doesn’t prevent leaks entirely. It’s a compromise between protecting your IP and keeping WebRTC functionality, but is definitely not the most secure option.
2.2 How to disable WebRTC in Google Chrome on Android
Unlike on the desktop version, Chrome on Android has an option to disable WebRTC right on the flags page.
- Type in chrome://flags/#disable-webrtc into the address bar.
- A setting to disable WebRTC will show up. Click ‘Enable’ on this setting.
- Close the browser from your applications screen or by rebooting your phone for the setting to take effect.
2.3 How to disable WebRTC in Mozilla Firefox
Firefox has a built-in setting which allows you to turn off WebRTC without using any third-party extensions.
- In the address bar, type about:config and press Enter.
- A warning screen appears to let you know you’re about to edit important settings. Click ‘I accept the risk!’
- In the search box at the top of the page, type in media.peerconnection.enabled and press Enter.
- Double-click on the media.peerconnection.enabled setting, and the ‘Value’ column will change to ‘False’ to let you know that peer-to-peer connections including WebRTC are now disabled.
2.4 How to disable WebRTC in Microsoft Edge
Turning WebRTC off in Microsoft Edge is not currently possible, though there is an option to stop your local IP address from being revealed. This is not all that useful however, as WebRTC will still reveal your public IP address, which is the more important one as it can be used to identify you.
- In the address bar, type about:flags and press Enter.
- Under ‘WebRTC’ tick the checkbox titled ‘Hide my local IP address over WebRTC connections.’
- Restart your browser.
2.5 How to disable WebRTC in Safari (on macOS)
There is currently no way to permanently turn off WebRTC in Safari, but what you can do is disable it for a single session. Just remember that it will be back on when you restart your browser.
- Click ‘Safari’ on the menu bar, next to the Apple icon.
- Click ‘Preferences.’
- Go to the ‘Advanced’ tab in the settings window that opens up.
- At the bottom, tick the checkbox titled ‘Show Develop menu in menu bar.’
- On the menu bar at the top of your screen, click the ‘Develop’ option which will now be visible.
- Click ‘Experimental Features’ -> ‘Remove Legacy WebRTC API.’ WebRTC will now be disabled on your browser – for the current session.
2.6 How to disable WebRTC in Safari (on iOS)
Apple, for a reason yet to be explained, removed the option to disable WebRTC on the iPhone browser in the iOS 12 update.
If you happen to have an older iPhone or otherwise haven’t updated to iOS 12 yet, you can disable WebRTC in a similar way to the desktop version. On iOS 11 and earlier iOS versions:
- Open the Settings application.
- Find and tap Safari.
- Tap ‘Advanced.’
- Tap ‘Experimental Features.’
- Tap the switch next to ‘Remove Legacy WebRTC API.’
- The switch will turn green to let you know that WebRTC has been disabled for the current session.
3. Keeping your browsing secure in the future
Since many browsers unfortunately lack the option to disable WebRTC, the best way to stop your IP address from being leaked is to use one of the VPN services that includes leak protection. The added bonus of using a VPN with this feature is that not only will your IP be protected, but you’ll also be able to safely use all of WebRTC’s functionality.