stalker-server
Version:
A static server with realtime log parser
37 lines (31 loc) • 900 B
JavaScript
//将ip转成省市县和isp
var ipfinder = require('stalker-ipfind');
var path = require('path');
exports.init = function(options) {
if (options.database) {
ipfinder.loadData(path.resolve(process.cwd(), options.database));
}
}
exports.task = function(data, settings, which, globalSettings) {
var ip = String(data.ip).trim();
var ipData = ['', '', '', ''];
if (isIp(ip)) {
var ipArr = ip.split('.');
if (ipArr[0] == 10 || (ipArr[0] == 192 && ipArr[1] == 168)) {} else {
ip = String(ip);
ipData = ipfinder.findSync(ip);
}
}
data.isp = ipData[0];
data.province = ipData[1];
data.city = ipData[2];
data.county = ipData[3];
return data;
}
function isIp(ip) {
if (typeof ip !== 'string') {
return false;
}
var reg = /^\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3}$/;
return reg.test(ip);
}