WebRTC IPs
A library to detect your local IP address via WebRTC on the web page.
Security notes
All modern browsers now require special flags to allow leaking local IP address.
Chrome:
Set enable-webrtc-hide-local-ips-with-mdns
to disabled
on chrome://flags
page.
Or run chrome with arguments:
--flag-switches-begin --disable-features=WebRtcHideLocalIpsWithMdns --flag-switches-end
Firefox:
Set media.peerconnection.ice.obfuscate_host_addresses
to false
on about:config
page.
Safari:
Set Disable ICE Candidate Restrictions
in Developer
menu.
Screenshot
Live demo
https://vitalets.github.io/webrtc-ips/demo/
Please ensure that you enabled browser flags from previous section
Installation
npm i webrtc-ips
Usage
import {getIPs, getIPv4, getIPv6} from 'webrtc-ips';
const ips = await getIPs();
const ips = await getIPs({ urls: "stun:stun.stunprotocol.org:3478" });
const ipv4 = await getIPv4();
const ipv6 = await getIPv6();
Credits
This is a fork of original diafygi/webrtc-ips project
with refactored source code, added tests and published to npm.
Related links
License
MIT