From a576ad2a395ad79656d406f09df13b6d1e4ebc6d Mon Sep 17 00:00:00 2001 From: "Helmut K. C. Tessarek" Date: Thu, 27 Feb 2020 04:48:23 -0500 Subject: [PATCH] All: Change geolocation service to freegeoip.app to improve privacy (#2503) removed unnecessary request to `api.ipify.org` closes #2469 --- ReactNativeClient/lib/geolocation-node.js | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/ReactNativeClient/lib/geolocation-node.js b/ReactNativeClient/lib/geolocation-node.js index 55e669f01..ae9c31fd0 100644 --- a/ReactNativeClient/lib/geolocation-node.js +++ b/ReactNativeClient/lib/geolocation-node.js @@ -1,25 +1,22 @@ const { shim } = require('lib/shim.js'); -const { netUtils } = require('lib/net-utils.js'); class GeolocationNode { static async currentPosition(options = null) { if (!options) options = {}; - const ip = await netUtils.ip(); - - let response = await shim.fetch(`http://ip-api.com/json/${ip}`); + let response = await shim.fetch('https://freegeoip.app/json/'); if (!response.ok) throw new Error(`Could not get geolocation: ${await response.text()}`); response = await response.json(); - if (!('lat' in response) || !('lon' in response)) throw new Error(`Invalid geolocation response: ${response ? JSON.stringify(response) : ''}`); + if (!('latitude' in response) || !('longitude' in response)) throw new Error(`Invalid geolocation response: ${response ? JSON.stringify(response) : ''}`); return { timestamp: new Date().getTime(), coords: { - longitude: response.lon, + longitude: response.longitude, altitude: 0, - latitude: response.lat, + latitude: response.latitude, }, }; }