2017-12-07 12:36:41 +01:00
|
|
|
var config = require('./config');
|
|
|
|
|
const links = require('./helper/links');
|
2017-12-12 22:08:02 +01:00
|
|
|
const database = require('./helper/database');
|
2017-12-07 12:36:41 +01:00
|
|
|
var MongoClient = require ('mongodb').MongoClient;
|
|
|
|
|
var ObjectID = require ('mongodb').ObjectID;
|
|
|
|
|
var fs = require('fs');
|
|
|
|
|
|
2017-12-12 22:08:02 +01:00
|
|
|
|
|
|
|
|
MongoClient.connect(config.databaseURL).then(mongoDatabase => {
|
|
|
|
|
let db = mongoDatabase;
|
2017-12-11 18:22:06 +01:00
|
|
|
|
|
|
|
|
db.executeDbAdminCommand( { setParameter: true, textSearchEnabled : true});
|
|
|
|
|
db.collection('expired_list').createIndex({domainName: 'text'}, {unique: true});
|
|
|
|
|
|
|
|
|
|
db.collection('yesterday').drop();
|
|
|
|
|
db.collection('today').rename('yesterday');
|
|
|
|
|
db.createCollection('today');
|
2017-12-07 12:36:41 +01:00
|
|
|
|
|
|
|
|
//Get word list into memory
|
|
|
|
|
fs.readFile(config.wordList, 'utf8', (err,data)=>{
|
|
|
|
|
if (err){
|
|
|
|
|
console.log(err);
|
|
|
|
|
config.words=[];
|
|
|
|
|
}else{
|
2017-12-08 10:57:47 +01:00
|
|
|
config.words = data.split('\n');
|
2017-12-11 18:22:06 +01:00
|
|
|
config.words = config.words.map(word=>{
|
2017-12-08 10:57:47 +01:00
|
|
|
return word.toLowerCase();
|
|
|
|
|
});
|
2017-12-11 18:22:06 +01:00
|
|
|
|
2017-12-13 13:56:47 +01:00
|
|
|
let getDomainListPromises = [];
|
|
|
|
|
|
2017-12-08 10:57:47 +01:00
|
|
|
config.domainList.map(url=>{
|
2017-12-14 02:45:51 +01:00
|
|
|
getDomainListPromises.push(links.getDomainList(url).then(res=>{
|
|
|
|
|
return database.insertTodayDomains(db,res);
|
|
|
|
|
}).then(()=>{
|
|
|
|
|
return database.getYesterdayDomains(db);
|
|
|
|
|
}).then(result=>{
|
|
|
|
|
return database.insertExpired(db,result);
|
|
|
|
|
}).catch(e=>{
|
|
|
|
|
console.log("Err : " +e);
|
|
|
|
|
}));
|
2017-12-12 22:08:02 +01:00
|
|
|
|
2017-12-13 13:56:47 +01:00
|
|
|
});
|
|
|
|
|
|
|
|
|
|
Promise.all(getDomainListPromises).then(()=>{
|
2017-12-14 02:45:51 +01:00
|
|
|
database.getExpiredDomains(db).then(result=>{
|
|
|
|
|
return links.checkExpiredDomains(db,result);
|
|
|
|
|
}).then(()=>{
|
|
|
|
|
console.log("Done - closing");
|
|
|
|
|
db.close();
|
2017-12-13 13:56:47 +01:00
|
|
|
});
|
2017-12-14 02:45:51 +01:00
|
|
|
|
2017-12-08 10:57:47 +01:00
|
|
|
});
|
|
|
|
|
}
|
2017-12-07 12:36:41 +01:00
|
|
|
});
|
2017-12-11 18:22:06 +01:00
|
|
|
|
2017-12-07 12:36:41 +01:00
|
|
|
}).catch(reason=>{
|
|
|
|
|
console.log("Error : " + reason);
|
|
|
|
|
});
|