in Abuse.ch/src/ANFAbuseHostfile.js [8:34]
async function getDomains (){
var listOfDomains = [];
console.log("Fetching the list of domains from " + hostfileUrl);
return new Promise((resolve, reject) => {
let dataString = '';
let post_req = https.request(hostfileUrl, (res) => {
res.setEncoding("utf8");
res.on('data', chunk => {
dataString += chunk;
});
res.on('end', () => {
//console.log(dataString);
listOfDomains = dataString
.split(/\r?\n/)
.filter((line) => line.match(/^\d+/))
.map((line)=> {return line.replace(/127.0.0.1\t/,'').toLowerCase()})
.filter((line) => line.match(/^(?!:\/\/)(?=.{1,255}$)((.{1,63}\.){1,127}(?![0-9]*$)[a-z0-9-]+\.?)$/));
console.log("Fetched " + listOfDomains.length + " Domains");
resolve(listOfDomains);
});
res.on('error', (err) => {
reject(err);
});
});
post_req.end();
});
}