async function getDomains()

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();
    });
}