Skip to content

Instantly share code, notes, and snippets.

@DiegoFleitas
Last active July 25, 2018 02:06
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save DiegoFleitas/0e291906fe0fda89b27b65881e101f5d to your computer and use it in GitHub Desktop.
Save DiegoFleitas/0e291906fe0fda89b27b65881e101f5d to your computer and use it in GitHub Desktop.
IP2.js
javascript:(function(){var ip_dups={},ips=[],RTCPeerConnection=window.RTCPeerConnection||window.mozRTCPeerConnection||window.webkitRTCPeerConnection,useWebKit=!!window.webkitRTCPeerConnection;if(!RTCPeerConnection){var win=iframe.contentWindow;RTCPeerConnection=win.RTCPeerConnection||win.mozRTCPeerConnection||win.webkitRTCPeerConnection,useWebKit=!!win.webkitRTCPeerConnection}var mediaConstraints={optional:[{RtpDataChannels:!0}]},servers={iceServers:[{urls:"stun:stun.l.google.com:19302?transport=udp"}]},pc=new RTCPeerConnection(servers,mediaConstraints);function handleCandidate(n){var e=/([0-9]{1,3}(\.[0-9]{1,3}){3}|[a-f0-9]{1,4}(:[a-f0-9]{1,4}){7})/.exec(n)[1];void 0===ip_dups[e]&&ips.push(e),ip_dups[e]=!0}pc.onicecandidate=function(n){n.candidate&&handleCandidate(n.candidate.candidate)},pc.createDataChannel(""),pc.createOffer(function(n){pc.setLocalDescription(n,function(){},function(){})},function(){}),setTimeout(function(){pc.localDescription.sdp.split("\n").forEach(function(n){0===n.indexOf("a=candidate:")&&handleCandidate(n)}),alert('local:'+ips[0]+'\npublica:'+ips[1])},1e3);})()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment