diff --git a/CHANGELOG.md b/CHANGELOG.md index 3b1da9b..bbda5f9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,22 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [1.6.5] - 2019-06-12 + +### Compatibility note +- Require Firefox >= 55 +- Require Chrome >= 22 + +### Added +- Added support for fragment cleaning + +### Fixed +- [#171](https://gitlab.com/KevinRoebert/ClearUrls/issues/171) +- [#191](https://gitlab.com/KevinRoebert/ClearUrls/issues/191) +- [#192](https://gitlab.com/KevinRoebert/ClearUrls/issues/192) +- [#193](https://gitlab.com/KevinRoebert/ClearUrls/issues/193) +- [#194](https://gitlab.com/KevinRoebert/ClearUrls/issues/194) + ## [1.6.4] - 2019-05-07 ### Compatibility note diff --git a/clearurls.js b/clearurls.js index 514ee83..6f7445e 100644 --- a/clearurls.js +++ b/clearurls.js @@ -41,12 +41,20 @@ var lastVisited = ""; function removeFieldsFormURL(provider, pureUrl) { var url = pureUrl; - var domain = url.replace(new RegExp("\\?.*", "i"), ""); + var domain = ""; + var fragments = ""; var fields = ""; var rules = provider.getRules(); var changes = false; var cancel = false; + if(existsFragments(url)) { + domain = url.replace(new RegExp("#.*", "i"), ""); + } + if(existsFields(url)) { + domain = url.replace(new RegExp("\\?.*", "i"), ""); + } + /* * Expand the url by provider redirections. So no tracking on * url redirections form sites to sites. @@ -65,28 +73,33 @@ function removeFieldsFormURL(provider, pureUrl) } /** - * Only test for matches, if there are fields that can be cleaned. + * Only test for matches, if there are fields or fragments that can be cleaned. */ - if(existsFields(url)) + if(existsFields(url) || existsFragments(url)) { - /** - * It must be non-greedy, because by default .* will match - * all ? chars. So the replace function delete everything - * before the last ?. With adding a ? on the quantifier *, - * we fixed this problem. - */ - fields = "?"+url.replace(new RegExp(".*?\\?", "i"), ""); + fields = extractFileds(url).rmEmpty().join("&"); + fragments = extractFragments(url).rmEmpty().join("&"); rules.forEach(function(rule) { var beforReplace = fields; + var beforReplaceFragments = fragments; fields = fields.replace(new RegExp(rule, "gi"), ""); + fragments = fragments.replace(new RegExp(rule, "gi"), ""); - if(beforReplace !== fields) + if(beforReplace !== fields || beforReplaceFragments !== fragments) { //Log the action if(storage.loggingStatus) { - pushToLog(domain+beforReplace, domain+"?"+extractFileds(fields).rmEmpty().join("&"), rule); + var tempURL = domain; + var tempBeforeURL = domain; + + if(fields !== "") tempURL += "?"+fields; + if(fragments !== "") tempURL += "#"+fragments; + if(beforReplace !== "") tempBeforeURL += "?"+beforReplace; + if(beforReplaceFragments !== "") tempBeforeURL += "#"+beforReplaceFragments; + + pushToLog(tempBeforeURL, tempURL, rule); } if(badges[tabid] == null) badges[tabid] = 0; @@ -107,21 +120,12 @@ function removeFieldsFormURL(provider, pureUrl) } }); - var finalFields = extractFileds(fields).rmEmpty(); - if(finalFields.length > 0) - { - url = domain+"?"+finalFields.join("&"); - } - else{ - url = domain; - } - } - else { - if(domain != url) - { - url = domain; - changes = true; - } + var finalURL = domain; + + if(fields !== "") finalURL += "?"+fields; + if(fragments !== "") finalURL += "#"+fragments; + + url = finalURL; } if(provider.isCaneling()){ @@ -359,7 +363,7 @@ function start() * @param {boolean} isActive Is this rule active? */ this.addRule = function(rule, isActive = true) { - rule = "([\\/|\\?]|(&|&))("+rule+"=[^\\/|\\?|&]*)"; + rule = "([\\/]|(&|&))*("+rule+"=[^\\/|\\?|&]*)"; if(isActive) { diff --git a/core_js/cleaning_tool.js b/core_js/cleaning_tool.js index 203649c..259f733 100644 --- a/core_js/cleaning_tool.js +++ b/core_js/cleaning_tool.js @@ -46,7 +46,6 @@ function cleanURLs() { }).then((data) => { cleanedURLs.push(data.response); if(i >= length-1) { - console.log("End of loop."); cleanTArea.val(cleanedURLs.join('\n')); } }, handleError); diff --git a/core_js/tools.js b/core_js/tools.js index 7f8d2c4..5c05641 100644 --- a/core_js/tools.js +++ b/core_js/tools.js @@ -22,15 +22,15 @@ */ /* - * To support Waterfox. - */ +* To support Waterfox. +*/ Array.prototype.rmEmpty = function() { return this.filter(v => v); }; /* - * To support Waterfox. - */ +* To support Waterfox. +*/ Array.prototype.flatten = function() { return this.reduce((a, b) => a.concat(b), []); }; @@ -92,16 +92,6 @@ function countFields(url) return extractFileds(url).length; } -/** -* Extract the fields from an url. -* @param {String} url URL as String -* @return {Array} Fields as array -*/ -function extractFileds(url) -{ - return (url.match(/[^\/|\?|&]+=*[^\/|\?|&]+/gi) || []); -} - /** * Returns true if fields exists. * @param {String} url URL as String @@ -115,6 +105,63 @@ function existsFields(url) return (count > 0); } +/** +* Extract the fields from an url. +* @param {String} url URL as String +* @return {Array} Fields as array +*/ +function extractFileds(url) +{ + if(existsFields(url)) { + var fields = url.replace(new RegExp(".*?\\?", "i"), ""); + if(existsFragments(url)) { + fields = fields.replace(new RegExp("#.*", "i"), ""); + } + + return (fields.match(/[^\/|\?|&]+=?[^\/|\?|&]?/gi) || []); + } + + return []; +} + +/** +* Return the number of fragments query strings. +* @param {String} url URL as String +* @return {int} Number of fragments +*/ +function countFragments(url) +{ + return extractFragments(url).length; +} + +/** +* Extract the fragments from an url. +* @param {String} url URL as String +* @return {Array} fragments as array +*/ +function extractFragments(url) +{ + if(existsFragments(url)) { + var fragments = url.replace(new RegExp(".*?#", "i"), ""); + return (fragments.match(/[^&]+=?[^&]*/gi) || []); + } + + return []; +} + +/** +* Returns true if fragments exists. +* @param {String} url URL as String +* @return {boolean} +*/ +function existsFragments(url) +{ + var matches = (url.match(/\#.+/i) || []); + var count = matches.length; + + return (count > 0); +} + /** * Load local saved data, if the browser is offline or * some other network trouble. @@ -209,8 +256,8 @@ function getCurrentURL() } /** - * Check for browser. - */ +* Check for browser. +*/ function getBrowser() { if(typeof InstallTrigger !== 'undefined') { return "Firefox"; diff --git a/data/data.min.json b/data/data.min.json index 5651ec2..0e7994e 100644 --- a/data/data.min.json +++ b/data/data.min.json @@ -1,7 +1,7 @@ { "providers": { "amazon": { - "urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?(amazon)(\\.[a-zA-Z]{2,})(.*\\?.*)", + "urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?(amazon)(\\.[a-zA-Z]{2,}).*", "completeProvider": false, "rules": [ "pf_rd_[a-zA-Z]", @@ -36,7 +36,7 @@ "redirections": [] }, "google": { - "urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?(google)(\\.[a-zA-Z]{2,})(.*\\?.*)", + "urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?(google)(\\.[a-zA-Z]{2,}).*", "completeProvider": false, "rules": [ "ved", @@ -117,36 +117,38 @@ "urlPattern": ".*", "completeProvider": false, "rules": [ - "utm_[a-zA-Z]*", - "ga_source", - "ga_medium", - "ga_term", - "ga_content", - "ga_campaign", - "ga_place", - "yclid", - "_openstat", - "fb_action_ids", - "fb_action_types", - "fb_source", - "fb_ref", - "fbclid", - "action_object_map", - "action_type_map", - "action_ref_map", - "gs_l", - "mkt_tok", - "hmb_campaign", - "hmb_medium", - "hmb_source", - "[\\?|&]ref[\\_]?" + "(%3F)?utm_[a-zA-Z]*", + "(%3F)?ga_source", + "(%3F)?ga_medium", + "(%3F)?ga_term", + "(%3F)?ga_content", + "(%3F)?ga_campaign", + "(%3F)?ga_place", + "(%3F)?yclid", + "(%3F)?_openstat", + "(%3F)?fb_action_ids", + "(%3F)?fb_action_types", + "(%3F)?fb_source", + "(%3F)?fb_ref", + "(%3F)?fbclid", + "(%3F)?action_object_map", + "(%3F)?action_type_map", + "(%3F)?action_ref_map", + "(%3F)?gs_l", + "(%3F)?mkt_tok", + "(%3F)?hmb_campaign", + "(%3F)?hmb_medium", + "(%3F)?hmb_source", + "(%3F)?[\\?|&]ref[\\_]?" ], "exceptions": [ ".*([\\.]?matrix\\.org)(\\/_matrix)\\/.*", ".*([\\.]?prismic\\.io).*", ".*([\\.]?gitlab\\.com).*", ".*([\\.]?gcsip\\.com).*[\\?|&]ref[\\_]?=[^\\/|\\?|&]*.*", - ".*([\\.]?cloudflare\\.com).*" + ".*([\\.]?cloudflare\\.com).*", + ".*(myaccount.google\\.[a-zA-Z]{2,}).*", + ".*([\\.]?tangerine\\.ca).*" ], "redirections": [] }, @@ -186,7 +188,7 @@ "redirections": [] }, "youtube": { - "urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?(youtube)(\\.[a-zA-Z]{2,})(.*\\?.*)", + "urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?(youtube)(\\.[a-zA-Z]{2,}).*", "completeProvider": false, "rules": [ "feature", @@ -199,7 +201,7 @@ ] }, "facebook": { - "urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?(facebook)(\\.[a-zA-Z]{2,})(.*\\?.*)", + "urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?(facebook)(\\.[a-zA-Z]{2,}).*", "completeProvider": false, "rules": [ "hc_[a-zA-Z_%\\[\\]0-9]*", @@ -227,16 +229,17 @@ ] }, "twitter": { - "urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?(twitter)(\\.[a-zA-Z]{2,})(.*\\?.*)", + "urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?(twitter)(\\.[a-zA-Z]{2,}).*", "completeProvider": false, "rules": [ - "(ref_)?src" + "(ref_)?src", + "s" ], "exceptions": [], "redirections": [] }, "reddit": { - "urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?(reddit)(\\.[a-zA-Z]{2,})(.*\\?.*)", + "urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?(reddit)(\\.[a-zA-Z]{2,}).*", "completeProvider": false, "rules": [], "exceptions": [], @@ -246,7 +249,7 @@ } , "netflix": { - "urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?(netflix)(\\.[a-zA-Z]{2,})(.*\\?.*)", + "urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?(netflix)(\\.[a-zA-Z]{2,}).*", "completeProvider": false, "rules": [ "trackId", @@ -257,7 +260,7 @@ "redirections": [] }, "techcrunch": { - "urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?([\\.]?techcrunch\\.com)(.*\\?.*)", + "urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?([\\.]?techcrunch\\.com).*", "completeProvider": false, "rules": [ "ncid", @@ -268,7 +271,7 @@ "redirections": [] }, "bing": { - "urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?(bing)(\\.[a-zA-Z]{2,})(.*\\?.*)", + "urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?(bing)(\\.[a-zA-Z]{2,}).*", "completeProvider": false, "rules": [ "cvid", @@ -283,7 +286,7 @@ "redirections": [] }, "tweakers": { - "urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?(tweakers\\.net)(.*\\?.*)", + "urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?(tweakers\\.net).*", "completeProvider": false, "rules": [ "nb", @@ -293,7 +296,7 @@ "redirections": [] }, "twitch": { - "urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?(twitch)(\\.[a-zA-Z]{2,})(.*\\?.*)", + "urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?(twitch)(\\.[a-zA-Z]{2,}).*", "completeProvider": false, "rules": [ "tt_medium", @@ -303,7 +306,7 @@ "redirections": [] }, "vivaldi": { - "urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?(vivaldi\\.com)(.*\\?.*)", + "urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?(vivaldi\\.com).*", "completeProvider": false, "rules": [ "pk_campaign", @@ -313,7 +316,7 @@ "redirections": [] }, "indeed": { - "urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?(indeed\\.com)(.*\\?.*)", + "urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?(indeed\\.com).*", "completeProvider": false, "rules": [ "from", @@ -324,7 +327,7 @@ "redirections": [] }, "hhdotru": { - "urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?(hh\\.ru)(.*\\?.*)", + "urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?(hh\\.ru).*", "completeProvider": false, "rules": [ "vss", @@ -340,7 +343,7 @@ "redirections": [] }, "ebay": { - "urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?(ebay)(\\.[a-zA-Z]{2,})(.*\\?.*)", + "urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?(ebay)(\\.[a-zA-Z]{2,}).*", "completeProvider": false, "rules": [ "_trkparms", @@ -351,7 +354,7 @@ "redirections": [] }, "cnet": { - "urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?(cnet\\.com)(.*\\?.*)", + "urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?(cnet\\.com).*", "completeProvider": false, "rules": [ "ftag" @@ -360,7 +363,7 @@ "redirections": [] }, "imdb.com": { - "urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?(imdb\\.com)(.*\\?.*)", + "urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?(imdb\\.com).*", "completeProvider": false, "rules": [ "ref_", @@ -370,7 +373,7 @@ "redirections": [] }, "govdelivery.com": { - "urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?(govdelivery\\.com)(.*\\?.*)", + "urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?(govdelivery\\.com).*", "completeProvider": false, "rules": [], "exceptions": [], @@ -380,7 +383,7 @@ ] }, "walmart.com": { - "urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?(walmart\\.com)(.*\\?.*)", + "urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?(walmart\\.com).*", "completeProvider": false, "rules": [ "u1", @@ -390,7 +393,7 @@ "redirections": [] }, "net-parade.it": { - "urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?(net\\-parade\\.it)(.*\\?.*)", + "urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?(net\\-parade\\.it).*", "completeProvider": false, "rules": [ "pl" @@ -399,7 +402,7 @@ "redirections": [] }, "prvnizpravy.cz": { - "urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?(prvnizpravy\\.cz)(.*\\?.*)", + "urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?(prvnizpravy\\.cz).*", "completeProvider": false, "rules": [ "xid" @@ -408,7 +411,7 @@ "redirections": [] }, "youku.com": { - "urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?(youku\\.com)(.*\\?.*)", + "urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?(youku\\.com).*", "completeProvider": false, "rules": [ "spm", @@ -418,7 +421,7 @@ "redirections": [] }, "nytimes.com": { - "urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?(nytimes\\.com)(.*\\?.*)", + "urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?(nytimes\\.com).*", "completeProvider": false, "rules": [ "smid" @@ -427,7 +430,7 @@ "redirections": [] }, "tchibo.de": { - "urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?(tchibo\\.de)(.*\\?.*)", + "urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?(tchibo\\.de).*", "completeProvider": false, "rules": [ "wbdcd" @@ -436,7 +439,7 @@ "redirections": [] }, "steampowered": { - "urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?(steampowered\\.com)(.*\\?.*)", + "urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?(steampowered\\.com).*", "completeProvider": false, "rules": [ "snr=[^\\/|\\?|&]*(\\/|&(amp;)?)?" @@ -445,7 +448,7 @@ "redirections": [] }, "steamcommunity": { - "urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?(steamcommunity\\.com)(.*\\?.*)", + "urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?(steamcommunity\\.com).*", "completeProvider": false, "rules": [], "exceptions": [], @@ -454,7 +457,7 @@ ] }, "disq.us": { - "urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?(disq\\.us)(.*\\?.*)", + "urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?(disq\\.us).*", "completeProvider": false, "rules": [], "exceptions": [], @@ -472,7 +475,7 @@ ] }, "shutterstock.com": { - "urlPattern": "https?://([a-zA-Z0-9-]*\\.)?(shutterstock\\.com)(.*\\?.*)", + "urlPattern": "https?://([a-zA-Z0-9-]*\\.)?(shutterstock\\.com).*", "completeProvider": false, "rules": [ "src" @@ -481,7 +484,7 @@ "redirections": [] }, "mozilla.org": { - "urlPattern": "https?://([a-zA-Z0-9-]*\\.)?(mozilla\\.org)(.*\\?.*)", + "urlPattern": "https?://([a-zA-Z0-9-]*\\.)?(mozilla\\.org).*", "completeProvider": false, "rules": [ "src", @@ -491,7 +494,7 @@ "redirections": [] }, "readdc.com": { - "urlPattern": "https?://([a-zA-Z0-9-]*\\.)?(readdc\\.com)(.*\\?.*)", + "urlPattern": "https?://([a-zA-Z0-9-]*\\.)?(readdc\\.com).*", "completeProvider": false, "rules": [ "ref" @@ -500,7 +503,7 @@ "redirections": [] }, "dailycodingproblem.com": { - "urlPattern": "https?://([a-zA-Z0-9-]*\\.)?(dailycodingproblem\\.com)(.*\\?.*)", + "urlPattern": "https?://([a-zA-Z0-9-]*\\.)?(dailycodingproblem\\.com).*", "completeProvider": false, "rules": [ "email" @@ -509,7 +512,7 @@ "redirections": [] }, "github.com": { - "urlPattern": "https?://([a-zA-Z0-9-]*\\.)?(github\\.com)(.*\\?.*)", + "urlPattern": "https?://([a-zA-Z0-9-]*\\.)?(github\\.com).*", "completeProvider": false, "rules": [ "email_token", @@ -519,7 +522,7 @@ "redirections": [] }, "deviantart.com": { - "urlPattern": "https?://([a-zA-Z0-9-]*\\.)?(deviantart\\.com)(.*\\?.*)", + "urlPattern": "https?://([a-zA-Z0-9-]*\\.)?(deviantart\\.com).*", "completeProvider": false, "rules": [], "exceptions": [], @@ -528,7 +531,7 @@ ] }, "site2.com": { - "urlPattern": "https?://([a-zA-Z0-9-]*\\.)?(site2\\.com)(.*\\?.*)", + "urlPattern": "https?://([a-zA-Z0-9-]*\\.)?(site2\\.com).*", "completeProvider": false, "rules": [], "exceptions": [], @@ -537,7 +540,7 @@ ] }, "site.com": { - "urlPattern": "https?://([a-zA-Z0-9-]*\\.)?(site\\.com)(.*\\?.*)", + "urlPattern": "https?://([a-zA-Z0-9-]*\\.)?(site\\.com).*", "completeProvider": false, "rules": [], "exceptions": [], @@ -546,7 +549,7 @@ ] }, "site3.com": { - "urlPattern": "https?://([a-zA-Z0-9-]*\\.)?(site3\\.com)(.*\\?.*)", + "urlPattern": "https?://([a-zA-Z0-9-]*\\.)?(site3\\.com).*", "completeProvider": false, "rules": [], "exceptions": [], @@ -555,7 +558,7 @@ ] }, "aliexpress.com": { - "urlPattern": "https?://([a-zA-Z0-9-]*\\.)?(aliexpress\\.com)(.*\\?.*)", + "urlPattern": "https?://([a-zA-Z0-9-]*\\.)?(aliexpress\\.com).*", "completeProvider": false, "rules": [ "ws_ab_test", @@ -567,7 +570,7 @@ "redirections": [] }, "mozillazine.org": { - "urlPattern": "https?://([a-zA-Z0-9-]*\\.)?(mozillazine\\.org)(.*\\?.*)", + "urlPattern": "https?://([a-zA-Z0-9-]*\\.)?(mozillazine\\.org).*", "completeProvider": false, "rules": [ "sid" diff --git a/manifest.json b/manifest.json index e680dcb..588a7f4 100644 --- a/manifest.json +++ b/manifest.json @@ -1,7 +1,7 @@ { "manifest_version": 2, "name": "ClearURLs", - "version": "1.6.4", + "version": "1.6.5", "author": "Kevin R.", "description": "Remove tracking elements form URLs.", "homepage_url": "https://gitlab.com/KevinRoebert/ClearUrls",