1
0
mirror of https://github.com/laurent22/joplin.git synced 2024-12-24 10:27:10 +02:00

All: Change geolocation service to freegeoip.app to improve privacy (#2503)

removed unnecessary request to `api.ipify.org`

closes #2469
This commit is contained in:
Helmut K. C. Tessarek 2020-02-27 04:48:23 -05:00 committed by GitHub
parent 25a246b6ae
commit a576ad2a39
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -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) : '<null>'}`);
if (!('latitude' in response) || !('longitude' in response)) throw new Error(`Invalid geolocation response: ${response ? JSON.stringify(response) : '<null>'}`);
return {
timestamp: new Date().getTime(),
coords: {
longitude: response.lon,
longitude: response.longitude,
altitude: 0,
latitude: response.lat,
latitude: response.latitude,
},
};
}