commit 34519a9b243e3440d07d37105a2004f3b66edaba
Author: amrfti <andrew@kloet.net>
Date: Tue, 15 Jul 2025 22:40:51 -0400
initial commit
Diffstat:
6 files changed, 2058 insertions(+), 0 deletions(-)
diff --git a/.gitignore b/.gitignore
@@ -0,0 +1,3 @@
+venv
+.env
+server_settings.json
diff --git a/LICENSE b/LICENSE
@@ -0,0 +1,9 @@
+MIT License
+
+Copyright (c) 2025 amrfti
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/README.md b/README.md
@@ -0,0 +1,23 @@
+# linkbomber
+
+Discord bot that cleans tracking elements from messages
+
+You can invite the bot to your server [here](https://discord.com/oauth2/authorize?client_id=1336105313589395616&scope=bot&permissions=274877990912).
+
+## Usage
+
+By default, the bot will automatically strip tracking elements from any URL it supports,
+this feature can be disabled with the command: `/toggle`. Then, to use the functionality
+manually, just use the command `/bomb` which will strip the latest link posted in a channel
+of its tracking elements.
+
+## Setup
+
+1. Clone the repository
+2. Create a file named `.env` in the same directory as the bot
+3. Add the following contents to the file
+```
+DISCORD_BOT_TOKEN=your_bot_token_here
+```
+4. Install the dependencies with `pip install -r requirements.txt`
+5. Run the bot with `python main.py`
diff --git a/main.py b/main.py
@@ -0,0 +1,128 @@
+import discord
+import json
+import re
+import os
+from urllib.parse import urlparse, parse_qs, urlencode, urlunparse
+from discord import app_commands
+from dotenv import load_dotenv
+
+load_dotenv()
+
+
+def load_json(filename):
+ try:
+ with open(filename, "r", encoding="utf-8") as f:
+ return json.load(f)
+ except FileNotFoundError:
+ return {}
+
+
+def save_json(data, filename):
+ with open(filename, "w", encoding="utf-8") as f:
+ json.dump(data, f, indent=4)
+
+
+rules = load_json("url_rules.json")
+server_settings = load_json("server_settings.json")
+
+intents = discord.Intents.default()
+intents.message_content = True
+client = discord.Client(intents=intents)
+tree = app_commands.CommandTree(client)
+
+
+def clean_url(url):
+ parsed_url = urlparse(url)
+ providers = [p for p in rules["providers"].items() if p[0] != "globalRules"] + [
+ ("globalRules", rules["providers"].get("globalRules", {}))
+ ]
+
+ for _, data in providers:
+ if re.match(data.get("urlPattern", ""), url):
+ query_params = parse_qs(parsed_url.query, keep_blank_values=True)
+ filtered_params = {
+ k: v
+ for k, v in query_params.items()
+ if not any(re.fullmatch(rule, k) for rule in data.get("rules", []))
+ }
+ cleaned_query = urlencode(filtered_params, doseq=True)
+ return (
+ urlunparse((
+ parsed_url.scheme,
+ parsed_url.netloc,
+ parsed_url.path,
+ parsed_url.params,
+ cleaned_query,
+ parsed_url.fragment,
+ ))
+ if cleaned_query != parsed_url.query
+ else None
+ )
+ return None
+
+
+@client.event
+async def on_ready():
+ await tree.sync()
+
+
+@client.event
+async def on_message(message):
+ if message.author == client.user or server_settings.get(
+ str(message.guild.id), {}
+ ).get("disabled", False):
+ return
+
+ for word in message.content.split():
+ if word.startswith(("http://", "https://")) and (cleaned := clean_url(word)):
+ await message.channel.send(f"Cleaned link: {cleaned}")
+ break
+
+
+@tree.command(
+ name="toggle",
+ description="Toggle automatic link cleaning for this server (requires Manage Messages permission).",
+)
+async def toggle(interaction: discord.Interaction):
+ if not interaction.user.guild_permissions.manage_messages:
+ await interaction.response.send_message(
+ "You need 'Manage Messages' permission to use this command.", ephemeral=True
+ )
+ return
+
+ guild_id = str(interaction.guild.id)
+ server_settings[guild_id] = {
+ "disabled": not server_settings.get(guild_id, {}).get("disabled", False)
+ }
+ save_json(server_settings, "server_settings.json")
+ await interaction.response.send_message(
+ f"Link cleaning {'disabled' if server_settings[guild_id]['disabled'] else 'enabled'}."
+ )
+
+
+@tree.command(
+ name="bomb", description="Cleans the first link found in the last 20 messages."
+)
+async def bomb(interaction: discord.Interaction):
+ async for msg in interaction.channel.history(limit=20):
+ for word in msg.content.split():
+ if word.startswith(("http://", "https://")) and (
+ cleaned := clean_url(word)
+ ):
+ await interaction.response.send_message(f"Cleaned link: {cleaned}")
+ return
+ await interaction.response.send_message("No links found.")
+
+
+@tree.command(
+ name="about",
+ description="Explains the purpose of the bot and its privacy features.",
+)
+async def about(interaction: discord.Interaction):
+ await interaction.response.send_message(
+ "This bot removes tracking parameters from links to improve privacy. Use `/toggle` to enable/disable auto-cleaning, `/bomb` to clean a recent link manually, and `/about` for info."
+ )
+
+
+TOKEN = os.getenv("DISCORD_BOT_TOKEN")
+client.run(TOKEN)
diff --git a/requirements.txt b/requirements.txt
@@ -0,0 +1,2 @@
+discord
+python-dotenv
diff --git a/url_rules.json b/url_rules.json
@@ -0,0 +1,1893 @@
+{
+ "providers": {
+ "amazon": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?amazon(?:\\.[a-z]{2,}){1,}",
+ "rules": [
+ "p[fd]_rd_[a-z]*",
+ "qid",
+ "srs?",
+ "__mk_[a-z]{1,3}_[a-z]{1,3}",
+ "spIA",
+ "ms3_c",
+ "[a-z%0-9]*ie",
+ "refRID",
+ "colii?d",
+ "[^a-z%0-9]adId",
+ "qualifier",
+ "_encoding",
+ "smid",
+ "field-lbr_brands_browse-bin",
+ "ref_?",
+ "th",
+ "sprefix",
+ "crid",
+ "keywords",
+ "cv_ct_[a-z]+",
+ "linkCode",
+ "creativeASIN",
+ "ascsubtag",
+ "aaxitk",
+ "hsa_cr_id",
+ "sb-ci-[a-z]+",
+ "rnid",
+ "dchild",
+ "camp",
+ "creative",
+ "s",
+ "content-id",
+ "dib",
+ "dib_tag"
+ ],
+ "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\\?)"
+ ]
+ },
+ "msn": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?msn\\.com",
+ "rules": [
+ "cvid",
+ "ocid"
+ ]
+ },
+ "amazon search": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?amazon(?:\\.[a-z]{2,}){1,}\\/s\\?",
+ "rules": [
+ "p[fd]_rd_[a-z]*",
+ "qid",
+ "srs?",
+ "__mk_[a-z]{1,3}_[a-z]{1,3}",
+ "spIA",
+ "ms3_c",
+ "[a-z%0-9]*ie",
+ "refRID",
+ "colii?d",
+ "[^a-z%0-9]adId",
+ "qualifier",
+ "_encoding",
+ "smid",
+ "field-lbr_brands_browse-bin",
+ "ref_?",
+ "th",
+ "sprefix",
+ "crid",
+ "cv_ct_[a-z]+",
+ "linkCode",
+ "creativeASIN",
+ "ascsubtag",
+ "aaxitk",
+ "hsa_cr_id",
+ "sb-ci-[a-z]+",
+ "rnid",
+ "dchild",
+ "camp",
+ "creative"
+ ],
+ "referralMarketing": [
+ "tag"
+ ]
+ },
+ "fls-na.amazon": {
+ "completeProvider": true,
+ "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,}",
+ "rules": [
+ "ved",
+ "bi[a-z]*",
+ "gfe_[a-z]*",
+ "ei",
+ "source",
+ "gs_[a-z]*",
+ "site",
+ "oq",
+ "esrc",
+ "uact",
+ "cd",
+ "cad",
+ "gws_[a-z]*",
+ "atyp",
+ "vet",
+ "_u",
+ "je",
+ "dcr",
+ "ie",
+ "sei",
+ "sa",
+ "dpr",
+ "btn[a-z]*",
+ "usg",
+ "cd",
+ "cad",
+ "uact",
+ "aqs",
+ "sourceid",
+ "sxsrf",
+ "rlz",
+ "i-would-rather-use-firefox",
+ "pcampaignid",
+ "sca_(?:esv|upv)",
+ "iflsig",
+ "fbs",
+ "ictx"
+ ],
+ "referralMarketing": [
+ "referrer"
+ ],
+ "exceptions": [
+ "^https?:\\/\\/mail\\.google\\.com\\/mail\\/u\\/",
+ "^https?:\\/\\/accounts\\.google\\.com\\/o\\/oauth2\\/",
+ "^https?:\\/\\/accounts\\.google\\.com\\/signin\\/oauth\\/",
+ "^https?:\\/\\/(?:docs|accounts)\\.google(?:\\.[a-z]{2,}){1,}",
+ "^https?:\\/\\/([a-z0-9-\\.])*(chat|drive)\\.google\\.com\\/videoplayback",
+ "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?google(?:\\.[a-z]{2,}){1,}(?:\\/upload)?\\/drive\\/",
+ "^https?:\\/\\/news\\.google\\.com.*\\?hl=.",
+ "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?google(?:\\.[a-z]{2,}){1,}\\/s\\?tbm=map.*?gs_[a-z]*=.",
+ "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?google(?:\\.[a-z]{2,}){1,}\\/(?:complete\\/search|setprefs|searchbyimage)",
+ "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?google(?:\\.[a-z]{2,}){1,}\\/(?:appsactivity|aclk\\?)",
+ "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?google(?:\\.[a-z]{2,}){1,}\\/safe[-]?browsing\\/([^&]+)"
+ ],
+ "redirections": [
+ "^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\\/([^&]+)"
+ ]
+ },
+ "googleSearch": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?google(?:\\.[a-z]{2,}){1,}\\/search\\?",
+ "rules": [
+ "client",
+ "sclient"
+ ]
+ },
+ "googlesyndication": {
+ "completeProvider": true,
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?googlesyndication\\.com"
+ },
+ "doubleclick": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?doubleclick(?:\\.[a-z]{2,}){1,}",
+ "redirections": [
+ "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?doubleclick(?:\\.[a-z]{2,}){1,}\\/.*?tag_for_child_directed_treatment=;%3F([^&]*)"
+ ]
+ },
+ "googleadservices": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?googleadservices\\.com",
+ "redirections": [
+ "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?googleadservices\\.com\\/.*?adurl=([^&]*)"
+ ]
+ },
+ "globalRules": {
+ "urlPattern": ".*",
+ "rules": [
+ "(?:%3F)?utm(?:_[a-z_]*)?",
+ "(?:%3F)?ga_[a-z_]+",
+ "(?:%3F)?yclid",
+ "(?:%3F)?_openstat",
+ "(?:%3F)?fb_action_(?:types|ids)",
+ "(?:%3F)?fb_(?:source|ref)",
+ "(?:%3F)?fbclid",
+ "(?:%3F)?action_(?:object|type|ref)_map",
+ "(?:%3F)?gs_l",
+ "(?:%3F)?mkt_tok",
+ "(?:%3F)?hmb_(?:campaign|medium|source)",
+ "(?:%3F)?gclid",
+ "(?:%3F)?otm_[a-z_]*",
+ "(?:%3F)?cmpid",
+ "(?:%3F)?os_ehash",
+ "(?:%3F)?_ga",
+ "(?:%3F)?_gl",
+ "(?:%3F)?__twitter_impression",
+ "(?:%3F)?wt_?z?mc",
+ "(?:%3F)?wtrid",
+ "(?:%3F)?[a-z]?mc",
+ "(?:%3F)?dclid",
+ "Echobox",
+ "(?:%3F)?spm",
+ "(?:%3F)?vn(?:_[a-z]*)+",
+ "(?:%3F)?tracking_source",
+ "(?:%3F)?ceneo_spo",
+ "(?:%3F)?itm_(?:campaign|medium|source)",
+ "(?:%3F)?__hsfp",
+ "(?:%3F)?__hssc",
+ "(?:%3F)?__hstc",
+ "(?:%3F)?_hsenc",
+ "(?:%3F)?__s",
+ "(?:%3F)?hsCtaTracking",
+ "(?:%3F)?mc_(?:eid|cid|tc)",
+ "(?:%3F)?ml_subscriber",
+ "(?:%3F)?ml_subscriber_hash",
+ "(?:%3F)?msclkid",
+ "(?:%3F)?oly_anon_id",
+ "(?:%3F)?oly_enc_id",
+ "(?:%3F)?rb_clickid",
+ "(?:%3F)?s_cid",
+ "(?:%3F)?vero_conv",
+ "(?:%3F)?vero_id",
+ "(?:%3F)?wickedid",
+ "(?:%3F)?twclid"
+ ],
+ "referralMarketing": [
+ "(?:%3F)?ref_?",
+ "(?:%3F)?referrer"
+ ],
+ "exceptions": [
+ "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?matrix\\.org\\/_matrix\\/",
+ "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?(?:cloudflare\\.com|prismic\\.io|tangerine\\.ca|gitlab\\.com)",
+ "^https?:\\/\\/myaccount.google(?:\\.[a-z]{2,}){1,}",
+ "^https?:\\/\\/accounts.google(?:\\.[a-z]{2,}){1,}",
+ "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?gcsip\\.(?:com|nl)[^?]*\\?.*?&?ref_?=.",
+ "^https?:\\/\\/[^/]+/[^/]+/[^/]+\\/-\\/refs\\/switch[^?]*\\?.*?&?ref_?=.",
+ "^https?:\\/\\/bugtracker\\.[^/]*\\/[^?]+\\?.*?&?ref_?=[^/?&]*",
+ "^https?:\\/\\/comment-cdn\\.9gag\\.com\\/.*?comment-list.json\\?",
+ "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?battle\\.net\\/login",
+ "^https?:\\/\\/blizzard\\.com\\/oauth2",
+ "^https?:\\/\\/kreditkarten-banking\\.lbb\\.de",
+ "^https?:\\/\\/www\\.tinkoff\\.ru",
+ "^https?:\\/\\/www\\.cyberport\\.de\\/adscript\\.php",
+ "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?tweakers\\.net\\/ext\\/lt\\.dsp\\?.*?(?:%3F)?&?ref_?=.",
+ "^https?:\\/\\/git(lab)?\\.[^/]*\\/[^?]+\\?.*?&?ref_?=[^/?&]*",
+ "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?amazon(?:\\.[a-z]{2,}){1,}\\/message-us\\?",
+ "^https?:\\/\\/authorization\\.td\\.com",
+ "^https?:\\/\\/support\\.steampowered\\.com",
+ "^https?:\\/\\/privacy\\.vakmedianet\\.nl\\/.*?ref=",
+ "^https?:\\/\\/sso\\.serverplan\\.com\\/manage2fa\\/check\\?ref=",
+ "^https?:\\/\\/login\\.meijer\\.com\\/.*?\\?ref=",
+ "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?facebook\\.com\\/(?:login_alerts|ajax|should_add_browser)/",
+ "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?facebook\\.com\\/groups\\/member_bio\\/bio_dialog\\/",
+ "^https?:\\/\\/api\\.taiga\\.io",
+ "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?gog\\.com\\/click\\.html",
+ "^https?:\\/\\/login\\.progressive\\.com",
+ "^https?:\\/\\/www\\.sephora\\.com\\/api\\/",
+ "^https?:\\/\\/www\\.contestgirl\\.com",
+ "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?agenciatributaria\\.gob\\.es",
+ "^https?:\\/\\/login\\.ingbank\\.pl",
+ "^wss?:\\/\\/(?:[a-z0-9-]+\\.)*?zoom\\.us",
+ "^https?:\\/\\/api\\.bilibili\\.com",
+ "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?onet\\.pl\\/[^?]*\\?.*?utm_campaign=.",
+ "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?stripe\\.com\\/[^?]+.*?&?referrer=[^/?&]*",
+ "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?lichess\\.org\\/login.*?&?referrer=.*?",
+ "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?microsoft\\.com\\/.*?research\\/redirect",
+ "^https?:\\/\\/like.co\\/api\\/like\\/likebutton\\/[^?]+.*?&?referrer=[^/?&]*",
+ "^https?:\\/\\/button.like.co\\/in\\/.*?&?referrer=[^/?&]*",
+ "^https?:\\/\\/www\\.mma\\.go\\.kr",
+ "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?github\\.com",
+ "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?billiger\\.de\\/.*?mc=",
+ "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?\\.youtrack\\.cloud",
+ "^https?:\\/\\/cu\\.bankid\\.com",
+ "^https?:\\/\\/login\\.aliexpress\\.us"
+ ]
+ },
+ "adtech": {
+ "completeProvider": true,
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?adtech(?:\\.[a-z]{2,}){1,}"
+ },
+ "contentpass": {
+ "completeProvider": true,
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?contentpass\\.(?:net|de)"
+ },
+ "bf-ad": {
+ "completeProvider": true,
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?bf-ad(?:\\.[a-z]{2,}){1,}"
+ },
+ "amazon-adsystem": {
+ "completeProvider": true,
+ "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\\/.+?\\/([^&]+)"
+ ]
+ },
+ "adsensecustomsearchads": {
+ "completeProvider": true,
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?adsensecustomsearchads(?:\\.[a-z]{2,}){1,}"
+ },
+ "youtube": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?(youtube\\.com|youtu\\.be)",
+ "rules": [
+ "feature",
+ "gclid",
+ "kw",
+ "si"
+ ],
+ "exceptions": [
+ "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?youtube\\.com\\/signin\\?.*?"
+ ],
+ "redirections": [
+ "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?youtube\\.com\\/redirect?.*?q=([^&]*)"
+ ]
+ },
+ "youtube_pagead": {
+ "completeProvider": true,
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?youtube\\.com\\/pagead"
+ },
+ "youtube_apiads": {
+ "completeProvider": true,
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?youtube\\.com\\/api\\/stats\\/ads"
+ },
+ "facebook": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?facebook\\.com",
+ "rules": [
+ "hc_[a-z_%\\[\\]0-9]*",
+ "[a-z]*ref[a-z]*",
+ "__tn__",
+ "eid",
+ "__(?:xts|cft)__(?:\\[|%5B)\\d(?:\\]|%5D)",
+ "comment_tracking",
+ "dti",
+ "app",
+ "video_source",
+ "ftentidentifier",
+ "pageid",
+ "padding",
+ "ls_ref",
+ "action_history",
+ "tracking",
+ "referral_code",
+ "referral_story_type",
+ "eav",
+ "sfnsn",
+ "idorvanity",
+ "wtsid",
+ "rdc",
+ "rdr",
+ "paipv",
+ "_nc_x",
+ "_rdr",
+ "mibextid"
+ ],
+ "exceptions": [
+ "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?facebook\\.com\\/.*?(plugins|ajax)\\/",
+ "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?facebook\\.com\\/dialog\\/(?:share|send)",
+ "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?facebook\\.com\\/groups\\/member_bio\\/bio_dialog\\/",
+ "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?facebook\\.com\\/photo\\.php\\?",
+ "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?facebook\\.com\\/privacy\\/specific_audience_selector_dialog\\/",
+ "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?facebook\\.com\\/photo\\/download\\/"
+ ],
+ "redirections": [
+ "^https?:\\/\\/l[a-z]?\\.facebook\\.com/l\\.php\\?.*?u=(https?%3A%2F%2F[^&]*)"
+ ]
+ },
+ "twitter": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?twitter.com",
+ "rules": [
+ "(?:ref_?)?src",
+ "s",
+ "cn",
+ "ref_url",
+ "t"
+ ],
+ "exceptions": [
+ "^https?:\\/\\/twitter.com\\/i\\/redirect"
+ ]
+ },
+ "x": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?x.com",
+ "rules": [
+ "(?:ref_?)?src",
+ "s",
+ "cn",
+ "ref_url",
+ "t"
+ ],
+ "exceptions": [
+ "^https?:\\/\\/x.com\\/i\\/redirect"
+ ]
+ },
+ "reddit": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?reddit.com",
+ "rules": [
+ "%24deep_link",
+ "\\$deep_link",
+ "correlation_id",
+ "ref_campaign",
+ "ref_source",
+ "%243p",
+ "rdt",
+ "\\$3p",
+ "%24original_url",
+ "\\$original_url",
+ "_branch_match_id"
+ ],
+ "redirections": [
+ "^https?:\\/\\/out\\.reddit\\.com\\/.*?url=([^&]*)",
+ "^https?:\\/\\/click\\.redditmail\\.com\\/.*?url=([^&]*)"
+ ]
+ },
+ "netflix": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?netflix.com",
+ "rules": [
+ "trackId",
+ "tctx",
+ "jb[a-z]*?"
+ ]
+ },
+ "techcrunch": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?techcrunch\\.com",
+ "rules": [
+ "ncid",
+ "sr",
+ "sr_share"
+ ]
+ },
+ "bing": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?bing(?:\\.[a-z]{2,}){1,}",
+ "rules": [
+ "cvid",
+ "form",
+ "sk",
+ "sp",
+ "sc",
+ "qs",
+ "qp"
+ ],
+ "exceptions": [
+ "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?bing(?:\\.[a-z]{2,}){1,}\\/WS\\/redirect\\/"
+ ]
+ },
+ "tweakers": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?tweakers\\.net",
+ "rules": [
+ "nb",
+ "u"
+ ]
+ },
+ "twitch": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?twitch\\.com",
+ "rules": [
+ "tt_medium",
+ "tt_content"
+ ]
+ },
+ "vivaldi": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?vivaldi\\.com",
+ "rules": [
+ "pk_campaign",
+ "pk_kwd"
+ ]
+ },
+ "indeed": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?indeed\\.com",
+ "rules": [
+ "from",
+ "alid",
+ "[a-z]*tk"
+ ],
+ "exceptions": [
+ "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?indeed\\.com\\/rc\\/clk"
+ ]
+ },
+ "hhdotru": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?hh\\.ru",
+ "rules": [
+ "vss",
+ "t",
+ "swnt",
+ "grpos",
+ "ptl",
+ "stl",
+ "exp",
+ "plim"
+ ]
+ },
+ "ebay": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?ebay(?:\\.[a-z]{2,}){1,}",
+ "rules": [
+ "_trkparms",
+ "_trksid",
+ "_from",
+ "hash"
+ ],
+ "redirections": [
+ "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?rover\\.ebay(?:\\.[a-z]{2,}){1,}\\/rover.*mpre=([^&]*)"
+ ]
+ },
+ "cnet": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?cnet\\.com",
+ "rules": [
+ "ftag"
+ ]
+ },
+ "imdb.com": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?imdb\\.com",
+ "rules": [
+ "ref_",
+ "pf_rd_[a-z]*"
+ ]
+ },
+ "govdelivery.com": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?govdelivery\\.com",
+ "redirections": [
+ "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?links\\.govdelivery\\.com.*\\/track\\?.*(https?:\\/\\/.*)"
+ ]
+ },
+ "walmart.com": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?walmart\\.com",
+ "rules": [
+ "u1",
+ "ath[a-z]*"
+ ]
+ },
+ "net-parade.it": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?net\\-parade\\.it",
+ "rules": [
+ "pl"
+ ]
+ },
+ "prvnizpravy.cz": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?prvnizpravy\\.cz",
+ "rules": [
+ "xid"
+ ]
+ },
+ "youku.com": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?youku\\.com",
+ "rules": [
+ "tpa"
+ ]
+ },
+ "nytimes.com": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?nytimes\\.com",
+ "rules": [
+ "smid"
+ ]
+ },
+ "tchibo.de": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?tchibo\\.de",
+ "rules": [
+ "wbdcd"
+ ]
+ },
+ "steampowered": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?steampowered\\.com",
+ "rules": [
+ "snr"
+ ]
+ },
+ "steamcommunity": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?steamcommunity\\.com",
+ "redirections": [
+ "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?steamcommunity\\.com\\/linkfilter\\/\\?url=([^&]*)"
+ ]
+ },
+ "mozaws.net": {
+ "urlPattern": "https?:\\/\\/outgoing\\.prod\\.mozaws\\.net\\/",
+ "redirections": [
+ "https?:\\/\\/[^/]+\\/v1\\/[0-9a-f]{64}\\/(.*)"
+ ]
+ },
+ "shutterstock.com": {
+ "urlPattern": "https?:\\/\\/([a-z0-9-.]*\\.)shutterstock\\.com",
+ "rules": [
+ "src"
+ ]
+ },
+ "mozilla.org": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?mozilla\\.org",
+ "rules": [
+ "src",
+ "platform",
+ "redirect_source"
+ ],
+ "exceptions": [
+ "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?mozilla.org\\/api"
+ ]
+ },
+ "readdc.com": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?readdc\\.com",
+ "rules": [
+ "ref"
+ ]
+ },
+ "dailycodingproblem.com": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?dailycodingproblem\\.com",
+ "rules": [
+ "email"
+ ]
+ },
+ "github.com": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?github\\.com",
+ "rules": [
+ "email_token",
+ "email_source"
+ ]
+ },
+ "deviantart.com": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?deviantart\\.com",
+ "redirections": [
+ "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?deviantart\\.com\\/.*?\\/outgoing\\?(.*)"
+ ]
+ },
+ "site2.com": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?site2\\.com",
+ "redirections": [
+ "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?site2\\.com.*?\\?.*=(.*)"
+ ]
+ },
+ "site.com": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?site\\.com",
+ "redirections": [
+ "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?site\\.com.*?\\?to=([^&]*)"
+ ]
+ },
+ "site3.com": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?site3\\.com",
+ "redirections": [
+ "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?site3\\.com.*?\\?r=([^&]*)"
+ ]
+ },
+ "aliexpress": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?aliexpress(?:\\.[a-z]{2,}){1,}",
+ "rules": [
+ "ws_ab_test",
+ "btsid",
+ "algo_expid",
+ "algo_pvid",
+ "gps-id",
+ "scm[_a-z-]*",
+ "cv",
+ "af",
+ "mall_affr",
+ "sk",
+ "dp",
+ "terminal_id",
+ "aff_request_id"
+ ]
+ },
+ "mozillazine.org": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?mozillazine\\.org",
+ "rules": [
+ "sid"
+ ]
+ },
+ "9gag.com": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?9gag\\.com",
+ "rules": [
+ "ref"
+ ],
+ "exceptions": [
+ "^https?:\\/\\/comment-cdn\\.9gag\\.com\\/.*?comment-list.json\\?"
+ ]
+ },
+ "linksynergy.com": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?linksynergy\\.com",
+ "redirections": [
+ "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?linksynergy\\.com\\/.*?murl=([^&]*)"
+ ]
+ },
+ "giphy.com": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?giphy\\.com",
+ "rules": [
+ "ref"
+ ]
+ },
+ "gate.sc": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?gate\\.sc",
+ "redirections": [
+ "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?gate\\.sc\\/.*?url=([^&]*)"
+ ]
+ },
+ "vk.com": {
+ "urlPattern": "^https?:\\/\\/vk\\.com",
+ "redirections": [
+ "^https?:\\/\\/vk\\.com\\/away\\.php\\?to=([^&]*)"
+ ]
+ },
+ "woot.com": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?woot\\.com",
+ "rules": [
+ "ref_?"
+ ]
+ },
+ "vitamix.com": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?vitamix\\.com",
+ "rules": [
+ "_requestid",
+ "cid",
+ "dl",
+ "di",
+ "sd",
+ "bi"
+ ]
+ },
+ "curseforge.com": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?curseforge\\.com",
+ "redirections": [
+ "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?curseforge\\.com\\/linkout\\?remoteUrl=([^&]*)"
+ ]
+ },
+ "messenger.com": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?messenger\\.com",
+ "redirections": [
+ "^https?:\\/\\/l\\.messenger\\.com\\/l\\.php\\?u=([^&]*)"
+ ]
+ },
+ "nypost.com": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?nypost\\.com",
+ "rules": [
+ "__twitter_impression"
+ ]
+ },
+ "ozon.ru": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?ozon\\.ru",
+ "rules": [
+ "partner"
+ ]
+ },
+ "norml.org": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?norml\\.org",
+ "rules": [
+ "link_id",
+ "can_id",
+ "source",
+ "email_referrer",
+ "email_subject"
+ ]
+ },
+ "LinkedIn": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?linkedin\\.com",
+ "rules": [
+ "refId",
+ "trk",
+ "li[a-z]{2}",
+ "trackingId"
+ ]
+ },
+ "LinkedIn Learning": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?linkedin\\.com\\/learning",
+ "rules": [
+ "u"
+ ]
+ },
+ "smartredirect.de": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?smartredirect\\.de",
+ "redirections": [
+ "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?smartredirect\\.de.*?url=([^&]*)"
+ ]
+ },
+ "SPIEGEL ONLINE": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?spiegel\\.de",
+ "rules": [
+ "b"
+ ]
+ },
+ "rutracker.org": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?rutracker\\.org",
+ "redirections": [
+ ".*url=([^&]*)"
+ ]
+ },
+ "instagram": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?instagram\\.com",
+ "rules": [
+ "igshid",
+ "igsh"
+ ],
+ "redirections": [
+ ".*u=([^&]*)"
+ ]
+ },
+ "imgsrc.ru": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?imgsrc\\.ru",
+ "redirections": [
+ "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?dlp\\.imgsrc\\.ru\\/go\\/\\d+\\/\\d+\\/\\d+\\/([^&]*)"
+ ]
+ },
+ "boredpanda.com": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?boredpanda\\.com",
+ "rules": [
+ "h"
+ ]
+ },
+ "awstrack.me": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?awstrack\\.me",
+ "redirections": [
+ "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?awstrack\\.me\\/.*\\/(https?.*?)\\/"
+ ]
+ },
+ "exactag.com": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?exactag\\.com",
+ "redirections": [
+ "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?exactag\\.com.*url=([^&]*)"
+ ]
+ },
+ "bahn.de": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?bahn\\.de",
+ "rules": [
+ "dbkanal_[0-9]{3}"
+ ]
+ },
+ "disq.us": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?disq\\.us",
+ "rules": [
+ "cuid"
+ ],
+ "redirections": [
+ "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?disq\\.us\\/.*?url=([^&]*)%3A"
+ ]
+ },
+ "anonym.to": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?anonym\\.to",
+ "redirections": [
+ "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?anonym\\.to.*\\?([^&]*)"
+ ]
+ },
+ "moosejaw.com": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?moosejaw\\.com",
+ "rules": [
+ "cm_lm",
+ "cm_mmc",
+ "webUserId",
+ "spMailingID",
+ "spUserID",
+ "spJobID",
+ "spReportId"
+ ]
+ },
+ "spotify.com": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?spotify\\.com",
+ "rules": [
+ "si"
+ ]
+ },
+ "yandex": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?(?:yandex(?:\\.[a-z]{2,}){1,}|ya\\.ru)",
+ "rules": [
+ "lr",
+ "redircnt"
+ ]
+ },
+ "healio.com": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?healio\\.com",
+ "rules": [
+ "ecp",
+ "m_bt"
+ ]
+ },
+ "zoho.com": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?zoho\\.com",
+ "rules": [
+ "iref"
+ ]
+ },
+ "snapchat.com": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?snapchat\\.com",
+ "rules": [
+ "sc_referrer",
+ "sc_ua"
+ ]
+ },
+ "medium.com": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?medium\\.com",
+ "rules": [
+ "source"
+ ]
+ },
+ "swp.de": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?swp\\.de",
+ "rules": [
+ "source"
+ ]
+ },
+ "wps.com": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?wps\\.com",
+ "rules": [
+ "from"
+ ]
+ },
+ "accounts.firefox.com": {
+ "urlPattern": "^https?:\\/\\/(?:accounts\\.)?firefox\\.com",
+ "rules": [
+ "context",
+ "entrypoint",
+ "form_type"
+ ]
+ },
+ "support.mozilla.org": {
+ "urlPattern": "^https?:\\/\\/(?:support\\.)?mozilla\\.org",
+ "rules": [
+ "as"
+ ]
+ },
+ "ClearURLsTest": {
+ "urlPattern": "^https?:\\/\\/kevinroebert\\.gitlab\\.io\\/ClearUrls\\/void\\/index\\.html",
+ "rules": [
+ "test"
+ ],
+ "redirections": [
+ "^https?:\\/\\/kevinroebert\\.gitlab\\.io\\/ClearUrls\\/void\\/index\\.html\\?url=([^&]*)"
+ ]
+ },
+ "ClearURLsTestBlock": {
+ "completeProvider": true,
+ "urlPattern": "^https?:\\/\\/kevinroebert\\.gitlab\\.io\\/ClearUrls\\/void\\/block\\.svg"
+ },
+ "ClearURLsTest2": {
+ "urlPattern": "^https?:\\/\\/test\\.clearurls\\.xyz\\/void\\/index\\.html",
+ "rules": [
+ "test"
+ ],
+ "redirections": [
+ "^https?:\\/\\/test\\.clearurls\\.xyz\\/void\\/index\\.html\\?url=([^&]*)"
+ ]
+ },
+ "ClearURLsTestBlock2": {
+ "completeProvider": true,
+ "urlPattern": "^https?:\\/\\/test\\.clearurls\\.xyz\\/void\\/block\\.svg"
+ },
+ "diepresse.com": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?diepresse\\.com",
+ "rules": [
+ "from",
+ "xtor",
+ "xt_at"
+ ]
+ },
+ "newsletter.lidl.com": {
+ "urlPattern": "^https?:\\/\\/newsletter\\.lidl(?:\\.[a-z]{2,}){1,}",
+ "rules": [
+ "x"
+ ]
+ },
+ "allegro.pl": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?allegro\\.pl",
+ "rules": [
+ "reco_id",
+ "sid"
+ ]
+ },
+ "backcountry.com": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?backcountry\\.com",
+ "rules": [
+ "CMP_SKU",
+ "MER",
+ "mr:trackingCode",
+ "mr:device",
+ "mr:adType",
+ "iv_",
+ "CMP_ID",
+ "k_clickid",
+ "rmatt",
+ "INT_ID",
+ "ti",
+ "fl"
+ ],
+ "referralMarketing": [
+ "mr:referralID"
+ ]
+ },
+ "meetup.com": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?meetup\\.com",
+ "rules": [
+ "rv",
+ "_xtd"
+ ]
+ },
+ "apple.com": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?apple\\.com",
+ "rules": [
+ "app",
+ "ign-itsc[a-z]+"
+ ]
+ },
+ "alabout.com": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?alabout\\.com",
+ "redirections": [
+ "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?alabout\\.com.*url=([^&]*)"
+ ]
+ },
+ "newyorker.com": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?newyorker\\.com",
+ "rules": [
+ "source",
+ "bxid",
+ "cndid",
+ "esrc",
+ "mbid"
+ ]
+ },
+ "gog.com": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?gog\\.com",
+ "rules": [
+ "track_click",
+ "link_id"
+ ]
+ },
+ "tradedoubler.com": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?tradedoubler\\.com",
+ "redirections": [
+ "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?tradedoubler\\.com.*(?:url|_td_deeplink)=([^&]*)"
+ ]
+ },
+ "theguardian.com": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?theguardian\\.com",
+ "rules": [
+ "CMP"
+ ]
+ },
+ "srvtrck.com": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?srvtrck\\.com",
+ "redirections": [
+ "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?srvtrck\\.com.*url=([^&]*)"
+ ]
+ },
+ "mysku.ru": {
+ "urlPattern": "^https?:\\/\\/mysku\\.ru",
+ "redirections": [
+ "^https?:\\/\\/mysku\\.ru.*r=([^&]*)"
+ ]
+ },
+ "admitad.com": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?admitad\\.com",
+ "redirections": [
+ "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?admitad\\.com.*ulp=([^&]*)"
+ ]
+ },
+ "taobao.com": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?taobao\\.com",
+ "rules": [
+ "price",
+ "sourceType",
+ "suid",
+ "ut_sk",
+ "un",
+ "share_crt_v",
+ "sp_tk",
+ "cpp",
+ "shareurl",
+ "short_name",
+ "app",
+ "scm[_a-z-]*",
+ "pvid",
+ "algo_expid",
+ "algo_pvid",
+ "ns",
+ "abbucket",
+ "ali_refid",
+ "ali_trackid",
+ "acm",
+ "utparam",
+ "pos",
+ "abtest",
+ "trackInfo",
+ "utkn",
+ "scene",
+ "mytmenu",
+ "turing_bucket",
+ "lygClk",
+ "impid",
+ "bftTag",
+ "bftRwd",
+ "spm",
+ "_u"
+ ]
+ },
+ "tmall.com": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?tmall\\.com",
+ "rules": [
+ "price",
+ "sourceType",
+ "suid",
+ "ut_sk",
+ "un",
+ "share_crt_v",
+ "sp_tk",
+ "cpp",
+ "shareurl",
+ "short_name",
+ "app",
+ "scm[_a-z-]*",
+ "pvid",
+ "algo_expid",
+ "algo_pvid",
+ "ns",
+ "abbucket",
+ "ali_refid",
+ "ali_trackid",
+ "acm",
+ "utparam",
+ "pos",
+ "abtest",
+ "trackInfo",
+ "user_number_id",
+ "utkn",
+ "scene",
+ "mytmenu",
+ "turing_bucket",
+ "lygClk",
+ "impid",
+ "bftTag",
+ "bftRwd",
+ "activity_id"
+ ]
+ },
+ "tb.cn": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?tb\\.cn",
+ "rules": [
+ "sm"
+ ]
+ },
+ "bilibili.com": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?bilibili\\.com",
+ "rules": [
+ "callback",
+ "spm_id_from",
+ "from_source",
+ "from",
+ "seid",
+ "mid",
+ "share_source",
+ "msource",
+ "refer_from",
+ "share_from",
+ "share_medium",
+ "share_source",
+ "share_plat",
+ "share_tag",
+ "share_session_id",
+ "timestamp",
+ "unique_k",
+ "vd_source",
+ "plat_id",
+ "buvid",
+ "is_story_h5",
+ "up_id"
+ ],
+ "exceptions": [
+ "^https?:\\/\\/api\\.bilibili\\.com",
+ "^https?:\\/\\/space\\.bilibili\\.com"
+ ]
+ },
+ "space.bilibili.com": {
+ "urlPattern": "^https?:\\/\\/space\\.bilibili\\.com",
+ "rules": [
+ "spm_id_from"
+ ]
+ },
+ "m.bilibili.com": {
+ "urlPattern": "^https?:\\/\\/m\\.bilibili\\.com",
+ "rules": [
+ "bbid",
+ "ts"
+ ]
+ },
+ "live.bilibili.com": {
+ "urlPattern": "^https?:\\/\\/live\\.bilibili\\.com",
+ "rules": [
+ "visit_id",
+ "session_id",
+ "broadcast_type",
+ "is_room_feed"
+ ]
+ },
+ "marketscreener.com": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?marketscreener\\.com",
+ "rules": [
+ "type_recherche",
+ "mots",
+ "noredirect",
+ "RewriteLast",
+ "lien",
+ "aComposeInputSearch",
+ "type_recherche_forum",
+ "add_mots",
+ "countview"
+ ],
+ "exceptions": [
+ "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?marketscreener\\.com\\/search\\/\\?"
+ ]
+ },
+ "marketscreener.com search": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?marketscreener\\.com\\/search\\/\\?",
+ "rules": [
+ "type_recherche",
+ "noredirect",
+ "RewriteLast",
+ "lien",
+ "aComposeInputSearch",
+ "type_recherche_forum",
+ "countview"
+ ]
+ },
+ "bestbuy.com": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?bestbuy\\.com",
+ "rules": [
+ "irclickid",
+ "irgwc",
+ "loc",
+ "acampID",
+ "mpid",
+ "intl"
+ ]
+ },
+ "digidip.net": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?digidip\\.net",
+ "redirections": [
+ "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?digidip\\.net.*url=([^&]*)"
+ ]
+ },
+ "tiktok.com": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?tiktok\\.com",
+ "rules": [
+ "u_code",
+ "preview_pb",
+ "_d",
+ "timestamp",
+ "user_id",
+ "share_app_name",
+ "share_iid",
+ "source"
+ ]
+ },
+ "autoplus.fr": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?autoplus\\.fr",
+ "rules": [
+ "idprob",
+ "hash",
+ "sending_id",
+ "site_id",
+ "dr_tracker"
+ ]
+ },
+ "bigfishgames.com": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?bigfishgames\\.com",
+ "rules": [
+ "pc",
+ "npc",
+ "npv[0-9]+",
+ "npi"
+ ]
+ },
+ "dpbolvw.net": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?dpbolvw\\.net",
+ "redirections": [
+ "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?dpbolvw\\.net.*url=([^&]*)"
+ ]
+ },
+ "humblebundle.com": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?humblebundle\\.com",
+ "referralMarketing": [
+ "partner"
+ ]
+ },
+ "cafepedagogique.net": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?cafepedagogique\\.net",
+ "rules": [
+ "actId",
+ "actCampaignType",
+ "actSource"
+ ]
+ },
+ "bloculus.com": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?bloculus\\.com",
+ "rules": [
+ "tl_[a-z_]+"
+ ]
+ },
+ "mailpanion.com": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?mailpanion\\.com",
+ "redirections": [
+ "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?mailpanion\\.com.*destination=([^&]*)"
+ ]
+ },
+ "signtr.website": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?signtr\\.website",
+ "redirections": [
+ "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?signtr\\.website.*redirect=([^&]*)"
+ ]
+ },
+ "mailtrack.io": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?mailtrack\\.io",
+ "redirections": [
+ "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?mailtrack\\.io.*url=([^&]*)"
+ ]
+ },
+ "zillow.com": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?zillow\\.com",
+ "rules": [
+ "rtoken"
+ ]
+ },
+ "realtor.com": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?realtor\\.com",
+ "rules": [
+ "ex",
+ "identityID",
+ "MID",
+ "RID"
+ ]
+ },
+ "redfin.com": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?redfin\\.com",
+ "rules": [
+ "riftinfo"
+ ]
+ },
+ "epicgames.com": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?epicgames\\.com",
+ "rules": [
+ "epic_affiliate",
+ "epic_gameId"
+ ]
+ },
+ "onet.pl": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?onet\\.pl",
+ "rules": [
+ "srcc",
+ "utm_v",
+ "utm_medium",
+ "utm_source"
+ ]
+ },
+ "allrecipes.com": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?allrecipes\\.com",
+ "rules": [
+ "internalSource",
+ "referringId",
+ "referringContentType",
+ "clickId"
+ ]
+ },
+ "europe1.fr": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?europe1\\.fr",
+ "rules": [
+ "xtor"
+ ]
+ },
+ "effiliation.com": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?effiliation\\.com",
+ "redirections": [
+ "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?effiliation\\.com.*url=([^&]*)"
+ ]
+ },
+ "argos.co.uk": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?argos\\.co\\.uk",
+ "rules": [
+ "istCompanyId",
+ "istFeedId",
+ "istItemId",
+ "istBid",
+ "clickOrigin"
+ ]
+ },
+ "hlserve.com": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?hlserve\\.com",
+ "redirections": [
+ "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?hlserve\\.com.*dest=([^&]*)"
+ ]
+ },
+ "thunderbird.net": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?thunderbird\\.net",
+ "rules": [
+ "src"
+ ]
+ },
+ "cnbc.com": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?cnbc\\.com",
+ "rules": [
+ "__source"
+ ]
+ },
+ "roblox.com": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?roblox\\.com",
+ "rules": [
+ "refPageId"
+ ]
+ },
+ "cell.com": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?cell\\.com",
+ "rules": [
+ "_returnURL"
+ ]
+ },
+ "academic.oup.com": {
+ "urlPattern": "^https?:\\/\\/academic\\.oup\\.com",
+ "rules": [
+ "redirectedFrom"
+ ]
+ },
+ "flexlinkspro.com": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?flexlinkspro\\.com",
+ "redirections": [
+ "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?flexlinkspro\\.com.*url=([^&]*)"
+ ]
+ },
+ "agata88.com": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?agata88\\.com",
+ "rules": [
+ "source"
+ ]
+ },
+ "hs.fi": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?hs\\.fi",
+ "rules": [
+ "share"
+ ]
+ },
+ "yle.fi": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?yle\\.fi",
+ "rules": [
+ "origin"
+ ]
+ },
+ "ccbill.com": {
+ "urlPattern": "^https?:\\/\\/refer\\.ccbill\\.com",
+ "redirections": [
+ "^https?:\\/\\/refer\\.ccbill\\.com.*HTML=([^&]*)"
+ ]
+ },
+ "flipkart": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?flipkart\\.com",
+ "rules": [
+ "otracker.?",
+ "ssid",
+ "[cilp]id",
+ "marketplace",
+ "store",
+ "srno",
+ "store",
+ "ppn",
+ "ppt",
+ "fm",
+ "collection-tab-name",
+ "sattr\\[\\]",
+ "p\\[\\]",
+ "st"
+ ]
+ },
+ "idealo.de": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?idealo\\.de",
+ "rules": [
+ "sid",
+ "src",
+ "siteId",
+ "lcb",
+ "leadOutUrl",
+ "offerListId",
+ "osId",
+ "cancelUrl",
+ "disc"
+ ]
+ },
+ "idealo-partner.com": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?idealo-partner\\.com",
+ "redirections": [
+ "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?idealo-partner\\.com.*trg=([^&]*)"
+ ]
+ },
+ "teletrader.com": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?teletrader\\.com",
+ "rules": [
+ "internal"
+ ]
+ },
+ "webgains.com": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?webgains\\.com",
+ "redirections": [
+ "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?webgains\\.com.*wgtarget=([^&]*)"
+ ]
+ },
+ "deeplearning.ai": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?deeplearning\\.ai",
+ "rules": [
+ "ecid",
+ "_hsmi",
+ "_hsenc"
+ ]
+ },
+ "getpocket.com": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?getpocket\\.com",
+ "redirections": [
+ "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?getpocket\\.com.*url=([^&]*)"
+ ]
+ },
+ "gamespot.com": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?gamespot\\.com",
+ "rules": [
+ "PostType",
+ "ServiceType",
+ "ftag",
+ "UniqueID",
+ "TheTime"
+ ]
+ },
+ "tokopedia.com": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?tokopedia\\.com",
+ "rules": [
+ "src",
+ "trkid",
+ "whid"
+ ],
+ "redirections": [
+ "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?tokopedia\\.com\\/promo.*r=([^&]*)"
+ ]
+ },
+ "wkorea.com": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?wkorea\\.com",
+ "rules": [
+ "ddw",
+ "ds_ch"
+ ]
+ },
+ "eonline.com": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?eonline\\.com",
+ "rules": [
+ "source",
+ "medium",
+ "content"
+ ]
+ },
+ "reuters.com": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?reuters\\.com",
+ "rules": [
+ "taid"
+ ]
+ },
+ "app.adjust.com": {
+ "urlPattern": "^https?:\\/\\/app\\.adjust\\.com",
+ "redirections": [
+ "^https?:\\/\\/app\\.adjust\\.com.*redirect=([^&]*)"
+ ]
+ },
+ "change.org": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?change\\.org",
+ "rules": [
+ "source_location",
+ "psf_variant",
+ "share_intent"
+ ]
+ },
+ "ceneo.pl": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?ceneo\\.pl",
+ "rules": [
+ "tag"
+ ]
+ },
+ "wired.com": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?wired\\.com",
+ "rules": [
+ "intcid"
+ ]
+ },
+ "alibaba cloud arms": {
+ "urlPattern": "^https?:\\/\\/arms-retcode\\.aliyuncs\\.com",
+ "rules": [
+ "pid",
+ "uid",
+ "tag",
+ "release",
+ "environment",
+ "sample",
+ "behavior",
+ "enableSPA",
+ "enableLinkTrace",
+ "page",
+ "begin",
+ "c2",
+ "c3",
+ "success",
+ "code",
+ "msg",
+ "api",
+ "traceId",
+ "pv_id",
+ "flag",
+ "sr",
+ "vp",
+ "ct",
+ "_v",
+ "sampling",
+ "dl",
+ "post_res"
+ ]
+ },
+ "nikkei": {
+ "urlPattern": "^https?://(?:[a-z0-9-]+\\.)*?nikkei\\.co(?:m|\\.jp)",
+ "rules": [
+ "adid",
+ "i_cid",
+ "n_cid",
+ "waad"
+ ]
+ },
+ "weibo": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?weibo\\.(cn|com)",
+ "rules": [
+ "weibo_id",
+ "dt_dapp"
+ ]
+ },
+ "fiverr.com": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?fiverr\\.com",
+ "rules": [
+ "context_referrer",
+ "source",
+ "ref_ctx_id",
+ "funnel"
+ ]
+ },
+ "etsy.com": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?etsy\\.com",
+ "rules": [
+ "click_key",
+ "click_sum",
+ "organic_search_click"
+ ]
+ },
+ "magento.com": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?magento\\.com",
+ "rules": [
+ "itm_campaign",
+ "itm_medium",
+ "itm_source",
+ "itm_term"
+ ]
+ },
+ "novinky.cz": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?novinky\\.cz",
+ "rules": [
+ "dop_ab_variant",
+ "dop_source_zone_name",
+ "dop_req_id",
+ "dop_id",
+ "source",
+ "seq_no"
+ ]
+ },
+ "aktualne.cz": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?aktualne\\.cz",
+ "rules": [
+ "dop_ab_variant",
+ "dop_source_zone_name",
+ "dop_req_id",
+ "dop_id"
+ ]
+ },
+ "seznamzpravy.cz": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?seznamzpravy\\.cz",
+ "rules": [
+ "dop_ab_variant",
+ "dop_source_zone_name",
+ "dop_req_id",
+ "dop_id",
+ "source",
+ "seq_no"
+ ]
+ },
+ "billiger.de": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?billiger\\.de",
+ "rules": [
+ "log",
+ "p"
+ ]
+ },
+ "respekt.cz": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?respekt\\.cz",
+ "rules": [
+ "sznclid",
+ "dop_ab_variant",
+ "dop_source_zone_name",
+ "dop_req_id",
+ "dop_id"
+ ]
+ },
+ "faei.cz": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?faei\\.cz",
+ "rules": [
+ "sznclid",
+ "dop_ab_variant",
+ "dop_source_zone_name",
+ "dop_req_id",
+ "dop_id"
+ ]
+ },
+ "iprima.cz": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?iprima\\.cz",
+ "rules": [
+ "sznclid",
+ "dop_ab_variant",
+ "dop_source_zone_name",
+ "dop_req_id",
+ "dop_id"
+ ]
+ },
+ "nova.cz": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?nova\\.cz",
+ "rules": [
+ "sznclid",
+ "dop_ab_variant",
+ "dop_source_zone_name",
+ "dop_req_id",
+ "dop_id"
+ ]
+ },
+ "duckduckgo": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?duckduckgo\\.com",
+ "redirections": [
+ "^https?:\\/\\/duckduckgo\\.com\\/l\\/.*?uddg=([^&]+)"
+ ]
+ },
+ "mercadolibre": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?mercadolibre\\.com",
+ "rules": [
+ "DEAL_ID",
+ "L",
+ "S",
+ "T",
+ "V",
+ "pdp_filters",
+ "position",
+ "search_layout",
+ "tracking_id",
+ "type",
+ "c_[_a-zA-Z]+",
+ "me\\.[_a-zA-Z]+",
+ "reco_[_a-zA-Z]+"
+ ]
+ },
+ "quizlet": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?quizlet\\.com",
+ "rules": [
+ "funnelUUID"
+ ]
+ },
+ "bbc": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?bbc\\.com",
+ "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)",
+ "rules": [
+ "federated_search_id",
+ "search_type",
+ "source",
+ "source_impression_id"
+ ]
+ },
+ "partner-ads.com": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?partner-ads\\.com",
+ "redirections": [
+ "^https?:\\/\\/.*?partner-ads\\.com\\/.*?htmlurl=([^&]+)"
+ ]
+ },
+ "kahoot.it": {
+ "urlPattern": "^https?://(?:[a-z0-9-]+\\.)*?kahoot\\.it",
+ "rules": [
+ "refer_method"
+ ]
+ },
+ "href.li": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?href\\.li",
+ "redirections": [
+ "^https?:\\/\\/href\\.li\\/\\?(http.+)"
+ ]
+ },
+ "adform.net": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?adform\\.net",
+ "redirections": [
+ "^https?:\\/\\/track\\.adform\\.net\\/C\\/.*?ckurl=([^&]+)"
+ ]
+ },
+ "artefact.com": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?artefact\\.com",
+ "redirections": [
+ "^https?:\\/\\/.*?artefact\\.com\\/trck\\/.*?deeplinkurl=([^&]+)"
+ ]
+ },
+ "awin1.com": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?awin1\\.com",
+ "redirections": [
+ "^https?:\\/\\/.*?awin1\\.com\\/.*?ued=([^&]+)"
+ ]
+ },
+ "telekom.de": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?telekom\\.de",
+ "redirections": [
+ "^https?:\\/\\/aaa\\.telekom\\.de\\/trck\\/.*?deeplinkurl=([^&]+)"
+ ]
+ },
+ "cc.loginfra.com": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?loginfra\\.com",
+ "redirections": [
+ "^https?:\\/\\/cc\\.loginfra\\.com\\/.*?u=([^&]+)"
+ ]
+ },
+ "t.umblr.com": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?umblr\\.com",
+ "redirections": [
+ "^https?:\\/\\/t\\.umblr\\.com\\/redirect\\?z=([^&]+)"
+ ]
+ },
+ "goodreads.com": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?goodreads\\.com",
+ "rules": [
+ "from_search",
+ "from_srp",
+ "qid",
+ "rank",
+ "ac"
+ ]
+ },
+ "sohu": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?sohu\\.com",
+ "rules": [
+ "pvid",
+ "scm"
+ ]
+ },
+ "shopee": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?shopee\\.(com|co\\.th)",
+ "rules": [
+ "publish_id",
+ "sp_atk",
+ "xptdk"
+ ]
+ },
+ "lazada": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?lazada\\.(com|co\\.th|co\\.id|com\\.my|com\\.ph|sg|vn)",
+ "rules": [
+ "clickTrackInfo",
+ "abid",
+ "pvid",
+ "ad_src",
+ "spm",
+ "src",
+ "from",
+ "scm",
+ "pa",
+ "pid_pvid",
+ "did",
+ "mp",
+ "cid",
+ "impsrc",
+ "pos"
+ ]
+ },
+ "pantip.com": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?pantip\\.com"
+ },
+ "skimresources.com": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?skimresources\\.com",
+ "redirections": [
+ "^https?:\\/\\/go\\.skimresources\\.com\\/.*?url=([^&]+)"
+ ]
+ },
+ "office-partner.de": {
+ "urlPattern": "^https?:\\/\\/(?:[a-z0-9-]+\\.)*?office-partner\\.de",
+ "rules": [
+ "sPartner",
+ "campaign"
+ ]
+ }
+ }
+}