title: I want to get client-ip either client is connected to LAN or WIFI using java script
body: <p>I want to get client-ip either client is connected to LAN or WIFI using java script, currently i am using following code:</p>
  
  <pre><code>function  getUserIP(onNewIP) {
  // compatibility for firefox and chrome
  let myPeerConnection = window['RTCPeerConnection'] || window['mozRTCPeerConnection'] || window['webkitRTCPeerConnection'];
  let pc = new myPeerConnection({
  iceServers: []
  }),
  noop = function () { },
  localIPs = {},
  ipRegex = /([0-9]{1,3}(\.[0-9]{1,3}){3}|[a-f0-9]{1,4}(:[a-f0-9]{1,4}){7})/g,
  key;
  
  function iterateIP(ip) {
  if (!localIPs[ip]) onNewIP(ip);
  localIPs[ip] = true;
  }
  
  // create a bogus data channel
  pc.createDataChannel("");
  
  // create offer and set local description
  pc.createOffer(function (sdp) {
  sdp.sdp.split('\n').forEach(function (line) {
  if (line.indexOf('candidate') &lt; 0) return;
  line.match(ipRegex).forEach(iterateIP);
  });
  
  pc.setLocalDescription(sdp, noop, noop);
  }, noop);
  
  // listen for candidate events
  pc.onicecandidate = function (ice) {
  if (!ice || !ice.candidate || !ice.candidate.candidate || !ice.candidate.candidate.match(ipRegex)) return;
  ice.candidate.candidate.match(ipRegex).forEach(iterateIP);
  };
  }
  let ipAddr = [];
  this.getUserIP(function (ip) {
  ipAddr.push(ip);
  localStorage['ip'] = ipAddr[0];
  });
  </code></pre>
  
  <p>This code is working for older version of chrome but not working for latest chrome (Version 80).</p>