Research
Security News
Malicious npm Package Targets Solana Developers and Hijacks Funds
A malicious npm package targets Solana developers, rerouting funds in 2% of transactions to a hardcoded address.
mobile-locator
Advanced tools
Get geolocation from cell tower information.
Currently, the following APIs are implemented:
cellocation
: Cellocation.com API (China)gpsspg
: GPSspg.com API (China)google
: Google Geolocation APIhaoservice
: HaoService.com API (China)mozilla
: Mozilla Geolocation APImylnikov
: Mylnikov Geolocation APIopencellid
: OpenCellID APIunwiredlabs
: UnwiredLabs Location APIyandex
: Yandex Geolocation API (Russian)Create the location engine by given name and options.
Name | Options |
---|---|
cellocation | system (optional): Coordinate system: wgs84 (Default), gcj02 , bd09 . |
google | key : Google API key |
gpsspg | key : GPSspg API key, oid : GPSspg OID,system (optional): Coordinate system: 0 :wgs84_(Default)_; 1 :gcj02; 2 :bd09; 3 :QQ Maps; 4 :MapBar |
haoservice | key : HaoService API key, system (optional): Coordinate system: 0 : gcj02; 1 :bd09; 2 :wgs84_(Default)_ |
mozilla | key : Mozilla API key |
mylnikov | data (optional): open : Use open source data. |
opencellid | key : OpenCellID API key |
unwiredlabs | token : UnwiredLabs Location API token |
yandex | key : Yandex API key |
Besides the above engine-specific options, more general options are also available:
verbose
: Print more debug information if verbose
is true
;timeout
: Set the timeout value in milliseconds. There is no timeout by default.The returned value is a locate()
function, which will be described in the next section.
info
should contain cell information, including mnc
, mcc
, lac
and cid
.
The function will return a promise, which will return the location
from given geolocation service.
location
is an object contains following properties:
Property | Description |
---|---|
longitude | Longitude |
latitude | Latitude |
accuracy | The accuracy range of the given position |
address (optional) | For some API, this property contains the human readable address line. |
const api = require('mobile-locator');
const locate = api('google', { key: YOUR_GOOGLE_API_KEY });
locate({ mcc: 460, mnc: 0, lac: 4219, cid: 20925 })
.then(location => console.log(JSON.stringify(location, null, 2)));
The output would be:
{
longitude: 116.46679499999998,
latitude: 39.9910226,
accuracy: 606
}
Usage
$ mobile-locator -h
Usage: mobile-locator [options]
Locate geolocation information based on Cell base station data
Options:
-h, --help output usage information
-V, --version output the version number
-c, --cell <cell> Cell tower base station information in format "MCC,MNC,LAC,CID". "-c 460,0,4219,20925"
-e, --engine <engine> Geolocation service engine. {cellocation, google, gpsspg, haoservice, mozilla, mylnikov, opencellid, unwiredlabs, yandex}. Default: google
-a, --arguments <arguments> Arguments for geolocation engine. e.g. "key:XXX,oid:123".
-m, --map <map> Map service. {google, bing, openstreetmap, google.cn, bing.cn, baidu}.
-v, --verbose Verbose output.
Examples:
$ mobile-locator -a "key:XXX" -c 460,0,4219,20925
$ mobile-locator -e cellocation -a "system:bd09" -m baidu -c 460,0,4219,20925
By default, the Google Geolocation engine will be used.
$ mobile-locator -a "key:GOOGLE_API_KEY" -c 460,0,4219,20925
{"longitude":116.46679499999998,"latitude":39.9910226,"accuracy":606}
With verbose option:
$ mobile-locator -a "key:AIzaSyAL2sfTLqUv9Rb3ercbtuu__PG2pS_4eDo" -c 460,0,4219,20925 -v
Geolocation engine: "google"
Cell: {"mcc":"460","mnc":"0","lac":"4219","cid":"20925"}
Location: {"longitude":116.46679499999998,"latitude":39.9910226,"accuracy":606}
More complex example:
cellocation
engine;bd09
coordinate system;$ mobile-locator -e cellocation -a 'system:bd09' -m baidu -v -c 460,0,4219,20925
Geolocation engine: "cellocation"
Cell: {"mcc":"460","mnc":"0","lac":"4219","cid":"20925"}
Location: {"longitude":"116.479653","latitude":"39.997967","accuracy":"100","address":"北京市朝阳区望京街道望京园402号楼;广顺南大街与阜安西路路口东北109米"}
Map url: http://api.map.baidu.com/marker?location=39.997967,116.479653&title=_&content=北京市朝阳区望京街道望京园402号楼;广顺南大街与阜安西路路口东北109米&output=html&autoOpen=true
FAQs
Locate geolocation information based on Cell base station data
We found that mobile-locator demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
A malicious npm package targets Solana developers, rerouting funds in 2% of transactions to a hardcoded address.
Security News
Research
Socket researchers have discovered malicious npm packages targeting crypto developers, stealing credentials and wallet data using spyware delivered through typosquats of popular cryptographic libraries.
Security News
Socket's package search now displays weekly downloads for npm packages, helping developers quickly assess popularity and make more informed decisions.