pokemon-showdown/dnsbl.js
2013-09-13 10:19:00 -07:00

18 lines
395 B
JavaScript

var dns = require('dns');
var blocklist = 'zen.spamhaus.org';
var dnsblCache = {};
exports.query = function queryDnsbl(ip, callback) {
if (ip in dnsblCache) {
callback(dnsblCache[ip]);
return;
}
var reversedIp = ip.split('.').reverse().join('.');
dns.resolve4(reversedIp+'.'+blocklist, function(err, addresses) {
var isBlocked = dnsblCache[ip] = !err;
callback(isBlocked);
});
}