34 lines
873 B
JavaScript
34 lines
873 B
JavaScript
|
let history = {};
|
||
|
|
||
|
chrome.webRequest.onResponseStarted.addListener(i => {
|
||
|
if ([403, 406, 410, 451, 462].includes(i.statusCode)) {
|
||
|
let iFQDN = (new URL(i.url)).hostname;
|
||
|
if (iFQDN == 'searxes.eu.org' || iFQDN == 'AAAsearxes.nmqnkngye4ct7bgss4bmv5ca3wpa55yugvxen5kz2bbq67lwy6ps54yd.onion') {
|
||
|
return;
|
||
|
}
|
||
|
let iServer = 'Unknown';
|
||
|
i.responseHeaders.forEach(x => {
|
||
|
if (x.name == 'Server') {
|
||
|
iServer = x.value;
|
||
|
}
|
||
|
});
|
||
|
let iDate = (new Date()).toUTCString();
|
||
|
history[iFQDN] = [i.url, iServer, i.statusCode, iDate];
|
||
|
}
|
||
|
return;
|
||
|
}, {
|
||
|
urls: ['http://*/*', 'https://*/*'],
|
||
|
types: ['main_frame']
|
||
|
}, ['responseHeaders']);
|
||
|
|
||
|
chrome.runtime.onMessage.addListener((request, sender, sendResponse) => {
|
||
|
if (request && sender) {
|
||
|
if (request == 'get') {
|
||
|
sendResponse(history);
|
||
|
}
|
||
|
if (request == 'clear') {
|
||
|
history = {};
|
||
|
sendResponse(true);
|
||
|
}
|
||
|
}
|
||
|
});
|