{
"cache_path": "url-cleaner-default-cleaner-cache.sqlite",
"docs": {
"title": "The default cleaner.",
"description": [
"The default cleaner; Meant for general purpose every day URL Cleaning."
],
"flags": {
"bypass_vip" : "Use [bypass.vip](https://bypass.vip) to expand linkvertise and some other links.",
"embed_compatibility" : "Sets the domain of twitter domiains (and supported twitter redirects like `vxtwitter.com`) to the variable `twitter_embed_host` and `bsky.app` to the variable `bsky_embed_host`.",
"keep_lang" : "Keeps language query parameters.",
"no_https_upgrade" : "Disable upgrading `http` URLs to `https`.",
"no_network" : "Don't make any HTTP requests. Some redirect websites will still work because they include the destination in the URL.",
"remove_unused_search_query": "Remove search queries from URLs that aren't search results (for example, posts).",
"tor2web2tor" : "Replace `**.onion.**` domains with `**.onion` domains.",
"unmobile" : "Convert `https://m.example.com`, `https://mobile.example.com`, `https://abc.m.example.com`, and `https://abc.mobile.example.com` into `https://example.com` and `https://abc.example.com`.",
"breezewiki" : "Replace fandom/known Breezewiki hosts with the `breezewiki_host` variable.",
"unbreezewiki": "Replace Breezewiki hosts with fandom.com.",
"invidious" : "Replace youtube/known Invidious hosts with the `invidious_host` variabel.",
"uninvidious" : "Replace Invidious hosts with youtube.com",
"nitter" : "Replace twitter/known Nitter hosts with the `nitter_host` variable.",
"unnitter" : "Replace Nitter hosts with x.com.",
"discord_unexternal" : "Replace `images-ext-1.discordapp.net` with the original images they refer to.",
"furaffinity_sfw" : "Turn `furaffinity.net` into `sfw.furaffinity.net`",
"furaffinity_unsfw" : "Turn `sfw.furaffinity.net` into `furaffinity.net`",
"instagram_unprofilecard" : "Turns `https://instagram.com/username/profilecard` into `https://instagram.com/username`.",
"tumblr_unsubdomain_blog" : "Changes `blog.tumblr.com` URLs to `tumblr.com/blog` URLs. Doesn't move `at` or `www` subdomains.",
"youtube_keep_sub_confirmation": "Don't remove the `sub_confirmation` query param from youtube.com URLs.",
"youtube_unembed" : "Turns `https://youtube.com/embed/abc` into `https://youtube.com/watch?v=abc`.",
"youtube_unlive" : "Turns `https://youtube.com/live/abc` into `https://youtube.com/watch?v=abc`.",
"youtube_unplaylist" : "Removes the `list` query parameter from `https://youtube.com/watch` URLs.",
"youtube_unshort" : "Turns `https://youtube.com/shorts/abc` into `https://youtube.com/watch?v=abc`."
},
"vars": {
"bluesky_embed_host": "The domain to use for bluesky when the `embed_compatibility` flag is set. Defaults to `fxbsky.com`.",
"breezewiki_host" : "The domain to replace fandom/Breezewiki domains with when the `breezewiki` flag is enabled",
"bypass_vip_api_key": "The API key used for [bypass.vip](https://bypass.vip)'s premium backend. Overrides the `URL_CLEANER_BYPASS_VIP_API_KEY` environment variable.",
"invidious_host" : "The domain to replace twitter/Invidious domains with when the `invidious` flag is enabled",
"nitter_host" : "The domain to replace twitter/nitter domains with when the `nitter` flag is enabled",
"pixiv_embed_host" : "The domain to use for pixiv when the `embed_compatibility` flag is set. Defaults to `phixiv.com`.",
"twitter_embed_host": "The domain to use for twitter when the `embed_compatibility` flag is set. Defaults to `vxtwitter.com`."
},
"environment_vars": {
"URL_CLEANER_BYPASS_VIP_API_KEY": "The API key used for [bypass.vip](https://bypass.vip)'s premium backend. Can be overridden with the `bypass_vip_api_key` variable."
},
"sets": {
"bypass_vip_hwwwwdpafqdnps" : "The `HostWithoutWWWDotPrefixAndFqdnPeriod`es of websites bypass.vip can expand.",
"email_link_format_1_hosts" : "(TEMPORARY NAME) Hosts that use unknown link format 1.",
"https_upgrade_host_blacklist" : "Hosts to never upgrade from `http` to `https`.",
"redirect_hwwwwdpafqdnps" : "Hosts that are considered redirects in the sense that they return HTTP 3xx status codes. URLs with hosts in this set (as well as URLs with hosts that are \"www.\" then a host in this set) will have the `ExpandRedirect` action applied.",
"remove_empty_fragment_reg_domain_blacklist": "The RegDomains to not remove an empty fragment (the #stuff at the end (but specifically just a #)) from.",
"remove_empty_query_reg_domain_blacklist" : "The RegDomains to not remove an empty query from.",
"remove_fqdn_period_reg_domain_blacklist" : "The RegDomains to not remove remove the [fully qualified domain](https://en.wikipedia.org/wiki/Fully_qualified_domain_name) period from.",
"unmobile_reg_domain_blacklist" : "Effectively unsets the `unmobile` flag for the specified `RegDomain`s.",
"utps" : "The set of \"universal tracking parameters\" that are always removed for any URL with a host not in the `utp_host_whitelist` set. Please note that, in addition to all values in this set, any value starting with a value in the `utp_prefixes` set are also removed.",
"utps_reg_domain_whitelist" : "RegDomains to never remove universal tracking parameters from."
},
"lists": {
"utp_prefixes": "If a query parameter starts with any of the strings in this list (such as `utm_`) it is removed."
},
"maps": {
"hwwwwdpafqdnp_lang_query_params": "The name of the `HostWithoutWWWDotPrefixAndFqdnPeriod`'s language query parameter."
},
"named_partitionings": {
"hwwwwdpafqdnp_categories": "Categories of similar websites with shared cleaning methods.",
"www_subdomain_handling": "What to do instead of removing `www` subdomains.",
"domain_middle_expand_mode": "How to handle redirect `DomainMiddle`s,",
"hwwwwdpafqdnp_expand_mode": "How to handle redirect `HostWithoutWWWDotPrefix`s.",
"reg_domain_expand_mode" : "How to handle redirect `RegDomain`s,"
},
"job_context": {
"vars": {
"SOURCE_HOST" : "The `Host` of the \"source\" of the jobs. Usually the webpage it came from.",
"SOURCE_REG_DOMAIN": "The `RegDomain` of the \"source\" of the jobs, Usually the webpage it came from."
}
},
"task_context": {
"vars": {
"bsky_handle" : "The handle of an `@user.bsky.social`, used to replace the `/did:plc:12345678` in the URL with the actual handle.",
"faci_site_name" : "For furaffinity contact info links, the name of the website the contact info is for. Used for unmangling.",
"link_text" : "The text of the link the job came from.",
"redirect_shortcut": "For links that use redirect sites but have the final URL in the link's text/title/whatever, this is used to avoid sending that HTTP request.",
"twitter_handle" : "The handle of the twitter user for a `/i/web/status/` and `/i/user/` twitter URLs."
}
}
},
"params": {
"vars": {
"bluesky_embed_host": "fxbsky.app",
"breezewiki_host" : "breezewiki.com",
"invidious_host" : "yewtu.be",
"nitter_host" : "nitter.net",
"pixiv_embed_host" : "phixiv.net",
"twitter_embed_host": "vxtwitter.com"
},
"sets": {
"https_upgrade_host_blacklist": ["orteil.dashnet.org", "localhost"],
"unmobile_reg_domain_blacklist": ["tumblr.com", "deviantart.com"],
"utps": [
"Tcsack", "__hsfp", "__hssc", "__hstc", "__io_lv", "__s", "_branch_match_id", "_branch_referrer", "_clde", "_cldee", "_ga",
"_gl", "_hsenc", "_io_session_id", "_kx", "_ope", "_openstat", "_sgm_action", "_sgm_campaign", "_sgm_source", "_trkparms",
"_trksid", "_zucks_suid", "action_object_map", "action_ref_map", "action_type_map", "adfrom", "adjust_adgroup", "adjust_campaign",
"adjust_creative", "adjust_referrer", "adjust_tracker", "adjust_tracker_limit", "admitad_uid", "af_ad", "af_adset", "af_click_lookback",
"af_force_deeplink", "af_xp", "aiad_clid", "ar_ad", "ar_adgroup", "ar_campaign", "ar_channel", "ar_clx", "ar_strategy", "asgtbndr",
"at_campaign", "at_campaign_type", "at_creation", "at_emailtype", "at_link", "at_link_id", "at_link_origin", "at_link_type", "at_medium",
"at_ptr_name", "at_recipient_id", "at_recipient_list", "at_send_date", "awc", "bsft_aaid", "bsft_clkid", "bsft_eid", "bsft_ek",
"bsft_mid", "bsft_uid", "cjdata", "cjevent", "click", "cm_cr", "cm_me", "cmpid", "cuid", "cx_click", "cx_recsOrder", "cx_recsWidget",
"dclid", "dpg_campaign", "dpg_content", "dpg_medium", "dpg_source", "ebisAdID", "erid", "et_rid", "external_click_id", "famad_xuid",
"fb_action_ids", "fb_action_types", "fb_comment_id", "fb_ref", "fb_source", "fbclid", "gad_source", "gbraid", "gci", "gclid", "gclsrc",
"gps_adid", "guccounter", "guce_referrer", "guce_referrer_sig", "hsCtaTracking", "hsa_acc", "hsa_ad", "hsa_cam", "hsa_grp", "hsa_kw",
"hsa_la", "hsa_mt", "hsa_net", "hsa_ol", "hsa_src", "hsa_tgt", "hsa_ver", "hsctatracking", "icid", "iclid", "intcmp", "ir_adid",
"ir_campaignid", "ir_partnerid", "irclickid", "irgwc", "is_retargeting", "itm_campaign", "itm_content", "itm_medium", "itm_source",
"itm_term", "jmtyClId", "maf", "mc_eid", "message", "mindbox", "mindbox-click-id", "mindbox-message-key", "mkt_tok", "ml_subscriber",
"ml_subscriber_hash", "msclkid", "mt_link_id", "mtm_campaign", "mtm_cid", "mtm_content", "mtm_group", "mtm_keyword", "mtm_medium",
"mtm_placement", "mtm_source", "nx_source", "oft_c", "oft_ck", "oft_d", "oft_id", "oft_ids", "oft_k", "oft_lk", "oft_sk", "oly_anon_id",
"oly_enc_id", "oprtrack", "pk_campaign", "pk_cid", "pk_medium", "pk_source", "pk_vid", "rb_clickid", "ref", "referer", "rtkcid",
"s_cid", "sms_click", "sms_source", "sms_uph", "spot_im_redirect_source", "srsltid", "ss_email_id", "sscid", "tduid", "ttclid",
"twclid", "unicorn_click_id", "user_email_address", "usqp", "utm", "vc_lpp", "vero_conv", "vero_id", "vgo_ee", "vsm_cid", "vsm_pid",
"vsm_type", "wbraid", "wickedid", "wpb_advertiser", "wpb_id", "wt_mc", "xtor", "yclid", "ymclid", "ymid", "ysclid"
],
"utps_reg_domain_whitelist": ["bambulab.com"]
},
"lists": {
"utp_prefixes": [
"__s", "at_custom", "cm_mmc", "utm_"
]
},
"maps": {
"hwwwwdpafqdnp_lang_query_params": {
"map": {
"instagram.com": "hl",
"threads.net": "hl"
},
"else": "lang"
}
},
"named_partitionings": {
"hwwwwdpafqdnp_categories": {
"alibaba": ["alibaba.com", "aliexpress.com", "1688.com"],
"bluesky": ["bsky.app"],
"bluesky_embed_hosts": ["fxbsky.app"],
"breezewiki": [
"antifandom.com", "breeze.hostux.net", "breeze.mint.lgbt", "breeze.nohost.network", "breeze.whateveritworks.org",
"breezewiki.catsarch.com", "breezewiki.com", "breezewiki.frontendfriendly.xyz", "breezewiki.hyperreal.coffee", "breezewiki.nadeko.net",
"breezewiki.nadekonfkhwlxwwk4ycbvq42zvcjmvo5iakl4tajojjwxd4a5dcetuyd.onion", "breezewiki.pussthecat.org", "breezewiki.woodland.cafe",
"bw.artemislena.eu", "bw.hamstro.dev", "bw.projectsegfau.lt", "bw.skunky7dhv7nohsoalpwe3sxfz3fbkad7r3wk632riye25vqm3meqead.onion",
"nerd.whatever.social", "z.opnxng.com"
],
"deviantart_embed_hosts": ["fxdeviantart.com"],
"discord_external": ["images-ext-1.discordapp.net", "images-ext-2.discordapp.net", "images-ext-3.discordapp.net"],
"disney": ["disney.com", "marvel.com"],
"furaffinity": ["furaffinity.net", "sfw.furaffinity.net"],
"instagram": ["instagram.com", "threads.net"],
"invidious": [
"inv.nadeko.net", "inv.nadekonw7plitnjuawu6ytjsl7jlglk2t6pyq6eftptmiv3dvqndwvyd.onion", "invidious.nerdvpn.de", "yewtu.be",
"zzlsbhhfvwg3oh36tcvx4r7n6jrw7zibvyvfxqlodcwn3mfrvzuq.b32.i2p"
],
"lmgtfy": ["lmgtfy.com", "lmgtfy.app", "letmegooglethat.com", "lmgtfy.click", "letmegoogleforyou.com", "lmgt.org"],
"nitter": [
"26oq3gioiwcmfojub37nz5gzbkdiqp7fue5kvye7d4txv4ny6fb4wwid.onion", "4g47cxugkohbweao2x66nnxxfoe3k7gdfzxej537nhdbwr522sbjxeqd.onion", "4kzgzonccxuv4ctforjqx565jgd4bocgnzsy3dg4fmdf3ye2iciq.b32.i2p",
"6g7w5lt6qcidh6vtue64udzld2mjnvxlpgddvn34qywxafxdv6a3w5id.onion", "aaaaaxx74hbzeibageieowryhsqvimbdiitfkfe47tvgawkwkjh3coqd.onion",
"axd6uavsstsrvstva4mzlzh4ct76rc6zdug3nxdgeitrzczhzf4q.b32.i2p", "bird.habedieeh.re",
"bird.habeehrhadazsw3izbrbilqajalfyqqln54mrja3iwpqxgcuxnus7eid.onion", "ckzuw5misyahmg7j5t5xwwuj3bwy62jfolxyux4brfflramzsvvd3syd.onion",
"ec5nvbycpfa5k6ro77blxgkyrzbkv7uy6r5cngcbkadtjj2733nm3uyd.onion", "erpnncl5nhyji3c32dcfmztujtl3xaddqb457jsbkulq24zqq7ifdgad.onion",
"fbdi323aj3t6hdx4jtkuwxrnafzskquciowu2yu3jizfssaq35aow6ad.onion", "gseczlzmiv23p5vhsktyd7whquq2uy3c5fgkmdohh453qp3daoua.b32.i2p",
"i23nv6w3juvzlw32xzoxcqzktegd4i4fu3nmnc2ewv4ggiu4ledwklad.onion", "ibsboeui2im5o7dxnik3s5yghufumgy5abevtij5nbizequfpu4qi4ad.onion",
"iwgu3cv7ywf3gssed5iqtavmrlszgsxazkmwwnt4h2kdait75thdyrqd.onion", "jebqj47jgxleaiosfcxfibx2xdahjettuydlxbg64azd4khsxv6kawid.onion",
"n.sneed4fmhevap3ci4xhf4wgkf72lwk275lcgomnfgwniwmqvaxyluuid.onion", "nitraeju2mipeziu2wtcrqsxg7h62v5y4eqgwi75uprynkj74gevvuqd.onion",
"nitter.catsarchywsyuss6jdxlypsw5dc7owd5u5tr6bujxb7o6xw2hipqehyd.onion",
"nitter.coffee2m3bjsrrqqycx6ghkxrnejl2q6nl7pjw2j4clchjj6uk5zozad.onion",
"nitter.daturab6drmkhyeia4ch5gvfc2f3wgo6bhjrv3pz6n7kxmvoznlkq4yd.onion",
"nitter.esmail5pdn24shtvieloeedh7ehz3nrwcdivnfhfcedl7gf4kwddhkqd.onion",
"nitter.g4c3eya4clenolymqbpgwz3q3tawoxw56yhzk4vugqrl6dtu3ejvhjid.onion", "nitter.holo-mix.com", "nitter.io.lol", "nitter.kavin.rocks",
"nitter.kylrth.com", "nitter.l4qlywnpwqsluw65ts7md3khrivpirse744un3x7mlskqauz5pyuzgqd.onion", "nitter.lucabased.xyz",
"nitter.lunar.icu", "nitter.micohauwkjbyw5meacrb4ipicwvwg4xtzl7y7viv53kig2mdcsvwkyyd.onion", "nitter.moomoo.me", "nitter.net",
"nitter.pjsfkvpxlinjamtawaksbnnaqs2fc2mtvmozrzckxh7f3kis6yea25ad.onion", "nitter.poast.org", "nitter.priv.loki",
"nitter.privacydev.net", "nitter.privpw3tndpkw6pnp3g727zfgfdzbu3k6a7chv226s3xymv2p4eiuqyd.onion", "nitter.qwik.space",
"nitter.rawbit.ninja", "nitter.tiekoetter.com", "nitter.v6vgyqpa7yefkorazmg5d5fimstmvm2vtbirt6676mt7qmllrcnwycqd.onion",
"nitter7bryz3jv7e3uekphigvmoyoem4al3fynerxkj22dmoxoq553qd.onion", "npf37k3mtzwxreiw52ccs5ay4e6qt2fkcs2ndieurdyn2cuzzsfyfvid.onion",
"nt.vernccvbvyi5qhfzyqengccj7lkove6bjot2xhh5kajhwvidqafczrad.onion", "nttr2iupbb6fazdpr2rgbooon2tzbbsvvkagkgkwohhodjzj43stxhad.onion",
"pjsfs4ukb6prmfx3qx3a5ef2cpcupkvcrxdh72kqn2rxc2cw4nka.b32.i2p", "pxrhfmieeeqdu5pi4duscycsxqefqphaxgvvrvdtc3ckqn2mcora.b32.i2p",
"qwikxx2erhx6qrymued6ox2qkf2yeogjwypqvzoif4fqkljixasr6oid.onion", "r2eqimhkvxboaltbdsectoo3hkf476pyemsdykclexzajbfx5v6ojlyd.onion",
"tm4rwkeysv3zz3q5yacyr4rlmca2c4etkdobfvuqzt6vsfsu4weq.b32.i2p", "twitit.gq",
"twitter.ap3jtgssd7qn4vfoa62gi2ijddoblslbeuw5dan3xt7myvqpura5i4qd.onion",
"twitter.cepyxplublbyw2f4axy4pyztfbxmf63lrt2c7uwv6wl4iixz53czload.onion",
"twitter.prnoid54e44a4bduq5due64jkk7wcnkxcp5kv3juncm7veptjcqudgyd.onion", "u6ikd6zndl3c4dsdq4mmujpntgeevdk5qzkfb57r4tnfeccrn2qa.b32.i2p",
"vernzdedoxuflrrxc4vbatbkpjh4k22ecgiqgimdiif62onhagva.b32.i2p", "vfaomgh4jxphpbdfizkm5gbtjahmei234giqj4facbwhrfjtcldauqad.onion",
"wiio4sgs4247brk7hj6qck2jxnvldwfdbguigc5ivpxrsegnliyfvuqd.onion", "xcancel.com", "xnaas.github.io"
],
"pixiv_embed_hosts": ["phixiv.net"],
"twitter": ["twitter.com", "x.com"],
"twitter_embed_hosts": ["fixupx.com", "fixvx.com", "fxtwitter.com", "girlcockx.com", "stupidpenisx.com", "vxtwitter.com", "yiffx.com"]
},
"www_subdomain_handling": {
"add": ["proozy.com", "shorturl.add", "shorturl.at", "torproject.org", "youtube.com"],
"special": ["facebook.com", "teepublic.com"]
},
"domain_middle_expand_mode": {
"special": ["google"]
},
"hwwwwdpafqdnp_expand_mode": {
"bypass_vip": [
"adfoc.us", "admiregirls-byme.com", "all-fans.online", "badgirlsdrop.com", "bit.do", "booo.st", "boost.ink", "bst.gg", "cemendemons.com",
"depravityweb.co", "fansmega.com", "free-leaks.com", "goldmega.online", "hotstars-leaks.com", "leakutopia.site", "links-loot.com",
"linksloot.net", "linkvertise.com", "loot-link.com", "loot-links.com", "lootdest.com", "lootdest.info", "lootdest.org",
"lootlink.org", "lootlinks.co", "mboost.me", "mega-guy.com", "megadropz.com", "megadumpz.com", "newsociety0.co", "ofpacksmega.com",
"only-fun.xyz", "onlymega.co", "paster.so", "pnp-drops.me", "premiumstashdrop.com", "rareofhub.com", "rekonise.com", "secret-links.com",
"secretpack-links.com", "socialwolvez.com", "st.news", "sub2get.com", "sub2unlock.com", "sub2unlock.io", "sub2unlock.net", "sub4unlock.io",
"tavernleaks.com", "thepremium.online", "tinylink.onl", "tomxcontent.com", "unlock.com", "unlocknow.net", "v.gd",
"wc.wtf", "work.ink", "xprmpacks.com"
],
"redirect": [
"2kgam.es", "4.nbcla.com", "a.aliexpress.com", "a.co", "ab.co", "abc7.la", "abc7ne.ws", "abcnews.link", "adobe.ly", "aje.io", "amzn.asia",
"amzn.ew", "amzn.to", "api.link.agorapulse.com", "apple.co", "b23.tv", "bbc.in", "bit.ly", "bitly.com",
"bityl.co", "blizz.ly", "blockclubchi.co", "bloom.bg", "boxd.it", "buff.ly", "bzfd.it", "cbr.sh", "cbsn.ws", "cfl.re", "chn.ge",
"chng.it", "clckhl.co", "cnb.cx", "cnn.it", "cons.lv", "cos.lv", "cutt.ly", "db.tt", "dcdr.me", "depop.app.link", "diplo.de",
"dis.gd", "dlvr.it", "econ.st", "etsy.me", "fal.cn", "fanga.me", "fb.me", "fdip.fr", "flip.it", "forms.gle", "g.co", "glo.bo",
"go.forbes.com", "go.icj-cij.org", "go.microsoft.com", "go.nasa.gov", "go.nature.com", "go.undp.org", "gofund.me",
"goo.gl", "goo.gle", "goo.su", "goodsmile.link", "got.cr", "gum.co", "hmstr.fr", "hulu.tv", "ift.tt", "intel.ly", "interc.pt", "is.gd",
"iwe.one", "j.mp", "jbgm.es", "k00.fr", "katy.to", "kck.st", "kre.pe", "l.euronews.com", "l.leparisien.fr",
"line.ee", "link.animaapp.com", "linkr.it", "lnkd.in", "loom.ly", "lpc.ca", "m.sesame.org", "mol.im", "mply.io", "msft.it",
"msi.gm", "mzl.la", "n.opn.tl", "n.pr", "nas.cr", "nbc4i.co", "ninten.do", "ntdo.co.uk", "nvda.ws", "ny.ti", "nyer.cm", "nyp.st",
"nyti.ms", "nyto.ms", "on.forbes.com", "on.ft.com", "on.msnbc.com", "on.nyc.gov", "onl.bz", "onl.la", "onl.sc", "onl.tw",
"operagx.gg", "orlo.uk", "ow.ly", "peoplem.ag", "perfht.ml", "pin.it", "pixiv.me", "pl.go-ga.me", "play.st",
"politi.co", "prn.to", "propub.li", "pulse.ly", "py.pl", "qr.paps.jp", "qr1.be", "rb.gy", "rblx.co", "rdbl.co", "rdcu.be",
"rebrand.ly", "redd.it", "reut.rs", "rog.gg", "rzr.to", "s.goodsmile.link", "s.team", "s76.co", "share.firefox.dev", "shor.tf",
"shorturl.at", "sonic.frack.deals", "sou42.co", "spoti.fi", "spr.ly", "sqex.to", "square.link", "sta.sh", "t.ly",
"t2m.io", "theatln.tc", "thecut.io", "thef.pub", "thr.cm", "thrn.co", "tiny.cc", "tinylf.com", "tmblr.co", "tmz.me", "to.pbs.org",
"tps.to", "tr.ee", "trib.al", "u.jd.com", "unes.co", "unf.pa", "uni.cf", "uniceflink.org", "visitlink.me", "vm.tiktok.com", "w.wiki",
"wlgrn.com", "wlo.link", "wn.nr", "wp.me", "wwdc.io", "x.alibaba.com", "x.gd", "xbx.ly", "xhslink.com", "yrp.ca"
],
"sometimes_redirect": [
"apexpartner.app", "api.pinterest.com", "facebook.com", "old.reddit.com", "pawoo.net", "qudsnen.co", "reddit.com", "sketchfab.com",
"teepublic.com"
],
"special": [
"1link.club", "allmylinks.com", "api.linkr.bio", "api.linkr.com", "awin1.com", "bfy.tw", "bugzil.la", "buymeacoff.ee",
"cach.me", "click.notification.elsevier.com", "deviantart.com", "duckduckgo.com",
"duckduckgogg42xjoc72x3sjasowoarfbgcmvfimaftt6twagswzczad.onion", "e.emailalerts.cnn.com", "go.bsky.app", "goodreads.com", "gprivate.com",
"href.li", "instagr.am", "l.instagram.com", "l.threads.com", "linkprotect.cudasvc.com", "lmddgtfy.net", "lmgtfy2.com", "lnk.bio", "mfy.gg",
"o93x.net", "open-api.tiktok.com", "open.substack.com", "out.reddit.com", "pixiv.net", "preview.tinyurl.com", "proxy.notsobot.com",
"rd.goodreads.com", "redirect.viglink.com", "reurl.cc", "ro.blox.com", "shareasale-analytics.com", "shareasale.com",
"skfb.ly", "smarturl.it", "ss3.shipstation.com", "steamcommunity.com", "subscribestar.adult", "substack.com", "t.co", "t.umblr.com",
"tee.pub", "tinyurl.com", "toyhou.se", "twpf.jp", "urldefense.com", "youtube.com", "app.adjust.com"
]
},
"reg_domain_expand_mode": {
"redirect": ["adj.st", "goo.gl", "o93x.net", "page.link", "pusle.ly", "visitlink.me"],
"special": ["carleton.ca", "lnk.to", "onelink.me", "pulse.ly", "smartadserver.com", "vk.com"]
}
},
"http_client_config": {
"default_headers": {
"user-agent": "Firefox",
"sec-gpc": "1",
"dnt": "1"
},
"referer": false,
"redirect_policy": "None"
}
},
"commons": {
"actions": {
"extract_from_page": {"If": {
"if": {"Not": {"FlagIsSet": "no_network"}},
"then": {"All": [
{"Common": "universal"},
{"SetPart": {
"part": "Whole",
"value": {"Cache": {
"category": "redirect",
"key": {"Part": "Whole"},
"value": {"Modified": {
"value": {"HttpRequest": {}},
"modification": {"CommonCallArg": "extractor"}
}}
}}
}}
]}
}},
"redirect_shortcut": {"If": {
"if": {"All": [
{"StringIsSome": {"Var": {"type": "TaskContext", "name": "redirect_shortcut"}}},
{"StringIs": {
"left" : {"Var": {"type": "JobContext", "name": "SOURCE_REG_DOMAIN"}},
"right": {"Var": {"type": "CommonArg", "name": "expected_reg_domain"}}
}},
{"Not": {"FlagIsSet": {"type": "Scratchpad", "name": "redirect_shortcut_used"}}}
]},
"then": {"All": [
{"SetPart": {"part": "Whole", "value": {"Var": {"type": "TaskContext", "name": "redirect_shortcut"}}}},
{"SetScratchpadFlag": {"name": "redirect_shortcut_used", "value": true}}
]},
"else": {"If": {
"if": {"Not": {"FlagIsSet": "no_network"}},
"then": {"All": [
{"Common": "universal"},
{"ExpandRedirect": {}}
]}
}}
}},
"universal": {"All": [
{"If": {
"if": {"All": [
{"PartIs": {"part": "Scheme", "value": "http"}},
{"Not": {"FlagIsSet": "no_https_upgrade"}},
{"Not": "HostIsIp"},
{"Not": {"PartMatches": {
"part": "Host",
"matcher": {"InSet": "https_upgrade_host_blacklist"}
}}}
]},
"then": {"SetPart": {"part": "Scheme", "value": "https"}}
}},
{"If": {
"if": {"Not": {"FlagIsSet": "keep_lang"}},
"then": {"RemoveQueryParam": {"ParamsMap": {"name": "hwwwwdpafqdnp_lang_query_params", "key": {"Part": "HostWithoutWWWDotPrefixAndFqdnPeriod"}}}}
}},
{"If": {
"if": {"Not": {"PartMatches": {"part": "RegDomain", "matcher": {"InSet": "utps_reg_domain_whitelist"}}}},
"then": {"All": [
{"RemoveQueryParamsMatching": {"Any": [
{"InSet": "utps"},
{"ContainsAnyInList": {"at": "Start", "list": "utp_prefixes"}}
]}},
{"ModifyPartIfSome": {
"part": "Fragment",
"modification": {"RemoveQueryParamsMatching": {"Any": [
{"InSet": "utps"},
{"ContainsAnyInList": {"at": "Start", "list": "utp_prefixes"}}
]}}
}}
]}
}},
{"StringMap": {
"value": {"NamedPartitioning": {"named_partitioning": "www_subdomain_handling", "element": {"Part": "RegDomain"}}},
"map": {
"add": {"If": {
"if": {"SubdomainIs": null},
"then": {"SetPart": {"part": "Subdomain", "value": "www"}}
}},
"special": {"If": {
"if": {"PartMap": {
"part": "RegDomain",
"map": {
"facebook.com" : {"PathStartsWith": "/share/"},
"teepublic.com": {"PathStartsWith": "/lic/"}
},
"else": {"Error": "Unhandled www_subdomain_handling::special element."}
}},
"then": {"If": {"if": {"SubdomainIs": null },"then": {"SetPart": {"part": "Subdomain", "value": "www"}}}},
"else": {"If": {"if": {"SubdomainIs": "www"},"then": {"SetPart": {"part": "Subdomain", "value": null }}}}
}}
},
"else": {"If": {
"if": {"SubdomainIs": "www"},
"then": {"SetPart": {"part": "Subdomain", "value": null}}
}}
}},
{"If": {
"if": {"All": [
"HostIsFqdn",
{"Not": {"PartMatches": {"part": "RegDomain", "matcher": {"InSet": "remove_fqdn_period_reg_domain_blacklist"}}}}
]},
"then": {"SetPart": {"part": "FqdnPeriod", "value": null}}
}},
{"If": {
"if": {"All": [
{"PartIs": {"part": "Query", "value": ""}},
{"Not": {"PartMatches": {"part": "RegDomain", "matcher": {"InSet": "remove_empty_query_reg_domain_blacklist"}}}}
]},
"then": "RemoveQuery"
}},
{"If": {
"if": {"All": [
{"PartIs": {"part": "Fragment", "value": ""}},
{"Not": {"PartMatches": {"part": "RegDomain", "matcher": {"InSet": "remove_empty_fragment_reg_domain_blacklist"}}}}
]},
"then": {"SetPart": {"part": "Fragment", "value": null}}
}}
]},
"url_from_query_param_or_query": {"FirstNotError": [
{"GetUrlFromQueryParam": {"Var": {"type": "CommonArg", "name": "param"}}},
{"CopyPart": {"from": "Query", "to": "Whole"}},
{"SetPart": {
"part": "Whole",
"value": {"Modified": {
"value": {"Part": "Query"},
"modification": "PercentDecode"
}}
}}
]}
}
},
"actions": [
{"If": {
"if": {"All": [
{"PartIs": {"part": "Whole", "value": "javascript:void(0);"}},
{"StringIs": {
"left": {"Var": {"type": "JobContext", "name": "SOURCE_REG_DOMAIN"}},
"right": "furaffinity.net"
}},
{"StringIs": {"left": {"Modified": {"value": {"Var": {"type": "TaskContext", "name": "faci_site_name"}}, "modification": "Lowercase"}}, "right": "website"}}
]},
"then": {"SetPart": {
"part": "Whole",
"value": {"Join": {"values": ["https://", {"Var": {"type": "TaskContext", "name": "link_text"}}]}}
}}
}},
{"If": {
"if": {"PartIsOneOf": {"part": "Scheme", "values": ["http", "https"]}},
"then": {"All": [
{"Repeat": {
"actions": [
{"StringMap": {
"value": {"NamedPartitioning": {"named_partitioning": "domain_middle_expand_mode", "element": {"Part": "DomainMiddle"}}},
"map": {
"special": {"PartMap": {
"part": "DomainMiddle",
"map": {
"google": {"If": {
"if": {"PathIs": "/url"},
"then": {"GetUrlFromQueryParam": "q"}
}}
}
}}
}
}},
{"StringMap": {
"value": {"NamedPartitioning": {"named_partitioning": "reg_domain_expand_mode", "element": {"Part": "RegDomain"}}},
"map": {
"redirect": {"If": {
"if": {"Not": {"FlagIsSet": "no_network"}},
"then": {"All": [
{"Common": "universal"},
{"ExpandRedirect": {}}
]}
}},
"special": {"PartMap": {
"part": "RegDomain",
"map": {
"carleton.ca": {"If": {
"if": {"PartIs": {"part": {"QueryParam": "action"}, "value": "redirect"}},
"then": {"GetUrlFromQueryParam": "url"}
}},
"lnk.to": {"Common": {
"name": "extract_from_page",
"args": {
"string_modifications": {
"extractor": {"All": [
{"KeepAfter": "\"originalUrl\":"},
{"TryElse": {
"try": "GetJsStringLiteralPrefix",
"else": {"Set": {"Part": "Whole"}}
}}
]}
}
}
}},
"onelink.me": {"All": [
"RemoveQuery",
{"If": {
"if": {"Not": {"FlagIsSet": "no_network"}},
"then": {"All": [
{"Common": "universal"},
{"ExpandRedirect": {}}
]}
}}
]},
"pulse.ly": {"If": {
"if": {"Not": {"FlagIsSet": "no_network"}},
"then": {"All": [
{"SetPart": {
"part": "Whole",
"value": {"Join": {"values": [
"https://api.link.agorapulse.com/redirect",
{"Part": "Path"}
]}}
}},
{"ExpandRedirect": {}}
]}
}},
"smartadserver.com": {"If": {
"if": {"PathIs": "/click"},
"then": {"GetUrlFromQueryParam": "go"}
}},
"vk.com": {"If": {
"if": {"PathIs": "/away.php"},
"then": {"GetUrlFromQueryParam": "to"}
}}
},
"else": {"Error": "Unhandled reg_domain_expand_mode::special element."}
}}
}
}},
{"StringMap": {
"value": {"NamedPartitioning": {"named_partitioning": "hwwwwdpafqdnp_expand_mode", "element": {"Part": "HostWithoutWWWDotPrefixAndFqdnPeriod"}}},
"map": {
"bypass_vip": {"If": {
"if": {"All": [
{"FlagIsSet": "bypass_vip"},
{"Not": {"FlagIsSet": "no_network"}}
]},
"then": {"All": [
{"Common": "universal"},
{"CacheUrl": {
"category": "redirect",
"action": {"SetPart": {
"part": "Whole",
"value": {"Modified": {
"value": {"HttpRequest": {
"url": {"Join": {
"values": [
{"IfStringIsNone": {
"value": {"NoneTo": {
"value": {"Var": "bypass_vip_api_key"},
"if_none": {"Var": {"type": "Env", "name": "URL_CLEANER_BYPASS_VIP_API_KEY"}}
}},
"then": "https://api.bypass.vip/bypass?url=",
"else": "https://api.bypass.vip/premium/bypass?url="
}},
{"Modified": {"value": {"Part": "Whole"}, "modification": "PercentEncode"}}
]
}},
"headers": {
"x-api-key": {"NoneTo": {
"value": {"Var": "bypass_vip_api_key"},
"if_none": {"Var": {"type": "Env", "name": "URL_CLEANER_BYPASS_VIP_API_KEY"}}
}}
}
}},
"modification": {"JsonPointer": "/result"}
}}
}}
}}
]}
}},
"redirect": {"If": {
"if": {"Not": {"FlagIsSet": "no_network"}},
"then": {"All": [
{"Common": "universal"},
{"ExpandRedirect": {}}
]}
}},
"sometimes_redirect": {"If": {
"if": {"All": [
{"Not": {"FlagIsSet": "no_network"}},
{"PartMap": {
"part": "HostWithoutWWWDotPrefixAndFqdnPeriod",
"map": {
"apexpartner.app" : {"PathStartsWith": "/redirect/"},
"api.pinterest.com": {"PathStartsWith": "/url_shortener/"},
"facebook.com" : {"PathStartsWith": "/share/"},
"old.reddit.com" : {"PartContains": {"part": "Path", "value": "/s/"}},
"pawoo.net" : {"PathStartsWith": "/oauth_authentications/"},
"qudsnen.co" : {"HasQueryParam": "p"},
"reddit.com" : {"PartContains": {"part": "Path", "value": "/s/"}},
"sketchfab.com" : {"PathStartsWith": "/s/"},
"teepublic.com" : {"PathStartsWith": "/lic/"}
},
"else": {"Error": "Unhandled hwwwwdpafqdnp_expand_mode::sometimes_redirect element."}
}}
]},
"then": {"All": [
{"Common": "universal"},
{"ExpandRedirect": {}}
]}
}},
"special": {"PartMap": {
"part": "HostWithoutWWWDotPrefixAndFqdnPeriod",
"map": {
"1link.club": {"Common": {
"name": "extract_from_page",
"args": {
"string_modifications": {
"extractor": {"All": [
{"StripBefore": "<a id=\"download\""},
{"GetHtmlAttribute": "href"}
]}
}
}
}},
"allmylinks.com": {"If": {
"if": {"PathIs": "/link/out"},
"then": {"Common": {
"name": "redirect_shortcut",
"args": {"vars": {"expected_reg_domain": "allmylinks.com"}}
}}
}},
"api.linkr.bio": {"If": {
"if": {"PathIs": "/callbacks/go"},
"then": {"GetUrlFromQueryParam": "url"}
}},
"api.linkr.com": {"If": {
"if": {"PathIs": "/callbacks/go"},
"then": {"GetUrlFromQueryParam": "url"}
}},
"app.adjust.com": {"All": [
"RemoveQuery",
{"If": {
"if": {"Not": {"FlagIsSet": "no_network"}},
"then": {"All": [
{"Common": "universal"},
{"ExpandRedirect": {}}
]}
}}
]},
"awin1.com": {"If": {
"if": {"PathIs": "/cread.php"},
"then": {"TryElse": {
"try": {"GetUrlFromQueryParam": "ued"},
"else": {"If": {
"if": {"Not": {"FlagIsSet": "no_network"}},
"then": {"All": [
{"Common": "universal"},
{"ExpandRedirect": {}},
{"RemoveQueryParamsMatching": {"Any": [
{"IsOneOf": ["source", "awc", "sv1", "sv_campaign_id"]},
{"Contains": {"value": "awin_", "at": "Start"}}
]}}
]}
}}
}}
}},
"bfy.tw": {"Common": {
"name": "extract_from_page",
"args": {
"string_modifications": {
"extractor": {"All": [
{"StripBefore": "<a href="},
{"GetHtmlAttribute": "href"}
]}
}
}
}},
"bugzil.la": {"All": [
{"SetHost": "bugzilla.mozilla.org"},
{"CopyPart": {"from": {"PathSegment": 0}, "to": {"QueryParam": "id"}}},
{"SetPart": {"part": "Path", "value": "/show_bug.cgi"}}
]},
"buymeacoff.ee": {"SetHost": "buymeacoffee.com"},
"cash.me": {"SetHost": "cash.app"},
"click.notification.elsevier.com": {"If": {
"if": {"PathStartsWith": "/CL0/"},
"then": {"SetPart": {
"part": "Whole",
"value": {"Modified": {
"value": {"Part": "Path"},
"modification": {"All": [
{"KeepSegmentRange": {"split": "/", "start": 2, "end": -3}},
"PercentDecode"
]}
}}
}}
}},
"deviantart.com": {"If": {
"if": {"PathIs": "/users/outgoing"},
"then": {"Common": {
"name": "url_from_query_param_or_query",
"args": {"vars": {"param": "url"}}
}}
}},
"duckduckgo.com": {"If": {
"if": {"PathIs": "/l/"},
"then": {"GetUrlFromQueryParam": "uddg"}
}},
"duckduckgogg42xjoc72x3sjasowoarfbgcmvfimaftt6twagswzczad.onion": {"If": {
"if": {"PathIs": "/l/"},
"then": {"GetUrlFromQueryParam": "uddg"}
}},
"e.emailalerts.cnn.com": {"SetPart": {
"part": "Whole",
"value": {"Modified": {
"value": {"Part": "Query"},
"modification": {"All": [
{"KeepNthSegment": {"split": "/", "index": 2}},
{"RemoveChar": 0},
"Base64Decode",
{"KeepNthSegment": {"split": ",", "index": -1}}
]}
}}
}},
"go.bsky.app": {"TryElse": {
"try": {"GetUrlFromQueryParam": "u"},
"else": {"If": {
"if": {"Not": {"FlagIsSet": "no_network"}},
"then": {"ExpandRedirect": {}}
}}
}},
"goodreads.com": {"If": {
"if": {"PathIs": "/gp/r.html"},
"then": {"GetUrlFromQueryParam": "U"}
}},
"gprivate.com": {"Common": {
"name": "extract_from_page",
"args": {
"string_modifications": {
"extractor": {"All": [
{"KeepAfter": "window.location = "},
"GetJsStringLiteralPrefix"
]}
}
}
}},
"href.li": {"SetPart": {
"part": "Whole",
"value": {"Part": {"PositionRange": {"start": "BeforeQuery", "end": "AfterFragment"}}}
}},
"instagr.am": {"SetHost": "instagram.com"},
"l.instagram.com": {"GetUrlFromQueryParam": "u"},
"l.threads.com": {"GetUrlFromQueryParam": "u"},
"linkprotect.cudasvc.com": {"GetUrlFromQueryParam": "a"},
"lmddgtfy.net": {"SetHost": "duckduckgo.com"},
"lmgtfy2.com": {"If": {
"if": {"Not": {"PartIs": {"part": {"QueryParam": "q"}, "value": null}}},
"then": {"SetPart": {
"part": "Whole",
"value": {"Modified": {
"value": {"Map": {
"value": {"Part": {"QueryParam": "s"}},
"map": {
"g": {"Map": {
"value": {"Part": {"QueryParam": "t"}},
"map": {
"w" : "https://google.com/search?q=",
"i" : "https://google.com/search?tbm=isch&q=",
"v" : "https://google.com/search?tbm=vid&q=",
"m" : "https://google.com/maps?q=",
"n" : "https://google.com/search?tbm=nws&q=",
"s" : "https://google.com/search?tbm=shop&q=",
"b" : "https://google.com/search?tbm=bks&q=",
"f" : "https://google.com/finance?q=",
"sc": "https://scholar.google.com/scholar?q="
},
"if_null": "https://www.google.com/search?q="
}},
"c": "https://chat.openai.com/search?q=",
"b": "https://startpage.com/search?q=",
"y": "https://search.yahoo.com/search?q=",
"d": "https://duckduckgo.com/?q=",
"k": "https://ask.com/web?q=",
"a": "https://search.aol.com/aol/search?q=",
"w": "https://wikipedia.org/w/index.php?search=",
"s": "https://snopes.com/search/?q="
}
}},
"modification": {"Append": {"Part": {"QueryParam": "q"}}}
}}
}}
}},
"lnk.bio": {"If": {
"if": {"PathIs": "/go"},
"then": {"GetUrlFromQueryParam": "d"}
}},
"mfy.gg": {"SetHost": "metafy.gg"},
"o93x.net": {"GetUrlFromQueryParam": "u"},
"open-api.tiktok.com": {"All": [
{"AllowQueryParams": ["open_id"]},
{"If": {
"if": {"Not": {"FlagIsSet": "no_network"}},
"then": {"All": [
{"Common": "universal"},
{"ExpandRedirect": {}}
]}
}}
]},
"open.substack.com": {"If": {
"if": {"PathStartsWith": "/pub/"},
"then": {"All": [
{"CopyPart": {"from": {"PathSegment": 1}, "to": "Subdomain"}},
{"SetPart": {"part": {"PathSegment": 0}, "value": null}},
{"SetPart": {"part": {"PathSegment": 0}, "value": null}}
]}
}},
"out.reddit.com": {"GetUrlFromQueryParam": "url"},
"pixiv.net": {"If": {
"if": {"PathIs": "/jump.php"},
"then": {"Common": {
"name": "url_from_query_param_or_query",
"args": {"vars": {"param": "url"}}
}}
}},
"preview.tinyurl.com": {"SetPart": {
"part": "Whole",
"value": {"Join": {
"values": [
"https://tinyurl.com/preview",
{"Part": "Path"}
]
}}
}},
"proxy.notsobot.com": {"GetUrlFromQueryParam": "url"},
"rd.goodreads.com": {"If": {
"if": {"PathIs": "/gp/r.html"},
"then": {"GetUrlFromQueryParam": "U"}
}},
"redirect.viglink.com": {"TryElse": {
"try": {"GetUrlFromQueryParam": "u"},
"else": {"GetUrlFromQueryParam": "out"}
}},
"reurl.cc": {"CacheUrl": {
"category": "redirect",
"action": {"If": {
"if": {"Not": {"FlagIsSet": "no_network"}},
"then": {"SetPart": {
"part": "Whole",
"value": {"HttpRequest": {"response_handler": {"Header": "target"}}}
}}
}}
}},
"ro.blox.com": {"GetUrlFromQueryParam": "af_web_dp"},
"shareasale-analytics.com": {"If": {
"if": {"PartContains": {"part": "Path", "value": ".cfm", "at": "End"}},
"then": {"FirstNotError": [
{"SetPart": {
"part": "Whole",
"value": {"Modified": {
"value": {"Part": {"QueryParam": "urllink"}},
"modification": {"All": [
{"StripMaybePrefix": "http://"},
{"StripMaybePrefix": "https://"},
{"Insert": {"index": 0, "value": "https://"}}
]}
}}
}},
{"All": [
{"AllowQueryParams": ["d", "b", "u", "m"]},
{"Common": {
"name": "extract_from_page",
"args": {
"string_modifications": {
"extractor": {"All": [
{"KeepAfter": "replace("},
"GetJsStringLiteralPrefix"
]}
}
}
}}
]}
]}
}},
"shareasale.com": {"If": {
"if": {"PartContains": {"part": "Path", "value": ".cfm", "at": "End"}},
"then": {"FirstNotError": [
{"SetPart": {
"part": "Whole",
"value": {"Modified": {
"value": {"Part": {"QueryParam": "urllink"}},
"modification": {"All": [
{"StripMaybePrefix": "http://"},
{"StripMaybePrefix": "https://"},
{"Insert": {"index": 0, "value": "https://"}}
]}
}}
}},
{"All": [
{"SetHost": "shareasale-analytics.com"},
{"AllowQueryParams": ["d", "b", "u", "m"]},
{"Common": {
"name": "extract_from_page",
"args": {
"string_modifications": {
"extractor": {"All": [
{"KeepAfter": "replace("},
"GetJsStringLiteralPrefix"
]}
}
}
}}
]}
]}
}},
"skfb.ly": {"All": [
{"SetHost": "sketchfab.com"},
{"SetPart": {"part": {"BeforePathSegment": 0}, "value": "s"}}
]},
"smarturl.it": {"Common": {
"name": "extract_from_page",
"args": {
"string_modifications": {
"extractor": {"All": [
{"KeepAfter": "\"originalUrl\":"},
"GetJsStringLiteralPrefix"
]}
}
}
}},
"ss3.shipstation.com": {"SetPart": {
"part": "Whole",
"value": {"Join": {
"values": [
"https://",
{"Modified": {
"value": {"Part": "Whole"},
"modification": {"StripPrefix": "https://ss3.shipstation.com/"}
}}
]
}}
}},
"steamcommunity.com": {"If": {
"if": {"PathStartsWith": "/linkfilter"},
"then": {"GetUrlFromQueryParam": "u"}
}},
"subscribestar.adult": {"If": {
"if": {"PathIs": "/away"},
"then": {"SetPart": {
"part": "Whole",
"value": {"Modified": {
"value": {"Part": {"QueryParam": "url"}},
"modification": {"All": [
{"Replace": {"find": "\n", "replace": ""}},
"Base64Decode"
]}
}}
}}
}},
"substack.com": {"All": [
{"If": {
"if": {"PathStartsWith": "/p/"},
"then": {"RemoveQueryParams": ["token"]}
}},
{"If": {
"if": {"PathIs": "/app-link/post"},
"then": {"AllowQueryParams": ["publication_id", "post_id", "submitLike", "action"]}
}},
{"If": {
"if": {"All": [
{"PathStartsWith": "/redirect/"},
{"PartMatches": {"part": {"PathSegment": 1}, "matcher": {"LengthIs": 36}}}
]},
"then": "RemoveQuery"
}},
{"If": {
"if": {"PathStartsWith": "/redirect/2/"},
"then": {"SetPart": {
"part": "Whole",
"value": {"Modified": {
"value": {"Part": {"PathSegment": 2}},
"modification": {"All": [
{"KeepBefore": "."},
"Base64Decode",
{"JsonPointer": "/e"}
]}
}}
}}
}}
]},
"t.co": {"Common": {
"name": "redirect_shortcut",
"args": {"vars": {"expected_reg_domain": "x.com"}}
}},
"t.umblr.com": {"GetUrlFromQueryParam": "z"},
"tee.pub": {"If": {
"if": {"Not": {"FlagIsSet": "no_network"}},
"then": {"All": [
{"SetHost": "www.teepublic.com"},
{"Common": "universal"},
{"ExpandRedirect": {}}
]}
}},
"tinyurl.com": {"All": [
{"PartMap": {
"part": {"PathSegment": 0},
"map": {
"preview": "None",
"app": {"SetPart": {"part": {"PathSegment": 0}, "value": "preview"}}
},
"else": {"SetPart": {"part": {"BeforePathSegment": 0}, "value": "preview"}}
}},
{"Common": {
"name": "extract_from_page",
"args": {
"string_modifications": {
"extractor": {"All": [
{"KeepAfter": "let url = "},
"GetJsStringLiteralPrefix"
]}
}
}
}}
]},
"toyhou.se": {"If": {
"if": {"PathIs": "/~r"},
"then": {"GetUrlFromQueryParam": "q"}
}},
"twpf.jp": {"If": {
"if": {"PartIs": {"part": "Path", "value": "/home/jump"}},
"then": {"SetPart": {
"part": "Whole",
"value": {"Modified": {
"value": {"Part": {"QueryParam": "p"}},
"modification": "PercentDecode"
}}
}}
}},
"urldefense.com": {"If": {
"if": {"PathStartsWith": "/v3/"},
"then": {"SetPart": {
"part": "Whole",
"value": {"Modified": {
"value": {"Part": "Whole"},
"modification": {"All": [
{"KeepSegmentRange": {"split": "__;", "end": -1}},
{"KeepSegmentRange": {"split": "__", "start": 1}},
{"Replace": {"find": "*", "replace": "%"}}
]}
}}
}}
}},
"youtube.com": {"If": {
"if": {"PathIs": "/redirect"},
"then": {"GetUrlFromQueryParam": "q"}
}}
},
"else": {"Error": "Unhandled hwwwwdpafqdnp_expand_mode::special element."}
}}
}
}},
{"If": {
"if": {"PathIs": "/page/email/redirect"},
"then": {"All": [
{"CopyPart": {"from": {"QueryParam": "campaignpageurl"}, "to": "Whole"}},
{"RemoveQueryParams": ["ea.url.id"]}
]}
}}
]
}},
{"If": {
"if": {"All": [
{"FlagIsSet": "unmobile"},
{"Not": {"PartMatches": {
"part": "RegDomain",
"matcher": {"InSet": "unmobile_reg_domain_blacklist"}
}}}
]},
"then": {"All": [
{"If": {
"if": {"PartIsOneOf": {"part": {"SubdomainSegment": 0}, "values": ["m", "mobile"]}},
"then": {"SetPart": {"part": {"SubdomainSegment": 0}, "value": null}}
}},
{"If": {
"if": {"PartIsOneOf": {"part": {"SubdomainSegment": 1}, "values": ["m", "mobile"]}},
"then": {"SetPart": {"part": {"SubdomainSegment": 1}, "value": null}}
}}
]}
}},
{"StringMap": {
"value": {"NamedPartitioning": {"named_partitioning": "hwwwwdpafqdnp_categories", "element": {"Part": "HostWithoutWWWDotPrefixAndFqdnPeriod"}}},
"map": {
"alibaba": {"RemoveQueryParams": ["spm"]},
"bluesky_embed_hosts": {"SetPart": {"part": "RegDomain", "value": "bsky.app"}},
"breezewiki": {"If": {
"if": {"All": [
{"FlagIsSet": "unbreezewiki"},
{"Not": {"PathIs": "/"}}
]},
"then": {"All": [
{"SetHost": "fandom.com"},
{"MovePart": {"from": {"PathSegment": 0}, "to": "Subdomain"}}
]},
"else": {"SetPart": {"part": "Host", "value": {"Var": "breezewiki_host"}}}
}},
"deviantart_embed_hosts": {"SetPart": {"part": "RegDomain", "value": "deviantart.com"}},
"discord_external": {"If": {
"if": {"FlagIsSet": "discord_unexternal"},
"then": {"SetPart": {
"part": "Whole",
"value": {"Modified": {
"value": {"Part": "Path"},
"modification": {"RegexReplace": {"regex": "/[^/]+/[^/]+/([^/]+)/([^/]+)/([^?#]+)", "replace": "$1://$2/$3"}}
}}
}}
}},
"disney": {"RemoveQueryParams": ["cid", "cmp", "att", "t", "DISCID", "r"]},
"instagram": {"RemoveQueryParams": ["igshid", "igsh", "xmt", "ig_mid", "e", "g"]},
"invidious": {"If": {
"if": {"All": [
{"FlagIsSet": "uninvidious"},
{"Not": {"PathIs": "/"}}
]},
"then": {"SetHost": "youtube.com"},
"else": {"SetPart": {"part": "Host", "value": {"Var": "invidious_host"}}}
}},
"lmgtfy": {"If": {
"if": {"HasQueryParam": "q"},
"then": {"SetPart": {
"part": "Whole",
"value": {"Join": {"values": [
"https://google.com/search?q=",
{"Part": {"RawQueryParam": "q"}}
]}}
}}
}},
"nitter": {"If": {
"if": {"All": [
{"FlagIsSet": "unnitter"},
{"Not": {"PathIs": "/"}}
]},
"then": {"SetHost": "x.com"},
"else": {"SetPart": {"part": "Host", "value": {"Var": "nitter_host"}}}
}},
"pixiv_embed_hosts": {"SetHost": "pixiv.net"},
"twitter_embed_hosts": {"SetHost": "x.com"}
}
}},
{"StringMap": {
"value": {"NamedPartitioning": {
"named_partitioning": "hwwwwdpafqdnp_categories",
"element": {"Modified": {
"value": {"Var": {"type": "JobContext", "name": "SOURCE_HOST"}},
"modification": {"IfSome": {"All": [{"StripMaybePrefix": "www."}, {"StripMaybeSuffix": "."}]}}
}}
}},
"map": {
"alibaba": {"RemoveQueryParams": ["spm", "file"]},
"bluesky": {"If": {
"if": {"All": [
{"PathStartsWith": "/profile/did:plc:"},
{"StringIsSome": {"Var": {"type": "TaskContext", "name": "bsky_handle"}}}
]},
"then": {"SetPart": {"part": {"PathSegment": 1}, "value": {"Var": {"type": "TaskContext", "name": "bsky_handle"}}}}
}},
"furaffinity": {"If": {
"if": {"StringIsSome": {"Var": {"type": "TaskContext", "name": "faci_site_name"}}},
"then": {"SetPart": {
"part": "Whole",
"value": {"Modified": {
"value": {"Var": {"type": "TaskContext", "name": "link_text"}},
"modification": {"Map": {
"value": {"Modified": {"value": {"Var": {"type": "TaskContext", "name": "faci_site_name"}}, "modification": "Lowercase"}},
"map": {
"bluesky" : {"RegexReplace": {"regex": "^(?:https?://)?(?:(?:www\\.)?bsky\\.app/)?(?:profile/)?([^/]+)$" , "replace": "https://bsky.app/profile/$1" }},
"cara" : {"RegexReplace": {"regex": "^(?:https?://)?(?:(?:www\\.)?cara\\.app/)?([^/]+)$" , "replace": "https://cara.app/$1" }},
"dealer's den" : {"RegexReplace": {"regex": "^(?:https?://)?(?:(?:www\\.)?thedealersden\\.com/)?(?:store/)?([^/]+)$" , "replace": "https://thedealersden.com/store/$1"}},
"deviantart" : {"RegexReplace": {"regex": "^(?:https?://)?(?:www\\.)?(?:([^.]+)\\.)?(?:deviantart\\.com/?)?([^/]*)$" , "replace": "https://deviantart.com/$1$2" }},
"etsy" : {"RegexReplace": {"regex": "^(?:https?://)?(?:(?:www\\.)?etsy\\.com/)?(?:shop/)?([^/]+)$" , "replace": "https://etsy.com/shop/$1" }},
"facebook" : {"RegexReplace": {"regex": "^(?:https?://)?(?:(?:www\\.)?facebook\\.com/)?([^/]+)$" , "replace": "https://facebook.com/$1" }},
"furry network": {"RegexReplace": {"regex": "^(?:https?://)?(?:(?:www\\.)?furrynetwork\\.com/)?([^/]+)$" , "replace": "https://furrynetwork.com/$1" }},
"inkbunny" : {"RegexReplace": {"regex": "^(?:https?://)?(?:(?:www\\.)?inkbunny\\.net/)?([^/]+)$" , "replace": "https://inkbunny.net/$1" }},
"itaku" : {"RegexReplace": {"regex": "^(?:https?://)?(?:(?:www\\.)?itaku\\.ee/)?(?:profile/)?([^/]+)$" , "replace": "https://itaku.ee/profile/$1" }},
"ko-fi" : {"RegexReplace": {"regex": "^(?:https?://)?(?:(?:www\\.)?ko-fi\\.com/)?([^/]+)$" , "replace": "https://ko-fi.com/$1" }},
"patreon" : {"RegexReplace": {"regex": "^(?:https?://)?(?:(?:www\\.)?patreon\\.com/)?([^/]+)$" , "replace": "https://patreon.com/$1" }},
"picarto" : {"RegexReplace": {"regex": "^(?:https?://)?(?:(?:www\\.)?picarto\\.tv/)?([^/]+)$" , "replace": "https://picarto.tv/$1" }},
"piczel" : {"RegexReplace": {"regex": "^(?:https?://)?(?:(?:www\\.)?piczel\\.tv/)?(?:watch/)?([^/]+)$" , "replace": "https://piczel.tv/watch/$1" }},
"pixiv" : {"RegexReplace": {"regex": "^(?:https?://)?(?:(?:www\\.)?pixiv\\.net/)?(?:[a-z-]/)?(?:users/)?([^/]+)$", "replace": "https://pixiv.net/en/users/$1" }},
"sofurry" : {"RegexReplace": {"regex": "^(?:https?://)?(?:www\\.)?([^.]+)\\.sofurry\\.com/?$" , "replace": "https://$1.sofurry.com" }},
"steam" : {"RegexReplace": {"regex": "^(?:https?://)?(?:(?:www\\.)?steamcommunity\\.com/)?(?:id/)?([^/]+)$" , "replace": "https://steamcommunity.com/id/$1" }},
"transfur" : {"RegexReplace": {"regex": "^(?:https?://)?(?:(?:www\\.)?transfur\\.com/)?(?:users/)?([^/]+)$" , "replace": "https://transfur.com/users/$1" }},
"tumblr" : {"RegexReplace": {"regex": "^(?:https?://)?(?:www\\.)?(?:([^.]+)\\.)?(?:tumblr\\.com/?)?([^/]*)$" , "replace": "https://$1$2.tumblr.com" }},
"twitch" : {"RegexReplace": {"regex": "^(?:https?://)?(?:(?:www\\.)?twitch\\.tv/)?([^/]+)$" , "replace": "https://twitch.tv/$1" }},
"twitter" : {"RegexReplace": {"regex": "^(?:https?://)?(?:(?:www\\.)?(?:twitter|x)\\.com/)?@?([^/]+)$" , "replace": "https://x.com/$1" }},
"weasyl" : {"RegexReplace": {"regex": "^(?:https?://)?(?:(?:www\\.)?weasyl\\.com/)?~?([^/]+)$" , "replace": "https://weasyl.com/~$1" }},
"x" : {"RegexReplace": {"regex": "^(?:https?://)?(?:(?:www\\.)?(?:twitter|x)\\.com/)?@?([^/]+)$" , "replace": "https://x.com/$1" }},
"youtube" : {"RegexReplace": {"regex": "^(?:https?://)?(?:(?:www\\.)?youtube\\.com/)?([^/]+)$" , "replace": "https://youtube.com/$1" }}
},
"else": {"Error": "Unknown Furaffinity contact info like field."}
}}
}}
}}
}}
}
}},
{"PartMap": {
"comment_1": "If you can't get a certain domain to work here, it may be because Mozilla's Public Suffix List, therefore the psl crate, and therefore UrlPart consideres it a suffix.",
"comment_2": "There's a PartMap under this one for DomainSuffix. Try it there.",
"part": "RegDomain",
"map": {
"acer.com": {"RemoveQueryParamsMatching": {"Contains": {"at": "Start", "value": "internal_"}}},
"addons.mozilla.org": {"RemoveQueryParams": ["platform", "appver"]},
"alibaba.com": {"RemoveQueryParams": ["spm", "selectedCarrierCode", "fsb", "tracelog", "wx_navbar_tramsparent"]},
"amtrak.com": {"RemoveQueryParams": ["atv", "cmp"]},
"apexgamingpcs.com": {"RemoveQueryParams": ["linkId", "affluencerId"]},
"atom.bio": {"RemoveQueryParams": ["menu_origin"]},
"bbc.com": {"RemoveQueryParamsMatching": {"Contains": {"at": "Start", "value": "at_"}}},
"be.net": {"SetHost": "behance.net"},
"beacons.ai": {"RemoveQueryParamsMatching": {"Any": [
{"Contains": {"value": "refer", "at": "Start"}},
{"IsOneOf": ["pageViewSource", "show_back_button"]}
]}},
"bell.ca": {"All": [
{"RemoveQueryParams": ["INT"]},
{"If": {
"if": {"TreatErrorAsFail": {"PartContains": {"part": "Fragment", "at": "Start", "value": "INT="}}},
"then": {"SetPart": {"part": "Fragment", "value": null}}
}}
]},
"boosty.to": {"RemoveQueryParams": ["share"]},
"browserstack.com": {"ModifyPartIfSome": {
"part": "Fragment",
"modification": {"RemoveQueryParamsMatching": {"IsOneOf": ["ref", "source"]}}
}},
"bsky.social": {"If": {
"if": {"Not": {"SubdomainIsOneOf": ["www", null]}},
"then": {"SetPart": {
"part": "Whole",
"value": {"Join": {"values": ["https://bsky.app/profile/", {"Part": "Domain"}]}}
}}
}},
"cbc.ca": {"RemoveQueryParams": ["__vfz"]},
"cbsnews.com": {"RemoveQueryParams": ["ftag", "linkId"]},
"change.org": {"All": [
{"If": {
"if": {"PartContains": {"part": "Path", "value": "/exp/"}},
"then": {"ModifyPart": {"part": "Path", "modification": {"KeepBefore": "/exp/"}}}
}},
{"RemoveQueryParamsMatching": {"Contains": {"value": "recruit", "where": "Start"}}}
]},
"cnbc.com": {"RemoveQueryParams": ["par"]},
"cnn.com": {"All": [
{"RemoveQueryParams": ["bt_ee", "bt_ts"]},
{"If": {
"if": {"PartContains": {"part": {"PathSegment": -1}, "value": "h_", "at": "Start"}},
"then": {"SetPart": {"part": {"PathSegment": -1}, "value": null}}
}}
]},
"crunchyroll.com": {"RemoveQueryParams": ["referrer"]},
"deviantart.com": {"If": {
"if": {"Not": {"SubdomainIsOneOf": ["www", null]}},
"then": {"MovePart": {"from": "Subdomain", "to": {"BeforePathSegment": 0}}}
}},
"drinkctrl.com": {"RemoveQueryParams": ["redirect", "ref", "tid"]},
"duckduckgo.com": {"RemoveQueryParams": ["t", "atb", "ia"]},
"duckduckgogg42xjoc72x3sjasowoarfbgcmvfimaftt6twagswzczad.onion": {"RemoveQueryParams": ["t", "atb", "ia"]},
"facebook.com": {"If": {
"if": {"PathStartsWith": "/reel/"},
"then": "RemoveQuery",
"else": {"RemoveQueryParams": ["fs", "s", "mibextid", "rf", "share_url", "rdid"]}
}},
"fandom.com": {"All": [
{"PartMap": {
"part": {"PathSegment": 1},
"map": {
"Special:Search": {"RemoveQueryParams": ["scope", "navigationSearch"]}
}
}},
{"If": {
"if": {"FlagIsSet": "breezewiki"},
"then": {"All": [
{"CopyPart": {"from": "Subdomain", "to": {"BeforePathSegment": 0}}},
{"SetPart": {"part": "Host", "value": {"Var": "breezewiki_host"}}},
{"PartMap": {
"part": {"PathSegment": 2},
"map": {
"Special:Search": {"All": [
{"SetPart": {"part": {"PathSegment": 1}, "value": "search"}},
{"SetPart": {"part": {"PathSegment": 2}, "value": null}},
{"MovePart": {"from": {"QueryParam": "query"}, "to": {"QueryParam": "q"}}}
]}
}
}}
]}
}}
]},
"fori.io": {"SetHost": "foriio.com"},
"furaffinity.net": {"All": [
{"If": {
"if": {"All": [
{"FlagIsSet": "furaffinity_sfw"},
{"PartIsOneOf": {"part": "Subdomain", "values": ["www", null]}}
]},
"then": {"SetPart": {"part": "Subdomain", "value": "sfw"}}}
},
{"If": {
"if": {"All": [
{"FlagIsSet": "furaffinity_unsfw"},
{"SubdomainIs": "sfw"}
]},
"then": {"SetPart": {"part": "Subdomain", "value": null}}
}}
]},
"gelbooru.com": {"If": {
"if": {"PartIs": {"part": {"QueryParam": "page"}, "value": "post"}},
"then": {"RemoveQueryParams": ["tags"]}
}},
"go.com": {"RemoveQueryParams": ["cid", "cmp", "att", "t", "DISCID", "r"]},
"gofundme.com": {"RemoveQueryParams": ["attribution_id", "ts", "v"]},
"goodreads.com": {"If": {
"if": {"PathStartsWith": "/book/show/"},
"then": "RemoveQuery",
"else": {"RemoveQueryParams": ["ref_"]}
}},
"history.com": {"If": {
"if": {"TreatErrorAsFail": {"PartMatches": {"part": "Fragment", "matcher": {"Contains": {"value": "link_time", "at": "Start"}}}}},
"then": {"SetPart": {"part": "Fragment", "value": null}}
}},
"hp.com": {"RemoveQueryParamsMatching": {"Any": [
{"IsOneOf": ["jumpid", "_its", "adcampaigngroup", "campaignID", "source", "subacctid", "subacctname"]},
{"Contains": {"value": "sv_", "at": "Start"}}
]}},
"hulu.com": {"RemoveQueryParams": ["from"]},
"inkbunny.net": {"If": {
"if": {"PathIs": "/submissionsviewall.php"},
"then": {"RemoveQueryParams": ["rid"]}
}},
"instagram.com": {"If": {
"if": {"All": [
{"FlagIsSet": "instagram_unprofilecard"},
{"PartIs": {"part": {"PathSegment": 1}, "value": "profilecard"}}
]},
"then": {"SetPart": {"part": {"PathSegment": 1}, "value": null}}
}},
"ipetitions.com": {"If": {
"if": {"PathStartsWith": "/petition/"},
"then": "RemoveQuery"
}},
"lenovo.com": {"RemoveQueryParams": ["IPromoID", "orgRef"]},
"linktr.ee": {"RemoveQueryParamsMatching": {"Any": [
{"IsOneOf": ["ltsid"]},
{"Contains": {"value": "lt_utm", "at": "Start"}}
]}},
"loblaws.ca": {"RemoveQueryParams": ["navid", "icid", "icta"]},
"marshmallow-qa.com": {"RemoveQueryParams": ["t"]},
"marvel.com": {"RemoveQueryParams": ["cid", "cmp", "att", "t", "DISCID", "r"]},
"minds.com": {"RemoveQueryParams": ["referrer"]},
"nature.com": {"RemoveQueryParams": ["sharing_token"]},
"overpass-turbo.eu": {"If": {
"if": {"All": [
{"PathStartsWith": "/s/"},
{"Not": {"FlagIsSet": "no_network"}}
]},
"then": {"All": [
{"Common": "universal"},
{"ExpandRedirect": {}}
]}
}},
"patreon.com": {"RemoveQueryParams": ["redirect_uri", "fan_landing", "fromConcierge", "redirect"]},
"pawoo.net": {"RemoveQueryParams": ["provider"]},
"pixiv.net": {"If": {
"if": {"PathIs": "/member.php"},
"then": {"All": [
{"SetPart": {"part": "Path", "value": "/users"}},
{"CopyPart": {"from": {"QueryParam": "id"}, "to": "NextPathSegment"}},
"RemoveQuery"
]}
}},
"reddit.com": {"PartMap": {
"part": {"PathSegment": 0},
"map": {
"search": {"RemoveQueryParams": ["cid", "share_id"]},
"domain": {"AllowQueryParams": ["count", "after"]}
},
"else": {"AllowQueryParams": ["f"]}
}},
"rule34.xxx": {"If": {
"if": {"All": [
{"FlagIsSet": "remove_unused_search_query"},
{"PartIs": {"part": {"QueryParam": "s"}, "value": "view"}}
]},
"then": {"RemoveQueryParams": ["tags"]}
}},
"snapchat.com": {"RemoveQueryParams": ["purpose", "sp"]},
"spotify.com": {"All": [
{"If": {
"if": {"PartIs": {"part": {"PathSegment": 1}, "value": "album"}},
"then": {"SetPart": {"part": {"PathSegment": 0}, "value": null}}
}},
{"If": {
"if": {"PathStartsWith": "/album/"},
"then": "RemoveQuery",
"else": {"RemoveQueryParams": ["si"]}
}}
]},
"stackoverflow.com": {"RemoveQueryParams": ["so_medium", "so_source", "c"]},
"sta.sh": {"All": [
{"SetPart": {"part": "Host", "value": "deviantart.com"}},
{"SetPart": {"part": {"BeforePathSegment": 0}, "value": "stash"}}
]},
"steampowered.com": {"RemoveQueryParams": ["snr"]},
"subscribestar.adult": {"RemoveQueryParams": ["redirect_notice"]},
"support.google.com": {"AllowQueryParams": ["q"]},
"teepublic.com": {"All": [
{"If": {
"if": {"TreatErrorAsFail": {"PartContains": {"part": "Fragment", "value": "D1V", "at": "End"}}},
"then": {"SetPart": {"part": "Fragment", "value": null}}
}},
{"RemoveQueryParams": ["countrycode"]}
]},
"teespring.com": "RemoveQuery",
"theguardian.com": {"RemoveQueryParams": ["CMP"]},
"thelancet.com": {"If": {
"if": {"PartIsOneOf": {"part": {"PathSegment": 0}, "values": ["commissions", "journals"]}},
"then": "RemoveQuery"
}},
"theonion.com": {"AllowQueryParams": ["s"]},
"thrn.co": {"All": [
{"SetHost": "throne.com"},
{"SetPart": {"part": {"PathSegment": 0}, "value": null}}
]},
"tiktok.com": {"RemoveQueryParamsMatching": {"Any": [
{"IsOneOf": ["checksum", "source", "u_code", "timestamp", "user_id", "enable_checksum"]},
{"ContainsAny": {"values": ["_", "sec_", "ug", "is_from", "sender", "share", "social_"], "at": "Start"}}
]}},
"tumblr.com": {"All": [
{"If": {
"if": {"HasQueryParam": "redirect_to"},
"then": {"All": [
{"CopyPart": {"from": {"QueryParam": "redirect_to"}, "to": "Path"}},
"RemoveQuery"
]}
}},
{"If": {
"if": {"PathIs": "/safe-mode"},
"then": {"GetUrlFromQueryParam": "url"}
}},
{"If": {
"if": {"PathStartsWith": "/login_required/"},
"then": {"SetPart": {"part": {"PathSegment": 0}, "value": null}}
}},
{"If": {
"if": {"Not": {"PathStartsWith": "/search/"}},
"then": "RemoveQuery"
}},
{"If": {
"if": {"All": [
{"FlagIsSet": "tumblr_unsubdomain_blog"},
{"Not": {"SubdomainIsOneOf": ["at", "www", null]}}
]},
"then": {"All": [
{"If": {
"if": {"PathStartsWith": "/post/"},
"then": {"SetPart": {"part": {"PathSegment": 0}, "value": null}}
}},
{"MovePart": {"from": "Subdomain", "to": {"BeforePathSegment": 0}}}
]}
}}
]},
"twitter.com": {"SetPart": {"part": "RegDomain", "value": "x.com"}},
"washingtonpost.com": {"All": [
{"If": {
"if": {"TreatErrorAsFail": {"PartContains": {"part": "Fragment", "value": "link", "at": "Start"}}},
"then": {"SetPart": {"part": "Fragment", "value": null}}
}},
{"RemoveQueryParams": ["itid", "nid", "arcId", "account_location", "tid", "oscode", "s_l", "acqEntType", "p", "s_ct"]}
]},
"xiaohongshu.com": {"RemoveQueryParamsMatching": {"ContainsAny": {
"values": ["xsec", "xhs", "app", "share"],
"at": "Start"
}}},
"yahoo.com": {"RemoveQueryParams": ["p", "src", "pspid", "activity", ".src", "specId", "y"]},
"youtu.be": {"All": [
{"RemoveQueryParams": ["si", "feature", "pp"]},
{"SetHost" : "youtube.com"},
{"CopyPart": {"from": {"PathSegment": 0}, "to": {"QueryParam": "v"}}},
{"SetPart" : {"part": "Path", "value": "/watch"}}
]},
"youtube.com": {"All": [
{"RemoveQueryParams": ["si", "feature", "pp", "app", "ab_channel"]},
{"If": {
"if": {"PartMap": {
"part": {"PathSegment": 0},
"map": {
"shorts": {"FlagIsSet": "youtube_unshort"},
"live" : {"FlagIsSet": "youtube_unlive"},
"embed" : {"FlagIsSet": "youtube_unembed"}
}
}},
"then": {"All": [
{"CopyPart": {"from": {"PathSegment": 1}, "to": {"QueryParam": "v"}}},
{"SetPart": {"part": "Path", "value": "/watch"}}
]}
}},
{"If": {
"if": {"All": [
{"FlagIsSet": "youtube_unplaylist"},
{"PathStartsWith": "/watch"}
]},
"then": {"RemoveQueryParams": ["list"]}
}},
{"If": {
"if": {"Not": {"FlagIsSet": "youtube_keep_sub_confirmation"}},
"then": {"RemoveQueryParams": ["sub_confirmation"]}
}},
{"If": {
"if": {"FlagIsSet": "invidious"},
"then": {"SetPart": {"part": "Host", "value": {"Var": "invidious_host"}}}
}}
]}
}
}},
{"PartMap": {
"part": "DomainSuffix",
"map": {
"carrd.co": {"RemoveQueryParams": ["ref"]}
}
}},
{"PartMap": {
"part": "HostWithoutWWWDotPrefixAndFqdnPeriod",
"map": {
"aliexpress.com": {"If": {
"if": {"PathStartsWith": "/item/"},
"then": "RemoveQuery"
}},
"apps.apple.com": {"RemoveQueryParams": ["pt", "ct", "mt"]},
"at.tumblr.com": {"All": [
"RemoveQuery",
{"SetPart": {"part": {"PathSegment": 1}, "value": null}},
{"SetHost": "tumblr.com"}
]},
"bsky.app": {"All": [
{"If": {
"if": {"PathStartsWith": "/profile/"},
"then": {"All": [
{"If": {
"if": {"PartContains": {"part": {"PathSegment": 1}, "at": "End", "value": ".bsky"}},
"then": {"ModifyPart": {"part": {"PathSegment": 1}, "modification": {"Append": ".social"}}}
}},
{"If": {
"if": {"All": [
{"Not": {"PartContains": {"part": {"PathSegment": 1}, "value": "."}}},
{"Not": {"PartContains": {"part": {"PathSegment": 1}, "value": ":"}}}
]},
"then": {"ModifyPart": {"part": {"PathSegment": 1}, "modification": {"Append": ".bsky.social"}}}
}}
]}
}},
{"If": {
"if": {"FlagIsSet": "embed_compatibility"},
"then": {"SetPart": {"part": "RegDomain", "value": "fxbsky.app"}}
}}
]},
"danbooru.donmai.us": {"If": {
"if": {"PathStartsWith": "/posts"},
"then": {"RemoveQueryParams": ["q"]}
}},
"drive.google.com": {"If": {
"if": {"All": [
{"FlagIsSet": "unmobile"},
{"PathStartsWith": "/drive/mobile/"}
]},
"then": {"ModifyPart": {
"part": "Path",
"modification": {"Replacen": {"find": "/mobile", "replace": "", "count": 1}}
}}
}},
"l.mlive.com": {"Common": {
"name": "extract_from_page",
"args": {
"string_modifications": {
"extractor": {"All": [
{"StripBefore": "<meta http-equiv=\"refresh\""},
{"GetHtmlAttribute": "content"},
{"KeepAfter": "url="}
]}
}
}
}},
"overview.mail.yahoo.com": "RemoveQuery",
"play.google.com": {"RemoveQueryParams": ["referrer"]},
"sale.alibaba.com": {"If": {
"if": {"PathStartsWith": "/p/"},
"then": {"RemoveQueryParams": ["wx_navbar_transparent", "path", "ncms_spm", "prefetchKey", "wx_xpage", "spm", "cardType"]}
}},
"support.google.com": {"RemoveQueryParams": ["ref_topic"]},
"wlo.link": {"SetHost": "link.space"},
"x.com": {"All": [
{"If": {
"if": {"PathIs": "/i/flow/login"},
"then": {"SetPart": {
"part": "Whole",
"value": {"Join": {"values": ["https://x.com", {"Part": {"QueryParam": "redirect_after_login"}}]}}
}}
}},
{"If": {
"if": {"StringIsSome": {"Var": {"type": "TaskContext", "name": "twitter_handle"}}},
"then": {"ModifyPart": {
"part": "Path",
"modification": {"RegexReplace": {
"regex": "i/web|i/user/\\d+",
"replace": {"Var": {"type": "TaskContext", "name": "twitter_handle"}}
}}
}}
}},
{"If": {
"if": {"Not": {"PathStartsWith": "/intent/"}},
"then": {"AllowQueryParams": ["q", "f", "pf", "lf"]}
}},
{"If": {
"if": {"All": [
{"FlagIsSet": "embed_compatibility"},
{"PartIs": {"part": {"PathSegment": 1}, "value": "status"}}
]},
"then": {"SetPart": {"part": "Host", "value": {"Var": "twitter_embed_host"}}}
}},
{"If": {
"if": {"FlagIsSet": "nitter"},
"then": {"SetPart": {"part": "Host", "value": {"Var": "nitter_host"}}}
}}
]}
}
}},
{"PartMap": {
"part": "DomainMiddle",
"map": {
"amazon": {"All": [
{"If": {
"if": {"PartContains": {"part": "Path", "value": "/dp/"}},
"then": {"All": [
{"AllowQueryParams": ["aod"]},
{"ModifyPart": {"part": "Path", "modification": {"StripBefore": "/dp/"}}}
]},
"else": {"PartMap": {
"part": "Path",
"map": {
"/s": {"AllowQueryParams": ["k", "i", "rh", "bbn"]},
"/gp/buyagain": {"AllowQueryParams": ["ats"]},
"/gp/customer-reviews": "RemoveQuery",
"/amazonprime": "RemoveQuery"
},
"else": {"If": {
"if": {"PathStartsWith": "/gp/offer-listing/"},
"then": {"All": [
{"ModifyPart": {"part": "Path", "modification": {"Replacen": {"find": "gp/offer-listing", "replace": "dp", "count": 1}}}},
{"SetPart": {"part": "Query", "value": "aod=1"}}
]},
"else": {"RemoveQueryParamsMatching": {"Any": [
{"IsOneOf": ["ref", "ref_", "ie", "_encoding", "content-id", "store_ref"]},
{"Contains": {"value": "pd_", "at": "Start"}},
{"Contains": {"value": "pf_", "at": "Start"}}
]}}
}}
}}
}},
{"If": {
"if": {"PartContains": {"part": {"PathSegment": -1}, "at": "Start", "value": "ref="}},
"then": {"SetPart": {"part": {"PathSegment": -1}, "value": null}}
}}
]},
"bestbuy": {"RemoveQueryParams": ["icmp"]},
"ebay": {"If": {
"if": {"PathStartsWith": "/itm/"},
"then": "RemoveQuery"
}},
"google": {"All": [
{"PartMap": {
"part": "Path",
"map": {
"/search": {"AllowQueryParams": ["hl", "q", "tbm", "p", "udm", "filter", "vsrid", "vsdim", "vsint", "ins_vfs", "nfpr"]},
"/setprefs": {"RemoveQueryParams": ["sa", "ved", "sca_esv", "usp"]}
},
"else": {"RemoveQueryParams": ["sca_esv", "usp"]}
}},
{"ModifyPartIfSome": {
"part": "Fragment",
"modification": {"RemoveQueryParamsMatching": {"IsOneOf": ["vhid", "vssid"]}}
}}
]},
"onion": {"If": {
"if": {"FlagIsSet": "tor2web2tor"},
"then": {"SetPart": {"part": "DomainSuffix", "value": null}}
}},
"pinterest": {"If": {
"if": {"Not": {"PathStartsWith": "/search"}},
"then": "RemoveQuery"
}},
"walmart": {"If": {
"if": {"PartIs": {"part": {"PathSegment": 1}, "value": "ip"}},
"then": {"SetPart": {"part": {"PathSegment": 2}, "value": null}}
}}
}
}},
{"Common": "universal"}
]}
}}
]
}