You've already forked joplin
							
							
				mirror of
				https://github.com/laurent22/joplin.git
				synced 2025-10-31 00:07:48 +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:
		
				
					committed by
					
						 GitHub
						GitHub
					
				
			
			
				
	
			
			
			
						parent
						
							25a246b6ae
						
					
				
				
					commit
					a576ad2a39
				
			| @@ -1,25 +1,22 @@ | |||||||
| const { shim } = require('lib/shim.js'); | const { shim } = require('lib/shim.js'); | ||||||
| const { netUtils } = require('lib/net-utils.js'); |  | ||||||
|  |  | ||||||
| class GeolocationNode { | class GeolocationNode { | ||||||
| 	static async currentPosition(options = null) { | 	static async currentPosition(options = null) { | ||||||
| 		if (!options) options = {}; | 		if (!options) options = {}; | ||||||
|  |  | ||||||
| 		const ip = await netUtils.ip(); | 		let response = await shim.fetch('https://freegeoip.app/json/'); | ||||||
|  |  | ||||||
| 		let response = await shim.fetch(`http://ip-api.com/json/${ip}`); |  | ||||||
| 		if (!response.ok) throw new Error(`Could not get geolocation: ${await response.text()}`); | 		if (!response.ok) throw new Error(`Could not get geolocation: ${await response.text()}`); | ||||||
|  |  | ||||||
| 		response = await response.json(); | 		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 { | 		return { | ||||||
| 			timestamp: new Date().getTime(), | 			timestamp: new Date().getTime(), | ||||||
| 			coords: { | 			coords: { | ||||||
| 				longitude: response.lon, | 				longitude: response.longitude, | ||||||
| 				altitude: 0, | 				altitude: 0, | ||||||
| 				latitude: response.lat, | 				latitude: response.latitude, | ||||||
| 			}, | 			}, | ||||||
| 		}; | 		}; | ||||||
| 	} | 	} | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user