Get Local IP of a device in chrome extension Get Local IP of a device in chrome extension google-chrome google-chrome

Get Local IP of a device in chrome extension


You can get a list of your local IP addresses (more precisely: The IP addresses of your local network interfaces) via the WebRTC API. This API can be used by any web application (not just Chrome extensions).

Example:

// Example (using the function below).getLocalIPs(function(ips) { // <!-- ips is an array of local IP addresses.    document.body.textContent = 'Local IP addresses:\n ' + ips.join('\n ');});function getLocalIPs(callback) {    var ips = [];    var RTCPeerConnection = window.RTCPeerConnection ||        window.webkitRTCPeerConnection || window.mozRTCPeerConnection;    var pc = new RTCPeerConnection({        // Don't specify any stun/turn servers, otherwise you will        // also find your public IP addresses.        iceServers: []    });    // Add a media line, this is needed to activate candidate gathering.    pc.createDataChannel('');        // onicecandidate is triggered whenever a candidate has been found.    pc.onicecandidate = function(e) {        if (!e.candidate) { // Candidate gathering completed.            pc.close();            callback(ips);            return;        }        var ip = /^candidate:.+ (\S+) \d+ typ/.exec(e.candidate.candidate)[1];        if (ips.indexOf(ip) == -1) // avoid duplicate entries (tcp/udp)            ips.push(ip);    };    pc.createOffer(function(sdp) {        pc.setLocalDescription(sdp);    }, function onerror() {});}
<body style="white-space:pre"> IP addresses will be printed here... </body>