Added new ETag filtering

This commit is contained in:
Kevin R 2022-06-07 13:14:11 +02:00
parent 82d987a08e
commit 628faf0e85
No known key found for this signature in database
GPG Key ID: A4AD5E0732960C98
4 changed files with 27 additions and 10 deletions

View File

@ -15,6 +15,16 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Require Firefox >= 55
- Require Chrome >= 37
### Changed
- ETag filtering now generates random values and does no longer delete the header. As a result, filtering also works under Chrome-based browsers
- ETag filtering no longer increases the counter
- ETag filtering is now disabled by default
### Fixed
- [524](https://gitlab.com/KevinRoebert/ClearUrls/-/issues/524)
- [67](https://github.com/ClearURLs/Addon/issues/67)
- [138](https://github.com/ClearURLs/Addon/issues/138)
## [1.24.1] - 2022-03-25
### Compatibility note

View File

@ -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(

View File

@ -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") {

View File

@ -1,7 +1,7 @@
{
"manifest_version": 2,
"name": "ClearURLs",
"version": "1.24.1",
"version": "1.25.0",
"author": "Kevin Roebert",
"description": "__MSG_extension_description__",
"homepage_url": "https://docs.clearurls.xyz",