locate_wifi
v1.0.5
Published
Get location based on WI-Fi access point BSSID using Mylnikov Geo, 3WiFi and Wigle.net
Downloads
21
Maintainers
Readme
Description
Library can get location of Wi-Fi access points.
Library can use open and completely free Mylnikov service, 3WiFi and limited wigle.net (you need to regigter there) if you want to use it.
Installation
You can install it with this command:
npm install locate_wifi
Usage
First require library:
const wifi = require('locate_wifi');
If you want to use OpenCellId, Mozilla Location Service or set custom socket timeout, you should initialize library before using:
wifi.init({
// API keys
api_name : 'you should sign up on https://wigle.net/ to get this',
api_token: 'you should sign up on https://wigle.net/ to get this',
api_key : 'you should sign up on https://3wifi.stascorp.com/ to get this',
// socket timeout in milliseconds (default is 3000)
'timeout': 3000
});
Then perform requests the following way:
bssid = 'F8:3D:FF:BB:BA:29'; // can be in every form, i.e. 'F8:3DFF-bb:Ba 29'
wifi.mylnikov(bssid)
.then(coords => {
console.log(`mylnikov:`);
console.log(JSON.stringify(coords, null, 4));
})
.catch(err => {
console.log(`mylnikov ERROR:`);
console.log(err);
});
wifi.wigle(bssid)
.then(coords => {
console.log(`wigle:`);
console.log(JSON.stringify(coords, null, 4));
})
.catch(err => {
console.log(`wigle ERROR:`);
console.log(err);
});
wifi['3wifi'](bssid)
.then(coords => {
console.log(`3wifi:`);
console.log(JSON.stringify(coords, null, 4));
})
.catch(err => {
console.log(`3wifi ERROR:`);
console.log(err);
});
// result of every call will be like this:
// {
// "lat" : 59.31150685708,
// "lon" : 18.07485943715,
// "ssid" : "Tele2Internet-F0029", // will be null in wifi.mylnikov()
// "range": 141 // will be null in wifi.wigle() and wifi['3wifi']()
// }
@license MIT
@version 1.0.5
@author Alexander Russkiy [email protected]