Version 1.6.5

This commit is contained in:
Kevin Röbert 2019-06-12 20:17:49 +02:00
parent 4d9e066781
commit f9289d9216
6 changed files with 178 additions and 109 deletions

View File

@ -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/), 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). 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 ## [1.6.4] - 2019-05-07
### Compatibility note ### Compatibility note

View File

@ -41,12 +41,20 @@ var lastVisited = "";
function removeFieldsFormURL(provider, pureUrl) function removeFieldsFormURL(provider, pureUrl)
{ {
var url = pureUrl; var url = pureUrl;
var domain = url.replace(new RegExp("\\?.*", "i"), ""); var domain = "";
var fragments = "";
var fields = ""; var fields = "";
var rules = provider.getRules(); var rules = provider.getRules();
var changes = false; var changes = false;
var cancel = 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 * Expand the url by provider redirections. So no tracking on
* url redirections form sites to sites. * 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))
{ {
/** fields = extractFileds(url).rmEmpty().join("&");
* It must be non-greedy, because by default .* will match fragments = extractFragments(url).rmEmpty().join("&");
* 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"), "");
rules.forEach(function(rule) { rules.forEach(function(rule) {
var beforReplace = fields; var beforReplace = fields;
var beforReplaceFragments = fragments;
fields = fields.replace(new RegExp(rule, "gi"), ""); 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 //Log the action
if(storage.loggingStatus) 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; if(badges[tabid] == null) badges[tabid] = 0;
@ -107,21 +120,12 @@ function removeFieldsFormURL(provider, pureUrl)
} }
}); });
var finalFields = extractFileds(fields).rmEmpty(); var finalURL = domain;
if(finalFields.length > 0)
{ if(fields !== "") finalURL += "?"+fields;
url = domain+"?"+finalFields.join("&"); if(fragments !== "") finalURL += "#"+fragments;
}
else{ url = finalURL;
url = domain;
}
}
else {
if(domain != url)
{
url = domain;
changes = true;
}
} }
if(provider.isCaneling()){ if(provider.isCaneling()){
@ -359,7 +363,7 @@ function start()
* @param {boolean} isActive Is this rule active? * @param {boolean} isActive Is this rule active?
*/ */
this.addRule = function(rule, isActive = true) { this.addRule = function(rule, isActive = true) {
rule = "([\\/|\\?]|(&|&))("+rule+"=[^\\/|\\?|&]*)"; rule = "([\\/]|(&|&))*("+rule+"=[^\\/|\\?|&]*)";
if(isActive) if(isActive)
{ {

View File

@ -46,7 +46,6 @@ function cleanURLs() {
}).then((data) => { }).then((data) => {
cleanedURLs.push(data.response); cleanedURLs.push(data.response);
if(i >= length-1) { if(i >= length-1) {
console.log("End of loop.");
cleanTArea.val(cleanedURLs.join('\n')); cleanTArea.val(cleanedURLs.join('\n'));
} }
}, handleError); }, handleError);

View File

@ -22,15 +22,15 @@
*/ */
/* /*
* To support Waterfox. * To support Waterfox.
*/ */
Array.prototype.rmEmpty = function() { Array.prototype.rmEmpty = function() {
return this.filter(v => v); return this.filter(v => v);
}; };
/* /*
* To support Waterfox. * To support Waterfox.
*/ */
Array.prototype.flatten = function() { Array.prototype.flatten = function() {
return this.reduce((a, b) => a.concat(b), []); return this.reduce((a, b) => a.concat(b), []);
}; };
@ -92,16 +92,6 @@ function countFields(url)
return extractFileds(url).length; 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. * Returns true if fields exists.
* @param {String} url URL as String * @param {String} url URL as String
@ -115,6 +105,63 @@ function existsFields(url)
return (count > 0); 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 * Load local saved data, if the browser is offline or
* some other network trouble. * some other network trouble.
@ -209,8 +256,8 @@ function getCurrentURL()
} }
/** /**
* Check for browser. * Check for browser.
*/ */
function getBrowser() { function getBrowser() {
if(typeof InstallTrigger !== 'undefined') { if(typeof InstallTrigger !== 'undefined') {
return "Firefox"; return "Firefox";

View File

@ -1,7 +1,7 @@
{ {
"providers": { "providers": {
"amazon": { "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, "completeProvider": false,
"rules": [ "rules": [
"pf_rd_[a-zA-Z]", "pf_rd_[a-zA-Z]",
@ -36,7 +36,7 @@
"redirections": [] "redirections": []
}, },
"google": { "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, "completeProvider": false,
"rules": [ "rules": [
"ved", "ved",
@ -117,36 +117,38 @@
"urlPattern": ".*", "urlPattern": ".*",
"completeProvider": false, "completeProvider": false,
"rules": [ "rules": [
"utm_[a-zA-Z]*", "(%3F)?utm_[a-zA-Z]*",
"ga_source", "(%3F)?ga_source",
"ga_medium", "(%3F)?ga_medium",
"ga_term", "(%3F)?ga_term",
"ga_content", "(%3F)?ga_content",
"ga_campaign", "(%3F)?ga_campaign",
"ga_place", "(%3F)?ga_place",
"yclid", "(%3F)?yclid",
"_openstat", "(%3F)?_openstat",
"fb_action_ids", "(%3F)?fb_action_ids",
"fb_action_types", "(%3F)?fb_action_types",
"fb_source", "(%3F)?fb_source",
"fb_ref", "(%3F)?fb_ref",
"fbclid", "(%3F)?fbclid",
"action_object_map", "(%3F)?action_object_map",
"action_type_map", "(%3F)?action_type_map",
"action_ref_map", "(%3F)?action_ref_map",
"gs_l", "(%3F)?gs_l",
"mkt_tok", "(%3F)?mkt_tok",
"hmb_campaign", "(%3F)?hmb_campaign",
"hmb_medium", "(%3F)?hmb_medium",
"hmb_source", "(%3F)?hmb_source",
"[\\?|&]ref[\\_]?" "(%3F)?[\\?|&]ref[\\_]?"
], ],
"exceptions": [ "exceptions": [
".*([\\.]?matrix\\.org)(\\/_matrix)\\/.*", ".*([\\.]?matrix\\.org)(\\/_matrix)\\/.*",
".*([\\.]?prismic\\.io).*", ".*([\\.]?prismic\\.io).*",
".*([\\.]?gitlab\\.com).*", ".*([\\.]?gitlab\\.com).*",
".*([\\.]?gcsip\\.com).*[\\?|&]ref[\\_]?=[^\\/|\\?|&]*.*", ".*([\\.]?gcsip\\.com).*[\\?|&]ref[\\_]?=[^\\/|\\?|&]*.*",
".*([\\.]?cloudflare\\.com).*" ".*([\\.]?cloudflare\\.com).*",
".*(myaccount.google\\.[a-zA-Z]{2,}).*",
".*([\\.]?tangerine\\.ca).*"
], ],
"redirections": [] "redirections": []
}, },
@ -186,7 +188,7 @@
"redirections": [] "redirections": []
}, },
"youtube": { "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, "completeProvider": false,
"rules": [ "rules": [
"feature", "feature",
@ -199,7 +201,7 @@
] ]
}, },
"facebook": { "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, "completeProvider": false,
"rules": [ "rules": [
"hc_[a-zA-Z_%\\[\\]0-9]*", "hc_[a-zA-Z_%\\[\\]0-9]*",
@ -227,16 +229,17 @@
] ]
}, },
"twitter": { "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, "completeProvider": false,
"rules": [ "rules": [
"(ref_)?src" "(ref_)?src",
"s"
], ],
"exceptions": [], "exceptions": [],
"redirections": [] "redirections": []
}, },
"reddit": { "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, "completeProvider": false,
"rules": [], "rules": [],
"exceptions": [], "exceptions": [],
@ -246,7 +249,7 @@
} }
, ,
"netflix": { "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, "completeProvider": false,
"rules": [ "rules": [
"trackId", "trackId",
@ -257,7 +260,7 @@
"redirections": [] "redirections": []
}, },
"techcrunch": { "techcrunch": {
"urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?([\\.]?techcrunch\\.com)(.*\\?.*)", "urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?([\\.]?techcrunch\\.com).*",
"completeProvider": false, "completeProvider": false,
"rules": [ "rules": [
"ncid", "ncid",
@ -268,7 +271,7 @@
"redirections": [] "redirections": []
}, },
"bing": { "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, "completeProvider": false,
"rules": [ "rules": [
"cvid", "cvid",
@ -283,7 +286,7 @@
"redirections": [] "redirections": []
}, },
"tweakers": { "tweakers": {
"urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?(tweakers\\.net)(.*\\?.*)", "urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?(tweakers\\.net).*",
"completeProvider": false, "completeProvider": false,
"rules": [ "rules": [
"nb", "nb",
@ -293,7 +296,7 @@
"redirections": [] "redirections": []
}, },
"twitch": { "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, "completeProvider": false,
"rules": [ "rules": [
"tt_medium", "tt_medium",
@ -303,7 +306,7 @@
"redirections": [] "redirections": []
}, },
"vivaldi": { "vivaldi": {
"urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?(vivaldi\\.com)(.*\\?.*)", "urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?(vivaldi\\.com).*",
"completeProvider": false, "completeProvider": false,
"rules": [ "rules": [
"pk_campaign", "pk_campaign",
@ -313,7 +316,7 @@
"redirections": [] "redirections": []
}, },
"indeed": { "indeed": {
"urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?(indeed\\.com)(.*\\?.*)", "urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?(indeed\\.com).*",
"completeProvider": false, "completeProvider": false,
"rules": [ "rules": [
"from", "from",
@ -324,7 +327,7 @@
"redirections": [] "redirections": []
}, },
"hhdotru": { "hhdotru": {
"urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?(hh\\.ru)(.*\\?.*)", "urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?(hh\\.ru).*",
"completeProvider": false, "completeProvider": false,
"rules": [ "rules": [
"vss", "vss",
@ -340,7 +343,7 @@
"redirections": [] "redirections": []
}, },
"ebay": { "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, "completeProvider": false,
"rules": [ "rules": [
"_trkparms", "_trkparms",
@ -351,7 +354,7 @@
"redirections": [] "redirections": []
}, },
"cnet": { "cnet": {
"urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?(cnet\\.com)(.*\\?.*)", "urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?(cnet\\.com).*",
"completeProvider": false, "completeProvider": false,
"rules": [ "rules": [
"ftag" "ftag"
@ -360,7 +363,7 @@
"redirections": [] "redirections": []
}, },
"imdb.com": { "imdb.com": {
"urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?(imdb\\.com)(.*\\?.*)", "urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?(imdb\\.com).*",
"completeProvider": false, "completeProvider": false,
"rules": [ "rules": [
"ref_", "ref_",
@ -370,7 +373,7 @@
"redirections": [] "redirections": []
}, },
"govdelivery.com": { "govdelivery.com": {
"urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?(govdelivery\\.com)(.*\\?.*)", "urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?(govdelivery\\.com).*",
"completeProvider": false, "completeProvider": false,
"rules": [], "rules": [],
"exceptions": [], "exceptions": [],
@ -380,7 +383,7 @@
] ]
}, },
"walmart.com": { "walmart.com": {
"urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?(walmart\\.com)(.*\\?.*)", "urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?(walmart\\.com).*",
"completeProvider": false, "completeProvider": false,
"rules": [ "rules": [
"u1", "u1",
@ -390,7 +393,7 @@
"redirections": [] "redirections": []
}, },
"net-parade.it": { "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, "completeProvider": false,
"rules": [ "rules": [
"pl" "pl"
@ -399,7 +402,7 @@
"redirections": [] "redirections": []
}, },
"prvnizpravy.cz": { "prvnizpravy.cz": {
"urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?(prvnizpravy\\.cz)(.*\\?.*)", "urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?(prvnizpravy\\.cz).*",
"completeProvider": false, "completeProvider": false,
"rules": [ "rules": [
"xid" "xid"
@ -408,7 +411,7 @@
"redirections": [] "redirections": []
}, },
"youku.com": { "youku.com": {
"urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?(youku\\.com)(.*\\?.*)", "urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?(youku\\.com).*",
"completeProvider": false, "completeProvider": false,
"rules": [ "rules": [
"spm", "spm",
@ -418,7 +421,7 @@
"redirections": [] "redirections": []
}, },
"nytimes.com": { "nytimes.com": {
"urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?(nytimes\\.com)(.*\\?.*)", "urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?(nytimes\\.com).*",
"completeProvider": false, "completeProvider": false,
"rules": [ "rules": [
"smid" "smid"
@ -427,7 +430,7 @@
"redirections": [] "redirections": []
}, },
"tchibo.de": { "tchibo.de": {
"urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?(tchibo\\.de)(.*\\?.*)", "urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?(tchibo\\.de).*",
"completeProvider": false, "completeProvider": false,
"rules": [ "rules": [
"wbdcd" "wbdcd"
@ -436,7 +439,7 @@
"redirections": [] "redirections": []
}, },
"steampowered": { "steampowered": {
"urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?(steampowered\\.com)(.*\\?.*)", "urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?(steampowered\\.com).*",
"completeProvider": false, "completeProvider": false,
"rules": [ "rules": [
"snr=[^\\/|\\?|&]*(\\/|&(amp;)?)?" "snr=[^\\/|\\?|&]*(\\/|&(amp;)?)?"
@ -445,7 +448,7 @@
"redirections": [] "redirections": []
}, },
"steamcommunity": { "steamcommunity": {
"urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?(steamcommunity\\.com)(.*\\?.*)", "urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?(steamcommunity\\.com).*",
"completeProvider": false, "completeProvider": false,
"rules": [], "rules": [],
"exceptions": [], "exceptions": [],
@ -454,7 +457,7 @@
] ]
}, },
"disq.us": { "disq.us": {
"urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?(disq\\.us)(.*\\?.*)", "urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?(disq\\.us).*",
"completeProvider": false, "completeProvider": false,
"rules": [], "rules": [],
"exceptions": [], "exceptions": [],
@ -472,7 +475,7 @@
] ]
}, },
"shutterstock.com": { "shutterstock.com": {
"urlPattern": "https?://([a-zA-Z0-9-]*\\.)?(shutterstock\\.com)(.*\\?.*)", "urlPattern": "https?://([a-zA-Z0-9-]*\\.)?(shutterstock\\.com).*",
"completeProvider": false, "completeProvider": false,
"rules": [ "rules": [
"src" "src"
@ -481,7 +484,7 @@
"redirections": [] "redirections": []
}, },
"mozilla.org": { "mozilla.org": {
"urlPattern": "https?://([a-zA-Z0-9-]*\\.)?(mozilla\\.org)(.*\\?.*)", "urlPattern": "https?://([a-zA-Z0-9-]*\\.)?(mozilla\\.org).*",
"completeProvider": false, "completeProvider": false,
"rules": [ "rules": [
"src", "src",
@ -491,7 +494,7 @@
"redirections": [] "redirections": []
}, },
"readdc.com": { "readdc.com": {
"urlPattern": "https?://([a-zA-Z0-9-]*\\.)?(readdc\\.com)(.*\\?.*)", "urlPattern": "https?://([a-zA-Z0-9-]*\\.)?(readdc\\.com).*",
"completeProvider": false, "completeProvider": false,
"rules": [ "rules": [
"ref" "ref"
@ -500,7 +503,7 @@
"redirections": [] "redirections": []
}, },
"dailycodingproblem.com": { "dailycodingproblem.com": {
"urlPattern": "https?://([a-zA-Z0-9-]*\\.)?(dailycodingproblem\\.com)(.*\\?.*)", "urlPattern": "https?://([a-zA-Z0-9-]*\\.)?(dailycodingproblem\\.com).*",
"completeProvider": false, "completeProvider": false,
"rules": [ "rules": [
"email" "email"
@ -509,7 +512,7 @@
"redirections": [] "redirections": []
}, },
"github.com": { "github.com": {
"urlPattern": "https?://([a-zA-Z0-9-]*\\.)?(github\\.com)(.*\\?.*)", "urlPattern": "https?://([a-zA-Z0-9-]*\\.)?(github\\.com).*",
"completeProvider": false, "completeProvider": false,
"rules": [ "rules": [
"email_token", "email_token",
@ -519,7 +522,7 @@
"redirections": [] "redirections": []
}, },
"deviantart.com": { "deviantart.com": {
"urlPattern": "https?://([a-zA-Z0-9-]*\\.)?(deviantart\\.com)(.*\\?.*)", "urlPattern": "https?://([a-zA-Z0-9-]*\\.)?(deviantart\\.com).*",
"completeProvider": false, "completeProvider": false,
"rules": [], "rules": [],
"exceptions": [], "exceptions": [],
@ -528,7 +531,7 @@
] ]
}, },
"site2.com": { "site2.com": {
"urlPattern": "https?://([a-zA-Z0-9-]*\\.)?(site2\\.com)(.*\\?.*)", "urlPattern": "https?://([a-zA-Z0-9-]*\\.)?(site2\\.com).*",
"completeProvider": false, "completeProvider": false,
"rules": [], "rules": [],
"exceptions": [], "exceptions": [],
@ -537,7 +540,7 @@
] ]
}, },
"site.com": { "site.com": {
"urlPattern": "https?://([a-zA-Z0-9-]*\\.)?(site\\.com)(.*\\?.*)", "urlPattern": "https?://([a-zA-Z0-9-]*\\.)?(site\\.com).*",
"completeProvider": false, "completeProvider": false,
"rules": [], "rules": [],
"exceptions": [], "exceptions": [],
@ -546,7 +549,7 @@
] ]
}, },
"site3.com": { "site3.com": {
"urlPattern": "https?://([a-zA-Z0-9-]*\\.)?(site3\\.com)(.*\\?.*)", "urlPattern": "https?://([a-zA-Z0-9-]*\\.)?(site3\\.com).*",
"completeProvider": false, "completeProvider": false,
"rules": [], "rules": [],
"exceptions": [], "exceptions": [],
@ -555,7 +558,7 @@
] ]
}, },
"aliexpress.com": { "aliexpress.com": {
"urlPattern": "https?://([a-zA-Z0-9-]*\\.)?(aliexpress\\.com)(.*\\?.*)", "urlPattern": "https?://([a-zA-Z0-9-]*\\.)?(aliexpress\\.com).*",
"completeProvider": false, "completeProvider": false,
"rules": [ "rules": [
"ws_ab_test", "ws_ab_test",
@ -567,7 +570,7 @@
"redirections": [] "redirections": []
}, },
"mozillazine.org": { "mozillazine.org": {
"urlPattern": "https?://([a-zA-Z0-9-]*\\.)?(mozillazine\\.org)(.*\\?.*)", "urlPattern": "https?://([a-zA-Z0-9-]*\\.)?(mozillazine\\.org).*",
"completeProvider": false, "completeProvider": false,
"rules": [ "rules": [
"sid" "sid"

View File

@ -1,7 +1,7 @@
{ {
"manifest_version": 2, "manifest_version": 2,
"name": "ClearURLs", "name": "ClearURLs",
"version": "1.6.4", "version": "1.6.5",
"author": "Kevin R.", "author": "Kevin R.",
"description": "Remove tracking elements form URLs.", "description": "Remove tracking elements form URLs.",
"homepage_url": "https://gitlab.com/KevinRoebert/ClearUrls", "homepage_url": "https://gitlab.com/KevinRoebert/ClearUrls",