mirror of
https://gitlab.com/KevinRoebert/ClearUrls
synced 2025-12-16 06:05:37 +07:00
Added new ETag filtering
This commit is contained in:
@@ -24,19 +24,26 @@
|
||||
function eTagFilter(requestDetails) {
|
||||
if(!requestDetails.responseHeaders || !storage.eTagFiltering
|
||||
|| storage.localHostsSkipping && checkLocalURL(new URL(requestDetails.url))) return {};
|
||||
const responseHeaders = requestDetails.responseHeaders;
|
||||
for(let i=0; i < requestDetails.responseHeaders.length; i++) {
|
||||
const header = requestDetails.responseHeaders[i];
|
||||
|
||||
const filteredHeaders = responseHeaders.filter(header => {
|
||||
return header.name.toLowerCase() !== "etag";
|
||||
});
|
||||
if(header.name.toString().toLowerCase() !== "etag") {
|
||||
continue;
|
||||
}
|
||||
|
||||
// insert dummy etag
|
||||
requestDetails.responseHeaders[i].value = generateDummyEtag();
|
||||
|
||||
if(filteredHeaders.length < responseHeaders.length) {
|
||||
pushToLog(requestDetails.url, requestDetails.url, translate("eTag_filtering_log"));
|
||||
increaseBadged(false, requestDetails);
|
||||
increaseGlobalURLCounter(1);
|
||||
|
||||
return {responseHeaders: filteredHeaders};
|
||||
break;
|
||||
}
|
||||
|
||||
return {responseHeaders: requestDetails.responseHeaders};
|
||||
}
|
||||
|
||||
function generateDummyEtag() {
|
||||
return Math.random().toString();
|
||||
}
|
||||
|
||||
browser.webRequest.onHeadersReceived.addListener(
|
||||
|
||||
@@ -202,7 +202,7 @@ function initSettings() {
|
||||
storage.logLimit = 100;
|
||||
storage.domainBlocking = true;
|
||||
storage.pingBlocking = true;
|
||||
storage.eTagFiltering = true;
|
||||
storage.eTagFiltering = false;
|
||||
storage.watchDogErrorCount = 0;
|
||||
|
||||
if (getBrowser() === "Firefox") {
|
||||
|
||||
Reference in New Issue
Block a user