Geolokalizace IP adresy

Z důvodů pořešení nějakých bezpečnostních praktik jsem potřeboval nějak blíže geolokalizovat IP přihlašovaného uživatele, respektive záškodníka, abych věděl odkud se fyzicky přihlašuje:

NodeJS: geolokalizace IP adresy

'use strict';

const request = require('request');

function getIpGeolocation(ip, callBack) {
    request(`http://ipinfo.io/${ip}/json`, (error, response, body) => {
        if (!error && body) {
            callBack(null, JSON.parse(body));
        } else {
            callBack(error, null);
        }
    });
}

// TESTOVACI SEKCE
// Pro spuseteni na prikazove radce, kde 1. argumentem je hledana IP adresa
if (require.main === module) {
    if (process.argv.length < 3) {
        console.log('Spatny pocet argumentu: 1.argument = IP adresa');
    } else {
        getIpGeolocation(process.argv[2], (err, info) => {
            if (!err && info) {
                console.log(JSON.stringify(info, null, 4));
            }
        });

    }
}

Python: geolokalizace IP adresy

#!/usr/local/bin/python

import json
from urllib2 import urlopen
from sys import argv, exit

def get_ip_geolocation(ip):
    return json.load(urlopen('http://ipinfo.io/{0}/json'.format(ip)))

if __name__ == "__main__":
    if len(argv) < 2:
        ip = raw_input("IP: ")
    else:
        ip = argv[1]
    info = get_ip_geolocation(ip)
    info["ip"] = ip
    for i in info:
        print("{:10}: {}".format(i, info[i]))