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 { 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, | ||||
| 			}, | ||||
| 		}; | ||||
| 	} | ||||
|   | ||||
		Reference in New Issue
	
	Block a user