diff --git a/clean_links/clean.py b/clean_links/clean.py index 5fde7f9..acca403 100644 --- a/clean_links/clean.py +++ b/clean_links/clean.py @@ -1,4 +1,3 @@ -import logging import re from urllib.parse import parse_qs, urlencode, urlsplit @@ -14,7 +13,8 @@ def query_string(url: str, rules: list) -> str: delete_keys = {""} for rule in rules: for key in params: - if re.match("^" + rule + "$", key, flags=re.IGNORECASE): + # if re.match("^" + rule + "$", key, flags=re.IGNORECASE): + if re.match(rule, key): delete_keys.add(key) for delete_key in delete_keys: @@ -32,15 +32,7 @@ def match_provider(provider: str, url: str, rules: dict) -> bool: match_url = re.match(rules["urlPattern"], url) match_exception = None for exception_pattern in rules["exceptions"]: - try: - match_exception = re.match(exception_pattern, url) - except Exception: - logging.exception( - f"something's wrong with regex {exception_pattern!r} " - f"for provider {provider!r}." - ) - - if match_exception: + if re.match(exception_pattern, url): break return bool(match_url and not match_exception) @@ -51,7 +43,7 @@ def clean_url( for provider_name, rules in clear_urls_rules["providers"].items(): if match_provider(provider_name, url, rules): for rule in rules["rawRules"]: - url = re.sub(rule, "", url, flags=re.IGNORECASE) + url = re.sub(rule, "", url) split = urlsplit(url) if keep_query: diff --git a/clean_links/clearurls.json b/clean_links/clearurls.json index 3840499..70d0f5e 100644 --- a/clean_links/clearurls.json +++ b/clean_links/clearurls.json @@ -2,7 +2,6 @@ "providers": { "amazon": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?amazon(?:\\.[a-z]{2,}){1,}", - "completeProvider": false, "rules": [ "p[fd]_rd_[a-z]*", "qid", @@ -37,18 +36,15 @@ "s", "content-id" ], + "rawRules": ["\\/ref=[^/?]*"], "referralMarketing": ["tag", "ascsubtag"], "exceptions": [ "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?amazon(?:\\.[a-z]{2,}){1,}\\/gp\\/.*?(?:redirector.html|cart\\/ajax-update.html|video\\/api\\/)", "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?amazon(?:\\.[a-z]{2,}){1,}\\/(?:hz\\/reviews-render\\/ajax\\/|message-us\\?|s\\?)" - ], - "rawRules": ["\\/ref=[^/?]*"], - "redirections": [], - "forceRedirection": false + ] }, "amazon search": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?amazon(?:\\.[a-z]{2,}){1,}\\/s\\?", - "completeProvider": false, "rules": [ "p[fd]_rd_[a-z]*", "qid", @@ -80,25 +76,16 @@ "camp", "creative" ], - "referralMarketing": ["tag"], "rawRules": ["\\/ref=[^/?]*"], - "exceptions": [], - "redirections": [], - "forceRedirection": false + "referralMarketing": ["tag"] }, "fls-na.amazon": { - "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?fls-na\\.amazon(?:\\.[a-z]{2,}){1,}", "completeProvider": true, - "rules": [], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], - "redirections": [], - "forceRedirection": false + "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?fls-na\\.amazon(?:\\.[a-z]{2,}){1,}" }, "google": { + "forceRedirection": true, "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?google(?:\\.[a-z]{2,}){1,}", - "completeProvider": false, "rules": [ "ved", "bi[a-z]*", @@ -136,7 +123,6 @@ "sca_esv" ], "referralMarketing": ["referrer"], - "rawRules": [], "exceptions": [ "^https?:\\/\\/mail\\.google\\.com\\/mail\\/u\\/", "^https?:\\/\\/(?:docs|accounts)\\.google(?:\\.[a-z]{2,}){1,}", @@ -152,56 +138,30 @@ "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?google(?:\\.[a-z]{2,}){1,}\\/url\\?.*?(?:url|q)=(https?[^&]+)", "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?google(?:\\.[a-z]{2,}){1,}\\/.*?adurl=([^&]+)", "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?google(?:\\.[a-z]{2,}){1,}\\/amp\\/s\\/([^&]+)" - ], - "forceRedirection": true + ] }, "googleSearch": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?google(?:\\.[a-z]{2,}){1,}\\/search\\?", - "completeProvider": false, - "rules": ["client", "sclient"], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], - "redirections": [], - "forceRedirection": false + "rules": ["client", "sclient"] }, "googlesyndication": { - "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?googlesyndication\\.com", "completeProvider": true, - "rules": [], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], - "redirections": [], - "forceRedirection": false + "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?googlesyndication\\.com" }, "doubleclick": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?doubleclick(?:\\.[a-z]{2,}){1,}", - "completeProvider": false, - "rules": [], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], "redirections": [ "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?doubleclick(?:\\.[a-z]{2,}){1,}\\/.*?tag_for_child_directed_treatment=;%3F([^&]*)" - ], - "forceRedirection": false + ] }, "googleadservices": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?googleadservices\\.com", - "completeProvider": false, - "rules": [], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], "redirections": [ "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?googleadservices\\.com\\/.*?adurl=([^&]*)" - ], - "forceRedirection": false + ] }, "globalRules": { "urlPattern": ".*", - "completeProvider": false, "rules": [ "(?:%3F)?utm(?:_[a-z_]*)?", "(?:%3F)?ga_[a-z_]+", @@ -251,7 +211,6 @@ "(?:%3F)?twclid" ], "referralMarketing": ["(?:%3F)?ref_?", "(?:%3F)?referrer"], - "rawRules": [], "exceptions": [ "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?matrix\\.org\\/_matrix\\/", "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?(?:cloudflare\\.com|prismic\\.io|tangerine\\.ca|gitlab\\.com)", @@ -294,102 +253,55 @@ "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?github\\.com", "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?billiger\\.de\\/.*?mc=", "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?\\.youtrack\\.cloud", - "^https?:\\/\\cu\\.bankid\\.com" - ], - "redirections": [], - "forceRedirection": false + "^https?:\\/\\/cu\\.bankid\\.com" + ] }, "adtech": { - "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?adtech(?:\\.[a-z]{2,}){1,}", "completeProvider": true, - "rules": [], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], - "redirections": [], - "forceRedirection": false + "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?adtech(?:\\.[a-z]{2,}){1,}" }, "contentpass": { - "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?contentpass\\.(?:net|de)", "completeProvider": true, - "rules": [], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], - "redirections": [], - "forceRedirection": false + "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?contentpass\\.(?:net|de)" }, "bf-ad": { - "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?bf-ad(?:\\.[a-z]{2,}){1,}", "completeProvider": true, - "rules": [], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], - "redirections": [], - "forceRedirection": false + "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?bf-ad(?:\\.[a-z]{2,}){1,}" }, "amazon-adsystem": { - "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?amazon-adsystem(?:\\.[a-z]{2,}){1,}", "completeProvider": true, - "rules": [], - "referralMarketing": [], - "rawRules": [], + "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?amazon-adsystem(?:\\.[a-z]{2,}){1,}", "exceptions": [ "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?amazon-adsystem(?:\\.[a-z]{2,}){1,}\\/v3\\/oor\\?" ], "redirections": [ "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?amazon-adsystem(?:\\.[a-z]{2,}){1,}\\/x\\/c\\/.+?\\/([^&]+)" - ], - "forceRedirection": false + ] }, "adsensecustomsearchads": { - "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?adsensecustomsearchads(?:\\.[a-z]{2,}){1,}", "completeProvider": true, - "rules": [], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], - "redirections": [], - "forceRedirection": false + "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?adsensecustomsearchads(?:\\.[a-z]{2,}){1,}" }, "youtube": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?(youtube\\.com|youtu\\.be)", - "completeProvider": false, "rules": ["feature", "gclid", "kw", "si"], - "referralMarketing": [], - "rawRules": [], "exceptions": [ "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?youtube\\.com\\/signin\\?.*?" ], "redirections": [ "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?youtube\\.com\\/redirect?.*?q=([^&]*)" - ], - "forceRedirection": false + ] }, "youtube_pagead": { - "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?youtube\\.com\\/pagead", "completeProvider": true, - "rules": [], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], - "redirections": [], - "forceRedirection": false + "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?youtube\\.com\\/pagead" }, "youtube_apiads": { - "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?youtube\\.com\\/api\\/stats\\/ads", "completeProvider": true, - "rules": [], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], - "redirections": [], - "forceRedirection": false + "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?youtube\\.com\\/api\\/stats\\/ads" }, "facebook": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?facebook\\.com", - "completeProvider": false, "rules": [ "hc_[a-z_%\\[\\]0-9]*", "[a-z]*ref[a-z]*", @@ -409,8 +321,6 @@ "referral_code", "referral_story_type" ], - "referralMarketing": [], - "rawRules": [], "exceptions": [ "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?facebook\\.com\\/.*?(plugins|ajax)\\/", "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?facebook\\.com\\/dialog\\/(?:share|send)", @@ -421,32 +331,20 @@ ], "redirections": [ "^https?:\\/\\/l[a-z]?\\.facebook\\.com/l\\.php\\?.*?u=(https?%3A%2F%2F[^&]*)" - ], - "forceRedirection": false + ] }, "twitter": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?twitter.com", - "completeProvider": false, "rules": ["(?:ref_?)?src", "s", "cn", "ref_url", "t"], - "referralMarketing": [], - "rawRules": [], - "exceptions": ["^https?:\\/\\/twitter.com\\/i\\/redirect"], - "redirections": [], - "forceRedirection": false + "exceptions": ["^https?:\\/\\/twitter.com\\/i\\/redirect"] }, "x": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?x.com", - "completeProvider": false, "rules": ["(?:ref_?)?src", "s", "cn", "ref_url", "t"], - "referralMarketing": [], - "rawRules": [], - "exceptions": ["^https?:\\/\\/x.com\\/i\\/redirect"], - "redirections": [], - "forceRedirection": false + "exceptions": ["^https?:\\/\\/x.com\\/i\\/redirect"] }, "reddit": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?reddit.com", - "completeProvider": false, "rules": [ "%24deep_link", "\\$deep_link", @@ -460,336 +358,153 @@ "\\$original_url", "_branch_match_id" ], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], "redirections": [ "^https?:\\/\\/out\\.reddit\\.com\\/.*?url=([^&]*)", "^https?:\\/\\/click\\.redditmail\\.com\\/.*?url=([^&]*)" - ], - "forceRedirection": false + ] }, "netflix": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?netflix.com", - "completeProvider": false, - "rules": ["trackId", "tctx", "jb[a-z]*?"], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], - "redirections": [], - "forceRedirection": false + "rules": ["trackId", "tctx", "jb[a-z]*?"] }, "techcrunch": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?techcrunch\\.com", - "completeProvider": false, - "rules": ["ncid", "sr", "sr_share"], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], - "redirections": [], - "forceRedirection": false + "rules": ["ncid", "sr", "sr_share"] }, "bing": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?bing(?:\\.[a-z]{2,}){1,}", - "completeProvider": false, "rules": ["cvid", "form", "sk", "sp", "sc", "qs", "qp"], - "referralMarketing": [], - "rawRules": [], "exceptions": [ "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?bing(?:\\.[a-z]{2,}){1,}\\/WS\\/redirect\\/" - ], - "redirections": [], - "forceRedirection": false + ] }, "tweakers": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?tweakers\\.net", - "completeProvider": false, - "rules": ["nb", "u"], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], - "redirections": [], - "forceRedirection": false + "rules": ["nb", "u"] }, "twitch": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?twitch\\.com", - "completeProvider": false, - "rules": ["tt_medium", "tt_content"], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], - "redirections": [], - "forceRedirection": false + "rules": ["tt_medium", "tt_content"] }, "vivaldi": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?vivaldi\\.com", - "completeProvider": false, - "rules": ["pk_campaign", "pk_kwd"], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], - "redirections": [], - "forceRedirection": false + "rules": ["pk_campaign", "pk_kwd"] }, "indeed": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?indeed\\.com", - "completeProvider": false, "rules": ["from", "alid", "[a-z]*tk"], - "referralMarketing": [], - "rawRules": [], - "exceptions": [ - "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?indeed\\.com\\/rc\\/clk" - ], - "redirections": [], - "forceRedirection": false + "exceptions": ["^https?:\\/\\/(?:[a-z0-9-]+\\.)*?indeed\\.com\\/rc\\/clk"] }, "hhdotru": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?hh\\.ru", - "completeProvider": false, - "rules": ["vss", "t", "swnt", "grpos", "ptl", "stl", "exp", "plim"], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], - "redirections": [], - "forceRedirection": false + "rules": ["vss", "t", "swnt", "grpos", "ptl", "stl", "exp", "plim"] }, "ebay": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?ebay(?:\\.[a-z]{2,}){1,}", - "completeProvider": false, "rules": ["_trkparms", "_trksid", "_from", "hash"], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], "redirections": [ "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?rover\\.ebay(?:\\.[a-z]{2,}){1,}\\/rover.*mpre=([^&]*)" - ], - "forceRedirection": false + ] }, "cnet": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?cnet\\.com", - "completeProvider": false, - "rules": ["ftag"], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], - "redirections": [], - "forceRedirection": false + "rules": ["ftag"] }, "imdb.com": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?imdb\\.com", - "completeProvider": false, - "rules": ["ref_", "pf_rd_[a-z]*"], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], - "redirections": [], - "forceRedirection": false + "rules": ["ref_", "pf_rd_[a-z]*"] }, "govdelivery.com": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?govdelivery\\.com", - "completeProvider": false, - "rules": [], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], "redirections": [ "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?links\\.govdelivery\\.com.*\\/track\\?.*(https?:\\/\\/.*)" - ], - "forceRedirection": false + ] }, "walmart.com": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?walmart\\.com", - "completeProvider": false, - "rules": ["u1", "ath[a-z]*"], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], - "redirections": [], - "forceRedirection": false + "rules": ["u1", "ath[a-z]*"] }, "net-parade.it": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?net\\-parade\\.it", - "completeProvider": false, - "rules": ["pl"], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], - "redirections": [], - "forceRedirection": false + "rules": ["pl"] }, "prvnizpravy.cz": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?prvnizpravy\\.cz", - "completeProvider": false, - "rules": ["xid"], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], - "redirections": [], - "forceRedirection": false + "rules": ["xid"] }, "youku.com": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?youku\\.com", - "completeProvider": false, - "rules": ["tpa"], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], - "redirections": [], - "forceRedirection": false + "rules": ["tpa"] }, "nytimes.com": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?nytimes\\.com", - "completeProvider": false, - "rules": ["smid"], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], - "redirections": [], - "forceRedirection": false + "rules": ["smid"] }, "tchibo.de": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?tchibo\\.de", - "completeProvider": false, - "rules": ["wbdcd"], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], - "redirections": [], - "forceRedirection": false + "rules": ["wbdcd"] }, "steampowered": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?steampowered\\.com", - "completeProvider": false, - "rules": ["snr"], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], - "redirections": [], - "forceRedirection": false + "rules": ["snr"] }, "steamcommunity": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?steamcommunity\\.com", - "completeProvider": false, - "rules": [], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], "redirections": [ "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?steamcommunity\\.com\\/linkfilter\\/\\?url=([^&]*)" - ], - "forceRedirection": false + ] }, "mozaws.net": { "urlPattern": "https?:\\/\\/outgoing\\.prod\\.mozaws\\.net\\/", - "completeProvider": false, - "rules": [], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], - "redirections": ["https?:\\/\\/[^/]+\\/v1\\/[0-9a-f]{64}\\/(.*)"], - "forceRedirection": false + "redirections": ["https?:\\/\\/[^/]+\\/v1\\/[0-9a-f]{64}\\/(.*)"] }, "shutterstock.com": { "urlPattern": "https?:\\/\\/([a-z0-9-.]*\\.)shutterstock\\.com", - "completeProvider": false, - "rules": ["src"], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], - "redirections": [], - "forceRedirection": false + "rules": ["src"] }, "mozilla.org": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?mozilla\\.org", - "completeProvider": false, "rules": ["src", "platform", "redirect_source"], - "referralMarketing": [], - "rawRules": [], - "exceptions": ["^https?:\\/\\/(?:[a-z0-9-]+\\.)*?mozilla.org\\/api"], - "redirections": [], - "forceRedirection": false + "exceptions": ["^https?:\\/\\/(?:[a-z0-9-]+\\.)*?mozilla.org\\/api"] }, "readdc.com": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?readdc\\.com", - "completeProvider": false, - "rules": ["ref"], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], - "redirections": [], - "forceRedirection": false + "rules": ["ref"] }, "dailycodingproblem.com": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?dailycodingproblem\\.com", - "completeProvider": false, - "rules": ["email"], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], - "redirections": [], - "forceRedirection": false + "rules": ["email"] }, "github.com": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?github\\.com", - "completeProvider": false, - "rules": ["email_token", "email_source"], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], - "redirections": [], - "forceRedirection": false + "rules": ["email_token", "email_source"] }, "deviantart.com": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?deviantart\\.com", - "completeProvider": false, - "rules": [], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], "redirections": [ "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?deviantart\\.com\\/.*?\\/outgoing\\?(.*)" - ], - "forceRedirection": false + ] }, "site2.com": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?site2\\.com", - "completeProvider": false, - "rules": [], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], "redirections": [ "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?site2\\.com.*?\\?.*=(.*)" - ], - "forceRedirection": false + ] }, "site.com": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?site\\.com", - "completeProvider": false, - "rules": [], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], "redirections": [ "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?site\\.com.*?\\?to=([^&]*)" - ], - "forceRedirection": false + ] }, "site3.com": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?site3\\.com", - "completeProvider": false, - "rules": [], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], "redirections": [ "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?site3\\.com.*?\\?r=([^&]*)" - ], - "forceRedirection": false + ] }, "aliexpress": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?aliexpress(?:\\.[a-z]{2,}){1,}", - "completeProvider": false, "rules": [ "ws_ab_test", "btsid", @@ -804,314 +519,149 @@ "dp", "terminal_id", "aff_request_id" - ], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], - "redirections": [], - "forceRedirection": false + ] }, "mozillazine.org": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?mozillazine\\.org", - "completeProvider": false, - "rules": ["sid"], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], - "redirections": [], - "forceRedirection": false + "rules": ["sid"] }, "9gag.com": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?9gag\\.com", - "completeProvider": false, "rules": ["ref"], - "referralMarketing": [], - "rawRules": [], "exceptions": [ "^https?:\\/\\/comment-cdn\\.9gag\\.com\\/.*?comment-list.json\\?" - ], - "redirections": [], - "forceRedirection": false + ] }, "linksynergy.com": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?linksynergy\\.com", - "completeProvider": false, - "rules": [], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], "redirections": [ "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?linksynergy\\.com\\/.*?murl=([^&]*)" - ], - "forceRedirection": false + ] }, "giphy.com": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?giphy\\.com", - "completeProvider": false, - "rules": ["ref"], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], - "redirections": [], - "forceRedirection": false + "rules": ["ref"] }, "gate.sc": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?gate\\.sc", - "completeProvider": false, - "rules": [], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], "redirections": [ "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?gate\\.sc\\/.*?url=([^&]*)" - ], - "forceRedirection": false + ] }, "vk.com": { "urlPattern": "^https?:\\/\\/vk\\.com", - "completeProvider": false, - "rules": [], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], - "redirections": ["^https?:\\/\\/vk\\.com\\/away\\.php\\?to=([^&]*)"], - "forceRedirection": false + "redirections": ["^https?:\\/\\/vk\\.com\\/away\\.php\\?to=([^&]*)"] }, "woot.com": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?woot\\.com", - "completeProvider": false, - "rules": ["ref_?"], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], - "redirections": [], - "forceRedirection": false + "rules": ["ref_?"] }, "vitamix.com": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?vitamix\\.com", - "completeProvider": false, - "rules": ["_requestid", "cid", "dl", "di", "sd", "bi"], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], - "redirections": [], - "forceRedirection": false + "rules": ["_requestid", "cid", "dl", "di", "sd", "bi"] }, "curseforge.com": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?curseforge\\.com", - "completeProvider": false, - "rules": [], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], "redirections": [ "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?curseforge\\.com\\/linkout\\?remoteUrl=([^&]*)" - ], - "forceRedirection": false + ] }, "messenger.com": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?messenger\\.com", - "completeProvider": false, - "rules": [], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], "redirections": [ "^https?:\\/\\/l\\.messenger\\.com\\/l\\.php\\?u=([^&]*)" - ], - "forceRedirection": false + ] }, "nypost.com": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?nypost\\.com", - "completeProvider": false, - "rules": ["__twitter_impression"], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], - "redirections": [], - "forceRedirection": false + "rules": ["__twitter_impression"] }, "ozon.ru": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?ozon\\.ru", - "completeProvider": false, - "rules": ["partner"], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], - "redirections": [], - "forceRedirection": false + "rules": ["partner"] }, "norml.org": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?norml\\.org", - "completeProvider": false, "rules": [ "link_id", "can_id", "source", "email_referrer", "email_subject" - ], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], - "redirections": [], - "forceRedirection": false + ] }, "LinkedIn": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?linkedin\\.com", - "completeProvider": false, - "rules": ["refId", "trk", "li[a-z]{2}", "trackingId"], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], - "redirections": [], - "forceRedirection": false + "rules": ["refId", "trk", "li[a-z]{2}", "trackingId"] }, "LinkedIn Learning": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?linkedin\\.com\\/learning", - "completeProvider": false, - "rules": ["u"], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], - "redirections": [], - "forceRedirection": false + "rules": ["u"] }, "smartredirect.de": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?smartredirect\\.de", - "completeProvider": false, - "rules": [], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], "redirections": [ "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?smartredirect\\.de.*?url=([^&]*)" - ], - "forceRedirection": false + ] }, "SPIEGEL ONLINE": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?spiegel\\.de", - "completeProvider": false, - "rules": ["b"], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], - "redirections": [], - "forceRedirection": false + "rules": ["b"] }, "rutracker.org": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?rutracker\\.org", - "completeProvider": false, - "rules": [], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], - "redirections": [".*url=([^&]*)"], - "forceRedirection": false + "redirections": [".*url=([^&]*)"] }, "instagram": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?instagram\\.com", - "completeProvider": false, "rules": ["igshid"], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], - "redirections": [".*u=([^&]*)"], - "forceRedirection": false + "redirections": [".*u=([^&]*)"] }, "lazada.com.my": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?lazada\\.com\\.my", - "completeProvider": false, - "rules": ["ad_src", "did", "pa", "mp", "impsrc", "cid", "pos"], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], - "redirections": [], - "forceRedirection": false + "rules": ["ad_src", "did", "pa", "mp", "impsrc", "cid", "pos"] }, "imgsrc.ru": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?imgsrc\\.ru", - "completeProvider": false, - "rules": [], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], "redirections": [ "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?dlp\\.imgsrc\\.ru\\/go\\/\\d+\\/\\d+\\/\\d+\\/([^&]*)" - ], - "forceRedirection": false + ] }, "boredpanda.com": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?boredpanda\\.com", - "completeProvider": false, - "rules": ["h"], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], - "redirections": [], - "forceRedirection": false + "rules": ["h"] }, "awstrack.me": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?awstrack\\.me", - "completeProvider": false, - "rules": [], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], "redirections": [ "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?awstrack\\.me\\/.*\\/(https?.*?)\\/" - ], - "forceRedirection": false + ] }, "exactag.com": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?exactag\\.com", - "completeProvider": false, - "rules": [], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], "redirections": [ "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?exactag\\.com.*url=([^&]*)" - ], - "forceRedirection": false + ] }, "bahn.de": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?bahn\\.de", - "completeProvider": false, - "rules": ["dbkanal_[0-9]{3}"], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], - "redirections": [], - "forceRedirection": false + "rules": ["dbkanal_[0-9]{3}"] }, "disq.us": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?disq\\.us", - "completeProvider": false, "rules": ["cuid"], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], "redirections": [ "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?disq\\.us\\/.*?url=([^&]*)%3A" - ], - "forceRedirection": false + ] }, "anonym.to": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?anonym\\.to", - "completeProvider": false, - "rules": [], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], "redirections": [ "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?anonym\\.to.*\\?([^&]*)" - ], - "forceRedirection": false + ] }, "moosejaw.com": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?moosejaw\\.com", - "completeProvider": false, "rules": [ "cm_lm", "cm_mmc", @@ -1120,190 +670,84 @@ "spUserID", "spJobID", "spReportId" - ], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], - "redirections": [], - "forceRedirection": false + ] }, "spotify.com": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?spotify\\.com", - "completeProvider": false, - "rules": ["si"], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], - "redirections": [], - "forceRedirection": false + "rules": ["si"] }, "yandex": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?(?:yandex(?:\\.[a-z]{2,}){1,}|ya\\.ru)", - "completeProvider": false, - "rules": ["lr", "redircnt"], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], - "redirections": [], - "forceRedirection": false + "rules": ["lr", "redircnt"] }, "healio.com": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?healio\\.com", - "completeProvider": false, - "rules": ["ecp", "m_bt"], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], - "redirections": [], - "forceRedirection": false + "rules": ["ecp", "m_bt"] }, "zoho.com": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?zoho\\.com", - "completeProvider": false, - "rules": ["iref"], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], - "redirections": [], - "forceRedirection": false + "rules": ["iref"] }, "snapchat.com": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?snapchat\\.com", - "completeProvider": false, - "rules": ["sc_referrer", "sc_ua"], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], - "redirections": [], - "forceRedirection": false + "rules": ["sc_referrer", "sc_ua"] }, "medium.com": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?medium\\.com", - "completeProvider": false, - "rules": ["source"], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], - "redirections": [], - "forceRedirection": false + "rules": ["source"] }, "swp.de": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?swp\\.de", - "completeProvider": false, - "rules": ["source"], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], - "redirections": [], - "forceRedirection": false + "rules": ["source"] }, "wps.com": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?wps\\.com", - "completeProvider": false, - "rules": ["from"], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], - "redirections": [], - "forceRedirection": false + "rules": ["from"] }, "accounts.firefox.com": { "urlPattern": "^https?:\\/\\/(?:accounts\\.)?firefox\\.com", - "completeProvider": false, - "rules": ["context", "entrypoint", "form_type"], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], - "redirections": [], - "forceRedirection": false + "rules": ["context", "entrypoint", "form_type"] }, "support.mozilla.org": { "urlPattern": "^https?:\\/\\/(?:support\\.)?mozilla\\.org", - "completeProvider": false, - "rules": ["as"], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], - "redirections": [], - "forceRedirection": false + "rules": ["as"] }, "ClearURLsTest": { "urlPattern": "^https?:\\/\\/kevinroebert\\.gitlab\\.io\\/ClearUrls\\/void\\/index\\.html", - "completeProvider": false, "rules": ["test"], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], "redirections": [ "^https?:\\/\\/kevinroebert\\.gitlab\\.io\\/ClearUrls\\/void\\/index\\.html\\?url=([^&]*)" - ], - "forceRedirection": false + ] }, "ClearURLsTestBlock": { - "urlPattern": "^https?:\\/\\/kevinroebert\\.gitlab\\.io\\/ClearUrls\\/void\\/block\\.svg", "completeProvider": true, - "rules": [], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], - "redirections": [], - "forceRedirection": false + "urlPattern": "^https?:\\/\\/kevinroebert\\.gitlab\\.io\\/ClearUrls\\/void\\/block\\.svg" }, "ClearURLsTest2": { "urlPattern": "^https?:\\/\\/test\\.clearurls\\.xyz\\/void\\/index\\.html", - "completeProvider": false, "rules": ["test"], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], "redirections": [ "^https?:\\/\\/test\\.clearurls\\.xyz\\/void\\/index\\.html\\?url=([^&]*)" - ], - "forceRedirection": false + ] }, "ClearURLsTestBlock2": { - "urlPattern": "^https?:\\/\\/test\\.clearurls\\.xyz\\/void\\/block\\.svg", "completeProvider": true, - "rules": [], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], - "redirections": [], - "forceRedirection": false + "urlPattern": "^https?:\\/\\/test\\.clearurls\\.xyz\\/void\\/block\\.svg" }, "diepresse.com": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?diepresse\\.com", - "completeProvider": false, - "rules": ["from", "xtor", "xt_at"], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], - "redirections": [], - "forceRedirection": false + "rules": ["from", "xtor", "xt_at"] }, "newsletter.lidl.com": { "urlPattern": "^https?:\\/\\/newsletter\\.lidl(?:\\.[a-z]{2,}){1,}", - "completeProvider": false, - "rules": ["x"], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], - "redirections": [], - "forceRedirection": false + "rules": ["x"] }, "allegro.pl": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?allegro\\.pl", - "completeProvider": false, - "rules": ["reco_id", "sid"], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], - "redirections": [], - "forceRedirection": false + "rules": ["reco_id", "sid"] }, "backcountry.com": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?backcountry\\.com", - "completeProvider": false, "rules": [ "CMP_SKU", "MER", @@ -1318,123 +762,58 @@ "ti", "fl" ], - "referralMarketing": ["mr:referralID"], - "rawRules": [], - "exceptions": [], - "redirections": [], - "forceRedirection": false + "referralMarketing": ["mr:referralID"] }, "meetup.com": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?meetup\\.com", - "completeProvider": false, - "rules": ["rv", "_xtd"], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], - "redirections": [], - "forceRedirection": false + "rules": ["rv", "_xtd"] }, "apple.com": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?apple\\.com", - "completeProvider": false, - "rules": ["app", "ign-itsc[a-z]+"], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], - "redirections": [], - "forceRedirection": false + "rules": ["app", "ign-itsc[a-z]+"] }, "alabout.com": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?alabout\\.com", - "completeProvider": false, - "rules": [], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], "redirections": [ "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?alabout\\.com.*url=([^&]*)" - ], - "forceRedirection": false + ] }, "newyorker.com": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?newyorker\\.com", - "completeProvider": false, - "rules": ["source", "bxid", "cndid", "esrc", "mbid"], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], - "redirections": [], - "forceRedirection": false + "rules": ["source", "bxid", "cndid", "esrc", "mbid"] }, "gog.com": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?gog\\.com", - "completeProvider": false, - "rules": ["track_click", "link_id"], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], - "redirections": [], - "forceRedirection": false + "rules": ["track_click", "link_id"] }, "tradedoubler.com": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?tradedoubler\\.com", - "completeProvider": false, - "rules": [], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], "redirections": [ "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?tradedoubler\\.com.*(?:url|_td_deeplink)=([^&]*)" - ], - "forceRedirection": false + ] }, "theguardian.com": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?theguardian\\.com", - "completeProvider": false, - "rules": ["CMP"], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], - "redirections": [], - "forceRedirection": false + "rules": ["CMP"] }, "srvtrck.com": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?srvtrck\\.com", - "completeProvider": false, - "rules": [], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], "redirections": [ "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?srvtrck\\.com.*url=([^&]*)" - ], - "forceRedirection": false + ] }, "mysku.ru": { "urlPattern": "^https?:\\/\\/mysku\\.ru", - "completeProvider": false, - "rules": [], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], - "redirections": ["^https?:\\/\\/mysku\\.ru.*r=([^&]*)"], - "forceRedirection": false + "redirections": ["^https?:\\/\\/mysku\\.ru.*r=([^&]*)"] }, "admitad.com": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?admitad\\.com", - "completeProvider": false, - "rules": [], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], "redirections": [ "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?admitad\\.com.*ulp=([^&]*)" - ], - "forceRedirection": false + ] }, "taobao.com": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?taobao\\.com", - "completeProvider": false, "rules": [ "price", "sourceType", @@ -1470,16 +849,10 @@ "bftRwd", "spm", "_u" - ], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], - "redirections": [], - "forceRedirection": false + ] }, "tmall.com": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?tmall\\.com", - "completeProvider": false, "rules": [ "price", "sourceType", @@ -1515,26 +888,14 @@ "bftTag", "bftRwd", "activity_id" - ], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], - "redirections": [], - "forceRedirection": false + ] }, "tb.cn": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?tb\\.cn", - "completeProvider": false, - "rules": ["sm"], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], - "redirections": [], - "forceRedirection": false + "rules": ["sm"] }, "bilibili.com": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?bilibili\\.com", - "completeProvider": false, "rules": [ "callback", "spm_id_from", @@ -1559,38 +920,21 @@ "is_story_h5", "up_id" ], - "referralMarketing": [], - "rawRules": [], "exceptions": [ "^https?:\\/\\/api\\.bilibili\\.com", "^https?:\\/\\/space\\.bilibili\\.com" - ], - "redirections": [], - "forceRedirection": false + ] }, "m.bilibili.com": { "urlPattern": "^https?:\\/\\/m\\.bilibili\\.com", - "completeProvider": false, - "rules": ["bbid", "ts"], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], - "redirections": [], - "forceRedirection": false + "rules": ["bbid", "ts"] }, "live.bilibili.com": { "urlPattern": "^https?:\\/\\/live\\.bilibili\\.com", - "completeProvider": false, - "rules": ["visit_id", "session_id", "broadcast_type", "is_room_feed"], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], - "redirections": [], - "forceRedirection": false + "rules": ["visit_id", "session_id", "broadcast_type", "is_room_feed"] }, "marketscreener.com": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?marketscreener\\.com", - "completeProvider": false, "rules": [ "type_recherche", "mots", @@ -1602,17 +946,12 @@ "add_mots", "countview" ], - "referralMarketing": [], - "rawRules": [], "exceptions": [ "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?marketscreener\\.com\\/search\\/\\?" - ], - "redirections": [], - "forceRedirection": false + ] }, "marketscreener.com search": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?marketscreener\\.com\\/search\\/\\?", - "completeProvider": false, "rules": [ "type_recherche", "noredirect", @@ -1621,38 +960,20 @@ "aComposeInputSearch", "type_recherche_forum", "countview" - ], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], - "redirections": [], - "forceRedirection": false + ] }, "bestbuy.com": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?bestbuy\\.com", - "completeProvider": false, - "rules": ["irclickid", "irgwc", "loc", "acampID", "mpid", "intl"], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], - "redirections": [], - "forceRedirection": false + "rules": ["irclickid", "irgwc", "loc", "acampID", "mpid", "intl"] }, "digidip.net": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?digidip\\.net", - "completeProvider": false, - "rules": [], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], "redirections": [ "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?digidip\\.net.*url=([^&]*)" - ], - "forceRedirection": false + ] }, "tiktok.com": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?tiktok\\.com", - "completeProvider": false, "rules": [ "u_code", "preview_pb", @@ -1662,331 +983,152 @@ "share_app_name", "share_iid", "source" - ], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], - "redirections": [], - "forceRedirection": false + ] }, "autoplus.fr": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?autoplus\\.fr", - "completeProvider": false, - "rules": ["idprob", "hash", "sending_id", "site_id", "dr_tracker"], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], - "redirections": [], - "forceRedirection": false + "rules": ["idprob", "hash", "sending_id", "site_id", "dr_tracker"] }, "bigfishgames.com": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?bigfishgames\\.com", - "completeProvider": false, "rules": ["pc", "npc", "npv[0-9]+", "npi"], - "referralMarketing": [], - "rawRules": ["\\?pc$"], - "exceptions": [], - "redirections": [], - "forceRedirection": false + "rawRules": ["\\?pc$"] }, "dpbolvw.net": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?dpbolvw\\.net", - "completeProvider": false, - "rules": [], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], "redirections": [ "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?dpbolvw\\.net.*url=([^&]*)" - ], - "forceRedirection": false + ] }, "humblebundle.com": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?humblebundle\\.com", - "completeProvider": false, - "rules": [], - "referralMarketing": ["partner"], - "rawRules": [], - "exceptions": [], - "redirections": [], - "forceRedirection": false + "referralMarketing": ["partner"] }, "cafepedagogique.net": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?cafepedagogique\\.net", - "completeProvider": false, - "rules": ["actId", "actCampaignType", "actSource"], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], - "redirections": [], - "forceRedirection": false + "rules": ["actId", "actCampaignType", "actSource"] }, "bloculus.com": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?bloculus\\.com", - "completeProvider": false, - "rules": ["tl_[a-z_]+"], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], - "redirections": [], - "forceRedirection": false + "rules": ["tl_[a-z_]+"] }, "mailpanion.com": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?mailpanion\\.com", - "completeProvider": false, - "rules": [], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], "redirections": [ "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?mailpanion\\.com.*destination=([^&]*)" - ], - "forceRedirection": false + ] }, "signtr.website": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?signtr\\.website", - "completeProvider": false, - "rules": [], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], "redirections": [ "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?signtr\\.website.*redirect=([^&]*)" - ], - "forceRedirection": false + ] }, "mailtrack.io": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?mailtrack\\.io", - "completeProvider": false, - "rules": [], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], "redirections": [ "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?mailtrack\\.io.*url=([^&]*)" - ], - "forceRedirection": false + ] }, "zillow.com": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?zillow\\.com", - "completeProvider": false, - "rules": ["rtoken"], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], - "redirections": [], - "forceRedirection": false + "rules": ["rtoken"] }, "realtor.com": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?realtor\\.com", - "completeProvider": false, - "rules": ["ex", "identityID", "MID", "RID"], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], - "redirections": [], - "forceRedirection": false + "rules": ["ex", "identityID", "MID", "RID"] }, "redfin.com": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?redfin\\.com", - "completeProvider": false, - "rules": ["riftinfo"], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], - "redirections": [], - "forceRedirection": false + "rules": ["riftinfo"] }, "epicgames.com": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?epicgames\\.com", - "completeProvider": false, - "rules": ["epic_affiliate", "epic_gameId"], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], - "redirections": [], - "forceRedirection": false + "rules": ["epic_affiliate", "epic_gameId"] }, "onet.pl": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?onet\\.pl", - "completeProvider": false, - "rules": ["srcc", "utm_v", "utm_medium", "utm_source"], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], - "redirections": [], - "forceRedirection": false + "rules": ["srcc", "utm_v", "utm_medium", "utm_source"] }, "allrecipes.com": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?allrecipes\\.com", - "completeProvider": false, "rules": [ "internalSource", "referringId", "referringContentType", "clickId" - ], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], - "redirections": [], - "forceRedirection": false + ] }, "europe1.fr": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?europe1\\.fr", - "completeProvider": false, - "rules": ["xtor"], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], - "redirections": [], - "forceRedirection": false + "rules": ["xtor"] }, "effiliation.com": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?effiliation\\.com", - "completeProvider": false, - "rules": [], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], "redirections": [ "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?effiliation\\.com.*url=([^&]*)" - ], - "forceRedirection": false + ] }, "argos.co.uk": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?argos\\.co\\.uk", - "completeProvider": false, "rules": [ "istCompanyId", "istFeedId", "istItemId", "istBid", "clickOrigin" - ], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], - "redirections": [], - "forceRedirection": false + ] }, "hlserve.com": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?hlserve\\.com", - "completeProvider": false, - "rules": [], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], "redirections": [ "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?hlserve\\.com.*dest=([^&]*)" - ], - "forceRedirection": false + ] }, "thunderbird.net": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?thunderbird\\.net", - "completeProvider": false, - "rules": ["src"], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], - "redirections": [], - "forceRedirection": false + "rules": ["src"] }, "cnbc.com": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?cnbc\\.com", - "completeProvider": false, - "rules": ["__source"], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], - "redirections": [], - "forceRedirection": false + "rules": ["__source"] }, "roblox.com": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?roblox\\.com", - "completeProvider": false, - "rules": ["refPageId"], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], - "redirections": [], - "forceRedirection": false + "rules": ["refPageId"] }, "cell.com": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?cell\\.com", - "completeProvider": false, - "rules": ["_returnURL"], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], - "redirections": [], - "forceRedirection": false + "rules": ["_returnURL"] }, "academic.oup.com": { "urlPattern": "^https?:\\/\\/academic\\.oup\\.com", - "completeProvider": false, - "rules": ["redirectedFrom"], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], - "redirections": [], - "forceRedirection": false + "rules": ["redirectedFrom"] }, "flexlinkspro.com": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?flexlinkspro\\.com", - "completeProvider": false, - "rules": [], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], "redirections": [ "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?flexlinkspro\\.com.*url=([^&]*)" - ], - "forceRedirection": false + ] }, "agata88.com": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?agata88\\.com", - "completeProvider": false, - "rules": ["source"], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], - "redirections": [], - "forceRedirection": false + "rules": ["source"] }, "hs.fi": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?hs\\.fi", - "completeProvider": false, - "rules": ["share"], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], - "redirections": [], - "forceRedirection": false + "rules": ["share"] }, "yle.fi": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?yle\\.fi", - "completeProvider": false, - "rules": ["origin"], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], - "redirections": [], - "forceRedirection": false + "rules": ["origin"] }, "ccbill.com": { "urlPattern": "^https?:\\/\\/refer\\.ccbill\\.com", - "completeProvider": false, - "rules": [], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], - "redirections": ["^https?:\\/\\/refer\\.ccbill\\.com.*HTML=([^&]*)"], - "forceRedirection": false + "redirections": ["^https?:\\/\\/refer\\.ccbill\\.com.*HTML=([^&]*)"] }, "flipkart": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?flipkart\\.com", - "completeProvider": false, "rules": [ "otracker.?", "ssid", @@ -2002,16 +1144,10 @@ "sattr\\[\\]", "p\\[\\]", "st" - ], - "referralMarketing": [], - "exceptions": [], - "rawRules": [], - "redirections": [], - "forceRedirection": false + ] }, "idealo.de": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?idealo\\.de", - "completeProvider": false, "rules": [ "sid", "src", @@ -2022,164 +1158,75 @@ "osId", "cancelUrl", "disc" - ], - "referralMarketing": [], - "exceptions": [], - "rawRules": [], - "redirections": [], - "forceRedirection": false + ] }, "idealo-partner.com": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?idealo-partner\\.com", - "completeProvider": false, - "rules": [], - "referralMarketing": [], - "exceptions": [], - "rawRules": [], "redirections": [ "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?idealo-partner\\.com.*trg=([^&]*)" - ], - "forceRedirection": false + ] }, "teletrader.com": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?teletrader\\.com", - "completeProvider": false, - "rules": ["internal"], - "referralMarketing": [], - "exceptions": [], - "rawRules": [], - "redirections": [], - "forceRedirection": false + "rules": ["internal"] }, "webgains.com": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?webgains\\.com", - "completeProvider": false, - "rules": [], - "referralMarketing": [], - "exceptions": [], - "rawRules": [], "redirections": [ "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?webgains\\.com.*wgtarget=([^&]*)" - ], - "forceRedirection": false + ] }, "deeplearning.ai": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?deeplearning\\.ai", - "completeProvider": false, - "rules": ["ecid", "_hsmi", "_hsenc"], - "referralMarketing": [], - "exceptions": [], - "rawRules": [], - "redirections": [], - "forceRedirection": false + "rules": ["ecid", "_hsmi", "_hsenc"] }, "getpocket.com": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?getpocket\\.com", - "completeProvider": false, - "rules": [], - "referralMarketing": [], - "exceptions": [], - "rawRules": [], "redirections": [ "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?getpocket\\.com.*url=([^&]*)" - ], - "forceRedirection": false + ] }, "gamespot.com": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?gamespot\\.com", - "completeProvider": false, - "rules": ["PostType", "ServiceType", "ftag", "UniqueID", "TheTime"], - "referralMarketing": [], - "exceptions": [], - "rawRules": [], - "redirections": [], - "forceRedirection": false + "rules": ["PostType", "ServiceType", "ftag", "UniqueID", "TheTime"] }, "tokopedia.com": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?tokopedia\\.com", - "completeProvider": false, "rules": ["src", "trkid", "whid"], - "referralMarketing": [], - "exceptions": [], - "rawRules": [], "redirections": [ "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?tokopedia\\.com\\/promo.*r=([^&]*)" - ], - "forceRedirection": false + ] }, "wkorea.com": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?wkorea\\.com", - "completeProvider": false, - "rules": ["ddw", "ds_ch"], - "referralMarketing": [], - "exceptions": [], - "rawRules": [], - "redirections": [], - "forceRedirection": false + "rules": ["ddw", "ds_ch"] }, "eonline.com": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?eonline\\.com", - "completeProvider": false, - "rules": ["source", "medium", "content"], - "referralMarketing": [], - "exceptions": [], - "rawRules": [], - "redirections": [], - "forceRedirection": false + "rules": ["source", "medium", "content"] }, "reuters.com": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?reuters\\.com", - "completeProvider": false, - "rules": ["taid"], - "referralMarketing": [], - "exceptions": [], - "rawRules": [], - "redirections": [], - "forceRedirection": false + "rules": ["taid"] }, "app.adjust.com": { "urlPattern": "^https?:\\/\\/app\\.adjust\\.com", - "completeProvider": false, - "rules": [], - "referralMarketing": [], - "exceptions": [], - "rawRules": [], - "redirections": ["^https?:\\/\\/app\\.adjust\\.com.*redirect=([^&]*)"], - "forceRedirection": false + "redirections": ["^https?:\\/\\/app\\.adjust\\.com.*redirect=([^&]*)"] }, "change.org": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?change\\.org", - "completeProvider": false, - "rules": ["source_location", "psf_variant", "share_intent"], - "referralMarketing": [], - "exceptions": [], - "rawRules": [], - "redirections": [], - "forceRedirection": false + "rules": ["source_location", "psf_variant", "share_intent"] }, "ceneo.pl": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?ceneo\\.pl", - "completeProvider": false, - "rules": ["tag"], - "referralMarketing": [], - "exceptions": [], - "rawRules": [], - "redirections": [], - "forceRedirection": false + "rules": ["tag"] }, "wired.com": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?wired\\.com", - "completeProvider": false, - "rules": ["intcid"], - "referralMarketing": [], - "exceptions": [], - "rawRules": [], - "redirections": [], - "forceRedirection": false + "rules": ["intcid"] }, "alibaba cloud arms": { "urlPattern": "^https?:\\/\\/arms-retcode\\.aliyuncs\\.com", - "completeProvider": false, "rules": [ "pid", "uid", @@ -2208,66 +1255,30 @@ "sampling", "dl", "post_res" - ], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], - "redirections": [], - "forceRedirection": false + ] }, "nikkei": { "urlPattern": "^https?://(?:[a-z0-9-]+\\.)*?nikkei\\.co(?:m|\\.jp)", - "completeProvider": false, - "rules": ["adid", "i_cid", "n_cid", "waad"], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], - "redirections": [], - "forceRedirection": false + "rules": ["adid", "i_cid", "n_cid", "waad"] }, "weibo": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?weibo\\.(cn|com)", - "completeProvider": false, - "rules": ["weibo_id", "dt_dapp"], - "referralMarketing": [], - "exceptions": [], - "rawRules": [], - "redirections": [], - "forceRedirection": false + "rules": ["weibo_id", "dt_dapp"] }, "fiverr.com": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?fiverr\\.com", - "completeProvider": false, - "rules": ["context_referrer", "source", "ref_ctx_id", "funnel"], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], - "redirections": [], - "forceRedirection": false + "rules": ["context_referrer", "source", "ref_ctx_id", "funnel"] }, "etsy.com": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?etsy\\.com", - "completeProvider": false, - "rules": ["click_key", "click_sum", "organic_search_click"], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], - "redirections": [], - "forceRedirection": false + "rules": ["click_key", "click_sum", "organic_search_click"] }, "magento.com": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?magento\\.com", - "completeProvider": false, - "rules": ["itm_campaign", "itm_medium", "itm_source", "itm_term"], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], - "redirections": [], - "forceRedirection": false + "rules": ["itm_campaign", "itm_medium", "itm_source", "itm_term"] }, "novinky.cz": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?novinky\\.cz", - "completeProvider": false, "rules": [ "dop_ab_variant", "dop_source_zone_name", @@ -2275,31 +1286,19 @@ "dop_id", "source", "seq_no" - ], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], - "redirections": [], - "forceRedirection": false + ] }, "aktualne.cz": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?aktualne\\.cz", - "completeProvider": false, "rules": [ "dop_ab_variant", "dop_source_zone_name", "dop_req_id", "dop_id" - ], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], - "redirections": [], - "forceRedirection": false + ] }, "seznamzpravy.cz": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?seznamzpravy\\.cz", - "completeProvider": false, "rules": [ "dop_ab_variant", "dop_source_zone_name", @@ -2307,100 +1306,58 @@ "dop_id", "source", "seq_no" - ], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], - "redirections": [], - "forceRedirection": false + ] }, "billiger.de": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?billiger\\.de", - "completeProvider": false, - "rules": ["log", "p"], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], - "redirections": [], - "forceRedirection": false + "rules": ["log", "p"] }, "respekt.cz": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?respekt\\.cz", - "completeProvider": false, "rules": [ "sznclid", "dop_ab_variant", "dop_source_zone_name", "dop_req_id", "dop_id" - ], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], - "redirections": [], - "forceRedirection": false + ] }, "faei.cz": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?faei\\.cz", - "completeProvider": false, "rules": [ "sznclid", "dop_ab_variant", "dop_source_zone_name", "dop_req_id", "dop_id" - ], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], - "redirections": [], - "forceRedirection": false + ] }, "iprima.cz": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?iprima\\.cz", - "completeProvider": false, "rules": [ "sznclid", "dop_ab_variant", "dop_source_zone_name", "dop_req_id", "dop_id" - ], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], - "redirections": [], - "forceRedirection": false + ] }, "nova.cz": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?nova\\.cz", - "completeProvider": false, "rules": [ "sznclid", "dop_ab_variant", "dop_source_zone_name", "dop_req_id", "dop_id" - ], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], - "redirections": [], - "forceRedirection": false + ] }, "duckduckgo": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?duckduckgo\\.com", - "completeProvider": false, - "rules": [], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], - "redirections": ["^https?:\\/\\/duckduckgo\\.com\\/l\\/.*?uddg=([^&]+)"], - "forceRedirection": false + "redirections": ["^https?:\\/\\/duckduckgo\\.com\\/l\\/.*?uddg=([^&]+)"] }, "mercadolibre": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?mercadolibre\\.com", - "completeProvider": false, "rules": [ "DEAL_ID", "L", @@ -2415,145 +1372,72 @@ "c_[_a-zA-Z]+", "me\\.[_a-zA-Z]+", "reco_[_a-zA-Z]+" - ], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], - "redirections": [], - "forceRedirection": false + ] }, "quizlet": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?quizlet\\.com", - "completeProvider": false, - "rules": ["funnelUUID"], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], - "redirections": [], - "forceRedirection": false + "rules": ["funnelUUID"] }, "bbc": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?bbc\\.com", - "completeProvider": false, - "rules": ["xtor", "at_[a-z_]+"], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], - "redirections": [], - "forceRedirection": false + "rules": ["xtor", "at_[a-z_]+"] }, "airbnb": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?airbnb\\.(com|ae|ca|co\\.in|co\\.nz|co\\.uk|co\\.za|com\\.au|com\\.mt|com\\.sg|de|gy|ie)", - "completeProvider": false, "rules": [ "federated_search_id", "search_type", "source", "source_impression_id" - ], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], - "redirections": [], - "forceRedirection": false + ] }, "partner-ads.com": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?partner-ads\\.com", - "completeProvider": false, - "rules": [], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], "redirections": [ "^https?:\\/\\/.*?partner-ads\\.com\\/.*?htmlurl=([^&]+)" - ], - "forceRedirection": false + ] }, "kahoot.it": { "urlPattern": "^https?://(?:[a-z0-9-]+\\.)*?kahoot\\.it", - "completeProvider": false, - "rules": ["refer_method"], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], - "redirections": [], - "forceRedirection": false + "rules": ["refer_method"] }, "href.li": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?href\\.li", - "completeProvider": false, - "rules": [], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], - "redirections": ["^https?:\\/\\/href\\.li\\/\\?(http.+)"], - "forceRedirection": false + "redirections": ["^https?:\\/\\/href\\.li\\/\\?(http.+)"] }, "adform.net": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?adform\\.net", - "completeProvider": false, - "rules": [], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], "redirections": [ "^https?:\\/\\/track\\.adform\\.net\\/C\\/.*?ckurl=([^&]+)" - ], - "forceRedirection": false + ] }, "artefact.com": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?artefact\\.com", - "completeProvider": false, - "rules": [], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], "redirections": [ "^https?:\\/\\/.*?artefact\\.com\\/trck\\/.*?deeplinkurl=([^&]+)" - ], - "forceRedirection": false + ] }, "awin1.com": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?awin1\\.com", - "completeProvider": false, - "rules": [], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], - "redirections": ["^https?:\\/\\/.*?awin1\\.com\\/.*?ued=([^&]+)"], - "forceRedirection": false + "redirections": ["^https?:\\/\\/.*?awin1\\.com\\/.*?ued=([^&]+)"] }, "telekom.de": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?telekom\\.de", - "completeProvider": false, - "rules": [], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], "redirections": [ "^https?:\\/\\/aaa\\.telekom\\.de\\/trck\\/.*?deeplinkurl=([^&]+)" - ], - "forceRedirection": false + ] }, "cc.loginfra.com": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?loginfra\\.com", - "completeProvider": false, - "rules": [], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], - "redirections": ["^https?:\\/\\/cc\\.loginfra\\.com\\/.*?u=([^&]+)"], - "forceRedirection": false + "redirections": ["^https?:\\/\\/cc\\.loginfra\\.com\\/.*?u=([^&]+)"] }, "t.umblr.com": { "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?umblr\\.com", - "completeProvider": false, - "rules": [], - "referralMarketing": [], - "rawRules": [], - "exceptions": [], - "redirections": ["^https?:\\/\\/t\\.umblr\\.com\\/redirect\\?z=([^&]+)"], - "forceRedirection": false + "redirections": ["^https?:\\/\\/t\\.umblr\\.com\\/redirect\\?z=([^&]+)"] + }, + "goodreads.com": { + "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?goodreads\\.com", + "rules": ["from_search", "from_srp", "qid", "rank", "ac"] } } } diff --git a/clean_links/config.py b/clean_links/config.py index 1a4e0f9..80b8c62 100644 --- a/clean_links/config.py +++ b/clean_links/config.py @@ -1,5 +1,7 @@ import json import pkgutil +import re +import warnings def read_json(filename: str) -> dict: @@ -11,6 +13,41 @@ def read_json(filename: str) -> dict: return dict(json.loads(data.decode("utf8"))) +def compile_list(rules: dict, key: str, provider_name: str) -> None: + result = [] + for pattern in rules.get(key, []): + try: + compiled = re.compile(pattern, flags=re.IGNORECASE) + except re.error as exc: + msg = ( + f"{exc!r}. " + f"Could not compile the regex {pattern!r} in {key!r} section " + f"of {provider_name!r}. Skipping" + ) + warnings.warn(msg, stacklevel=2) + else: + result.append(compiled) + rules[key] = result + + +def compile_patterns(all_rules: dict) -> None: + for provider_name, rules in all_rules["providers"].items(): + rules["urlPattern"] = re.compile( + rules["urlPattern"], flags=re.IGNORECASE + ) + rules["rules"] = [ + re.compile(f"^{r}$", flags=re.IGNORECASE) + for r in rules.get("rules", []) + ] + for key in [ + "referralMarketing", + "exceptions", + "rawRules", + "redirections", + ]: + compile_list(rules, key, provider_name) + + def read_config( additional_config_filename: str = "clearurls_config.json", ) -> dict: @@ -38,4 +75,5 @@ def read_config( else: provider[key] = value + compile_patterns(clear_urls_rules) return clear_urls_rules