All Projects → vitalets → webrtc-ips

vitalets / webrtc-ips

Licence: MIT license
A library to detect your local IP address via WebRTC on the web page.

Projects that are alternatives of or similar to webrtc-ips

Rtcmulticonnection
RTCMultiConnection is a WebRTC JavaScript library for peer-to-peer applications (screen sharing, audio/video conferencing, file sharing, media streaming etc.)
Stars: ✭ 2,187 (+5367.5%)
Mutual labels:  webrtc-javascript-library, webrtc-libraries
WebRTCapp
This Android app aims to be a small video conference app created using mainly WebRTC technology. With it, you can make calls though a web socket connection
Stars: ✭ 27 (-32.5%)
Mutual labels:  webrtc-libraries
Compile WebRTC Library For Android
A Step by Step guide to ** Build and Compile ** WebRTC Library for Android. This library is based on the Complete WebRTC Native Stack for Android.
Stars: ✭ 29 (-27.5%)
Mutual labels:  webrtc-libraries
palava-client
Signaling client for WebRTC video-/audio conferencing using the palava protocol
Stars: ✭ 61 (+52.5%)
Mutual labels:  webrtc-javascript-library
pubnub-js-webrtc
adambavosa.com/pubnub-js-webrtc/example/
Stars: ✭ 16 (-60%)
Mutual labels:  webrtc-javascript-library
Aiortc
WebRTC and ORTC implementation for Python using asyncio
Stars: ✭ 2,706 (+6665%)
Mutual labels:  webrtc-libraries
Webrtc Experiment
WebRTC, WebRTC and WebRTC. Everything here is all about WebRTC!!
Stars: ✭ 10,335 (+25737.5%)
Mutual labels:  webrtc-libraries
Webrtc
Pure Go implementation of the WebRTC API
Stars: ✭ 8,399 (+20897.5%)
Mutual labels:  webrtc-libraries
foxrtc
media sdk based on webrtc
Stars: ✭ 36 (-10%)
Mutual labels:  webrtc-libraries

WebRTC IPs

Actions Status npm license

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

image

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();
// => [{address: '95.108.174.12', v6: false}, {address: '2a02:6b8::408:5830:47a6:d045:a9ac', v6: true}]

// You can pass in your custom stun server urls
const ips = await getIPs({ urls: "stun:stun.stunprotocol.org:3478" });
// => [{address: '95.108.174.12', v6: false}, {address: '2a02:6b8::408:5830:47a6:d045:a9ac', v6: true}]

const ipv4 = await getIPv4();
// => '95.108.174.12'

const ipv6 = await getIPv6();
// => '2a02:6b8::408:5830:47a6:d045:a9ac'

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

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].