diff --git a/src/cloudron.js b/src/cloudron.js index 27f527e10..4b6e78eb1 100644 --- a/src/cloudron.js +++ b/src/cloudron.js @@ -191,20 +191,26 @@ function setTimeZone(ip, callback) { debug('setTimeZone ip:%s', ip); - superagent.get('http://www.telize.com/geoip/' + ip).end(function (error, result) { + // https://github.com/bluesmoon/node-geoip + // https://github.com/runk/node-maxmind + // { url: 'http://freegeoip.net/json/%s', jpath: 'time_zone' }, + // { url: 'http://ip-api.com/json/%s', jpath: 'timezone' }, + // { url: 'http://geoip.nekudo.com/api/%s', jpath: 'time_zone } + + superagent.get('http://freegeoip.net/json/' + ip).end(function (error, result) { if ((error && !error.response) || result.statusCode !== 200) { debug('Failed to get geo location: %s', error.message); return callback(null); } - if (!result.body.timezone) { + if (typeof result.body.time_zone !== 'string') { debug('No timezone in geoip response : %j', result.body); return callback(null); } - debug('Setting timezone to ', result.body.timezone); + debug('Setting timezone to ', result.body.time_zone); - settings.setTimeZone(result.body.timezone, callback); + settings.setTimeZone(result.body.time_zone, callback); }); }