From 26f921ab1d1db595ee11171c1142bfdfdd06ac37 Mon Sep 17 00:00:00 2001 From: matthieu42morin Date: Mon, 11 Mar 2024 23:59:02 +0100 Subject: [PATCH] ff user overrides + plugins and scripts for parsing --- .../duplicate_parser.py | 29 + mozilla/ff/QuickPrefsParser.py | 40 + mozilla/ff/README.md | 27 + mozilla/ff/policies.json | 21 + .../individual_list/allow.json | 0 .../individual_list/allow_captchas.json | 13 + .../individual_list/allow_content_images.json | 14 + .../individual_list/allow_favicons.json | 14 + .../allow_user_profile_imgs.json | 14 + .../individual_list/block_3rdp_fonts.json | 14 + .../block_3rdp_scripts&frames.json | 26 + .../block_WebRTC&XHR&Cryptominers.json | 38 + ...r_header13654851468514685134685134865.json | 18 + .../other-skip-image-downsamplers.json | 23 + .../individual_list/privacy-amazon.json | 121 + .../individual_list/privacy-bing.json | 39 + .../privacy-block-beacon-and-ping.json | 17 + .../privacy-common-images.json | 704 +++++ .../privacy-common-params.json | 105 + .../privacy-common-redirectors.json | 146 ++ .../individual_list/privacy-duckduckgo.json | 21 + .../individual_list/privacy-facebook.json | 83 + .../individual_list/privacy-google.json | 722 ++++++ .../individual_list/privacy-here.json | 32 + .../individual_list/privacy-linkedin.json | 37 + .../individual_list/privacy-qwant-lite.json | 22 + .../individual_list/privacy-youtube.json | 72 + .../individual_list/same_origin_images.json | 15 + .../individual_list/tracking_images.json | 48 + .../request-control-rules.json | 2297 +++++++++++++++++ mozilla/ff/user-overrides.js | 161 ++ 31 files changed, 4933 insertions(+) create mode 100644 great_firewall_of_my_behind/duplicate_parser.py create mode 100644 mozilla/ff/QuickPrefsParser.py create mode 100644 mozilla/ff/README.md create mode 100644 mozilla/ff/policies.json create mode 100644 mozilla/ff/requests_control/individual_list/allow.json create mode 100644 mozilla/ff/requests_control/individual_list/allow_captchas.json create mode 100644 mozilla/ff/requests_control/individual_list/allow_content_images.json create mode 100644 mozilla/ff/requests_control/individual_list/allow_favicons.json create mode 100644 mozilla/ff/requests_control/individual_list/allow_user_profile_imgs.json create mode 100644 mozilla/ff/requests_control/individual_list/block_3rdp_fonts.json create mode 100644 mozilla/ff/requests_control/individual_list/block_3rdp_scripts&frames.json create mode 100644 mozilla/ff/requests_control/individual_list/block_WebRTC&XHR&Cryptominers.json create mode 100644 mozilla/ff/requests_control/individual_list/block_referer_header13654851468514685134685134865.json create mode 100644 mozilla/ff/requests_control/individual_list/other-skip-image-downsamplers.json create mode 100644 mozilla/ff/requests_control/individual_list/privacy-amazon.json create mode 100644 mozilla/ff/requests_control/individual_list/privacy-bing.json create mode 100644 mozilla/ff/requests_control/individual_list/privacy-block-beacon-and-ping.json create mode 100644 mozilla/ff/requests_control/individual_list/privacy-common-images.json create mode 100644 mozilla/ff/requests_control/individual_list/privacy-common-params.json create mode 100644 mozilla/ff/requests_control/individual_list/privacy-common-redirectors.json create mode 100644 mozilla/ff/requests_control/individual_list/privacy-duckduckgo.json create mode 100644 mozilla/ff/requests_control/individual_list/privacy-facebook.json create mode 100644 mozilla/ff/requests_control/individual_list/privacy-google.json create mode 100644 mozilla/ff/requests_control/individual_list/privacy-here.json create mode 100644 mozilla/ff/requests_control/individual_list/privacy-linkedin.json create mode 100644 mozilla/ff/requests_control/individual_list/privacy-qwant-lite.json create mode 100644 mozilla/ff/requests_control/individual_list/privacy-youtube.json create mode 100644 mozilla/ff/requests_control/individual_list/same_origin_images.json create mode 100644 mozilla/ff/requests_control/individual_list/tracking_images.json create mode 100644 mozilla/ff/requests_control/request-control-rules.json create mode 100644 mozilla/ff/user-overrides.js diff --git a/great_firewall_of_my_behind/duplicate_parser.py b/great_firewall_of_my_behind/duplicate_parser.py new file mode 100644 index 0000000..936489b --- /dev/null +++ b/great_firewall_of_my_behind/duplicate_parser.py @@ -0,0 +1,29 @@ +# takes lines without duplicates from one file and outputs them in another +# Useful for filters, hosts, etc. +import os + +seen = set() +filename = './hosts.txt' # f +filename_out = './hosts_new.txt' # fout + +try: + with open(filename, 'r+') as f, open('./hosts_new.txt', 'w') as fout: + lines = f.readlines() + if not lines: + print("The file is empty.") + exit(0) + print(f"Read {len(lines)} lines from the file.") + f.seek(0) + f.truncate() + for line in lines: + line_lower = line.lower().strip() # convert line, strip whitespace - is it necessary? + if line_lower not in seen: + fout.write(line) + seen.add(line_lower) + print(f"Wrote {len(seen)} unique lines to fout.") +except FileNotFoundError: + print(f"File not found: {filename}") +except PermissionError: + print(f"Permission denied. Please run the script as administrator/root.") +except Exception as e: + print(f"An error occurred: {e}") diff --git a/mozilla/ff/QuickPrefsParser.py b/mozilla/ff/QuickPrefsParser.py new file mode 100644 index 0000000..e4d4e38 --- /dev/null +++ b/mozilla/ff/QuickPrefsParser.py @@ -0,0 +1,40 @@ +def format_prefs(input_string): + # Split the input string by newlines to get individual lines + lines = input_string.strip().split('\n') + formatted_lines = [] + + for line in lines: + # Split each line by space to separate the key and value + parts = line.split(' ') + key = parts[0] + value = ' '.join(parts[1:]) + + # Format the value correctly based on its type + if value in ('true', 'false'): + formatted_value = value.lower() # Keep booleans lowercase + elif value.isdigit(): + formatted_value = value # Keep integers as is + else: + # Wrap strings in quotes, unless they are already wrapped + formatted_value = value if value.startswith('"') and value.endswith('"') else f'"{value}"' + + # Create the formatted preference string + formatted_line = f'user_pref("{key}", {formatted_value});' + formatted_lines.append(formatted_line) + + # Join the formatted lines back together with newlines + return '\n'.join(formatted_lines) + +# Example usage: +input_string = """ +browser.safebrowsing.malware.enabled false +browser.safebrowsing.phishing.enabled false +browser.safebrowsing.downloads.enabled false +browser.safebrowsing.downloads.remote.enabled false +browser.safebrowsing.downloads.remote.url "" +browser.safebrowsing.downloads.remote.block_potentially_unwanted false +browser.safebrowsing.downloads.remote.block_uncommon false +browser.safebrowsing.allowOverride false +""" + +print(format_prefs(input_string)) \ No newline at end of file diff --git a/mozilla/ff/README.md b/mozilla/ff/README.md new file mode 100644 index 0000000..f390ad1 --- /dev/null +++ b/mozilla/ff/README.md @@ -0,0 +1,27 @@ +# An implementation of Arkenfox/user.js, specifically its overrides + +to know more read the [wiki](https://github.com/arkenfox/user.js/wiki/) + +## Firefox is allegedly less secure than Chrome, but more community supported in terms of privacy + +The perhaps smart thing if one were absolutely focused on security is castrate Chromium to great lengths to degoogle it and build it yourself... + +## Watch out for Graphene OS Vanadium + +[Official description](https://grapheneos.org/features#vanadium) + +[And it's github repo](https://github.com/GrapheneOS/Vanadium) + +Before or if it comes to pc distros, you can use my parser: + +[QuickPrefsParser.py](/QuickPrefsParser.py) +Just copy prefs from about:config in ff and you can type them line by line like this with their values: +`identity.fxaccounts.enabled false` + +get it in the input string exactly in the same format it is now with one space between key and value, then: + +`identity.fxaccounts.enabled false => user_pref("identity.fxaccounts.enabled", false);` + +## Acknowledgements + +One billion sources, especially thankful to maintainers of arkenfox and uBlock Origin diff --git a/mozilla/ff/policies.json b/mozilla/ff/policies.json new file mode 100644 index 0000000..20f6e2e --- /dev/null +++ b/mozilla/ff/policies.json @@ -0,0 +1,21 @@ +{ + "_$schema": "https://mozilla.github.io/policy-templates/", + "policies": { + "DisableFirefoxStudies": true, + "DisablePocket": true, + "FirefoxSuggest": { + "WebSuggestions": false, + "SponsoredSuggestions": false, + "ImproveSuggest": false + }, + "SearchEngines": { + "Remove": ["Google", "Bing"] + }, + "DisableSetDesktopBackground": true, + "DontCheckDefaultBrowser": true, + "EncryptedMediaExtensions": { + "Enabled": false, + "Locked": false + } + } + } \ No newline at end of file diff --git a/mozilla/ff/requests_control/individual_list/allow.json b/mozilla/ff/requests_control/individual_list/allow.json new file mode 100644 index 0000000..e69de29 diff --git a/mozilla/ff/requests_control/individual_list/allow_captchas.json b/mozilla/ff/requests_control/individual_list/allow_captchas.json new file mode 100644 index 0000000..6075856 --- /dev/null +++ b/mozilla/ff/requests_control/individual_list/allow_captchas.json @@ -0,0 +1,13 @@ +{ + "title": "Allow CAPTCHAs", + "tag": "allow-captchas", + "pattern": { + "scheme": ["http","https"], + "host": ["*"], + "path": ["*captcha*"], + "origin": "same-domain" + }, + "types": ["image"], + "action": "whitelist", + "active": true +} \ No newline at end of file diff --git a/mozilla/ff/requests_control/individual_list/allow_content_images.json b/mozilla/ff/requests_control/individual_list/allow_content_images.json new file mode 100644 index 0000000..691b51c --- /dev/null +++ b/mozilla/ff/requests_control/individual_list/allow_content_images.json @@ -0,0 +1,14 @@ +[ + { + "title": "Allow content images", + "tag": "allow-content-images", + "pattern": { + "scheme": ["http", "https"], + "host": ["example.com", "example.org"], + "path": ["*"] + }, + "types": ["image"], + "action": "whitelist", + "active": true + } +] \ No newline at end of file diff --git a/mozilla/ff/requests_control/individual_list/allow_favicons.json b/mozilla/ff/requests_control/individual_list/allow_favicons.json new file mode 100644 index 0000000..b974829 --- /dev/null +++ b/mozilla/ff/requests_control/individual_list/allow_favicons.json @@ -0,0 +1,14 @@ +[ +{ + "title": "Allow favicons", + "tag": "allow-favicons", + "pattern": { + "scheme": ["http","https"], + "host": ["*"], + "path": ["/favicon.ico"] + }, + "types": ["image"], + "action": "whitelist", + "active": true + } +] \ No newline at end of file diff --git a/mozilla/ff/requests_control/individual_list/allow_user_profile_imgs.json b/mozilla/ff/requests_control/individual_list/allow_user_profile_imgs.json new file mode 100644 index 0000000..4a31ea6 --- /dev/null +++ b/mozilla/ff/requests_control/individual_list/allow_user_profile_imgs.json @@ -0,0 +1,14 @@ +[ + { + "title": "Allow user profile images", + "tag": "allow-user-images", + "pattern": { + "scheme": ["http", "https"], + "host": ["*"], + "path": ["/avatars/*", "/profile/*"] + }, + "types": ["image"], + "action": "whitelist", + "active": true + } +] \ No newline at end of file diff --git a/mozilla/ff/requests_control/individual_list/block_3rdp_fonts.json b/mozilla/ff/requests_control/individual_list/block_3rdp_fonts.json new file mode 100644 index 0000000..eb56e45 --- /dev/null +++ b/mozilla/ff/requests_control/individual_list/block_3rdp_fonts.json @@ -0,0 +1,14 @@ +[ + { + "title": "Block third-party fonts", + "tag": "block-fonts", + "pattern": { + "scheme": ["http", "https"], + "host": ["*.fonts.com", "*.fonts.net", "*.fontawesome.com", "fonts.google.com"], + "origin": "cross-domain" + }, + "types": ["font"], + "action": "block", + "active": true + } +] \ No newline at end of file diff --git a/mozilla/ff/requests_control/individual_list/block_3rdp_scripts&frames.json b/mozilla/ff/requests_control/individual_list/block_3rdp_scripts&frames.json new file mode 100644 index 0000000..661dc44 --- /dev/null +++ b/mozilla/ff/requests_control/individual_list/block_3rdp_scripts&frames.json @@ -0,0 +1,26 @@ +[ + { + "title": "Block third-party scripts", + "tag": "block-scripts", + "pattern": { + "scheme": ["http", "https"], + "host": ["*.google-analytics.com", "*.doubleclick.net", "*.facebook.net"], + "origin": "cross-domain" + }, + "types": ["script"], + "action": "block", + "active": true + }, + { + "title": "Block third-party frames", + "tag": "block-frames", + "pattern": { + "scheme": ["http", "https"], + "host": ["*.youtube.com", "*.vimeo.com"], + "origin": "cross-domain" + }, + "types": ["sub_frame"], + "action": "block", + "active": true + } +] \ No newline at end of file diff --git a/mozilla/ff/requests_control/individual_list/block_WebRTC&XHR&Cryptominers.json b/mozilla/ff/requests_control/individual_list/block_WebRTC&XHR&Cryptominers.json new file mode 100644 index 0000000..c2a3257 --- /dev/null +++ b/mozilla/ff/requests_control/individual_list/block_WebRTC&XHR&Cryptominers.json @@ -0,0 +1,38 @@ +[ + { + "title": "Block webcam/mic access", + "tag": "block-media-devices", + "pattern": { + "scheme": ["http", "https"], + "host": ["*"], + "path": ["*"] + }, + "types": ["webRTC"], + "action": "block", + "active": true + }, + { + "title": "Prevent history sniffing", + "tag": "block-history-sniffing", + "pattern": { + "scheme": ["http", "https"], + "host": ["*"], + "path": ["/:window.navigator.userAgent*", "/:window.navigator.language*"] + }, + "types": ["xhr"], + "action": "cancel", + "active": true + }, + { + "title": "Block cryptominers", + "tag": "block-cryptominers", + "pattern": { + "scheme": ["http", "https"], + "host": ["*"], + "path": ["/cryptonight.wasm", "/coinhive.min.js"] + }, + "types": ["script"], + "action": "block", + "active": true + } +] \ No newline at end of file diff --git a/mozilla/ff/requests_control/individual_list/block_referer_header13654851468514685134685134865.json b/mozilla/ff/requests_control/individual_list/block_referer_header13654851468514685134685134865.json new file mode 100644 index 0000000..2842acc --- /dev/null +++ b/mozilla/ff/requests_control/individual_list/block_referer_header13654851468514685134685134865.json @@ -0,0 +1,18 @@ +[ + { + "title": "Block referer header", + "tag": "block-referer", + "pattern": { + "scheme": ["http", "https"], + "host": ["*"], + "path": ["*"] + }, + "types": ["xmlHttpRequest", "script", "stylesheet", "image", "font"], + "action": "setRequestHeader", + "active": true, + "setHeader": { + "name": "Referer", + "value": "" + } + } +] \ No newline at end of file diff --git a/mozilla/ff/requests_control/individual_list/other-skip-image-downsamplers.json b/mozilla/ff/requests_control/individual_list/other-skip-image-downsamplers.json new file mode 100644 index 0000000..15d6814 --- /dev/null +++ b/mozilla/ff/requests_control/individual_list/other-skip-image-downsamplers.json @@ -0,0 +1,23 @@ +{ + "uuid": "07f60a40-9293-406e-aba9-3926bdb0ef2c", + "pattern": { + "scheme": "*", + "host": [ + "*" + ], + "path": [ + "*" + ], + "includes": [ + "/\\/(ap_resize\\/ap_resize|image|imageproxy|resizer\\/resizer|safe_image)(.php)?\\?/" + ] + }, + "types": [ + "image" + ], + "action": "filter", + "active": true, + "title": "Skip image downsamplers", + "description": "This filter retrieves the original pictures from the original domains. Disabling this filter will restore the downsampled images.", + "tag": "skip-image-downsamplers" +} \ No newline at end of file diff --git a/mozilla/ff/requests_control/individual_list/privacy-amazon.json b/mozilla/ff/requests_control/individual_list/privacy-amazon.json new file mode 100644 index 0000000..90476f9 --- /dev/null +++ b/mozilla/ff/requests_control/individual_list/privacy-amazon.json @@ -0,0 +1,121 @@ +[ + { + "title": "Remove Amazon query parameters", + "description": "Removes all non-whitelisted query parameters on both Amazon store and Prime Video.", + "tag": "privacy-amazon", + "uuid": "6dc06a86-2356-4521-a0c5-08372846df15", + "pattern": { + "scheme": "*", + "host": [ + "*.amazon.*", + "*.primevideo.*" + ], + "path": [ + "*" + ], + "excludes": [ + "://www.amazon.*/ap/*", + "://www.amazon.*/gp/*" + ], + "topLevelDomains": [ + "ae", + "ca", + "cn", + "co.jp", + "co.uk", + "com", + "com.au", + "com.br", + "com.mx", + "com.tr", + "de", + "es", + "fr", + "in", + "it", + "nl", + "sa", + "se", + "sg" + ] + }, + "types": [ + "main_frame" + ], + "action": "filter", + "active": true, + "skipRedirectionFilter": true, + "paramsFilter": { + "values": [ + "_encoding", + "arb", + "cartInitiateId", + "claimToken", + "clientContext", + "field-brandtextbin", + "field-keywords", + "fromAnywhere", + "i", + "ie", + "intercept", + "isToBeGiftWrappedBefore", + "k", + "language", + "location", + "mgh", + "node", + "openid.*", + "pageId", + "partialCheckoutCart", + "proceedToCheckout", + "proceedToRetailCheckout", + "rh", + "url" + ], + "invert": true + } + }, + { + "title": "Skip Amazon Picasso redirect", + "description": "Skip Picasso redirect used on occasion by Amazon to track purchases", + "tag": "privacy-amazon", + "uuid": "816c76d6-ad2e-4f7c-94be-e2436c93fe34", + "pattern": { + "scheme": "*", + "host": [ + "*.amazon.*" + ], + "path": [ + "*/picassoRedirect.html/*" + ], + "topLevelDomains": [ + "ae", + "ca", + "cn", + "co.jp", + "co.uk", + "com", + "com.au", + "com.br", + "com.mx", + "com.tr", + "de", + "es", + "fr", + "in", + "it", + "nl", + "sa", + "se", + "sg" + ] + }, + "types": [ + "main_frame", + "sub_frame" + ], + "action": "redirect", + "active": true, + "redirectUrl": "https://{hostname}{search/.*url=(.*)/$1|decodeURIComponent}&alpha" + } +] diff --git a/mozilla/ff/requests_control/individual_list/privacy-bing.json b/mozilla/ff/requests_control/individual_list/privacy-bing.json new file mode 100644 index 0000000..586c84d --- /dev/null +++ b/mozilla/ff/requests_control/individual_list/privacy-bing.json @@ -0,0 +1,39 @@ +[ + { + "title": "Remove query parameters from Bing", + "description": "Removes possible tracking query parameters used by Bing", + "uuid": "f53e0a5e-d658-4da5-9b12-143e24c4e1ba", + "pattern": { + "scheme": "*", + "host": [ + "*.bing.com" + ], + "path": [ + "*" + ] + }, + "types": [ + "main_frame", + "sub_frame", + "image" + ], + "action": "filter", + "active": true, + "tag": "privacy-bing", + "paramsFilter": { + "values": [ + "cvid", + "ehk", + "form", + "lg", + "pq", + "qs", + "ru", + "sc", + "sk", + "sp" + ] + }, + "skipRedirectionFilter": true + } +] \ No newline at end of file diff --git a/mozilla/ff/requests_control/individual_list/privacy-block-beacon-and-ping.json b/mozilla/ff/requests_control/individual_list/privacy-block-beacon-and-ping.json new file mode 100644 index 0000000..7dd2147 --- /dev/null +++ b/mozilla/ff/requests_control/individual_list/privacy-block-beacon-and-ping.json @@ -0,0 +1,17 @@ +[ + { + "title": "Block Beacon and Ping requests", + "description": "Blocks Beacon and Ping requests. The Beacon API is often used for logging user activity and sending analytics data to the server.", + "tag": "block-beacon-ping", + "uuid": "32db1f93-f99d-4c45-8485-e5c7beec5a69", + "pattern": { + "allUrls": true + }, + "action": "block", + "active": true, + "types": [ + "beacon", + "ping" + ] + } +] \ No newline at end of file diff --git a/mozilla/ff/requests_control/individual_list/privacy-common-images.json b/mozilla/ff/requests_control/individual_list/privacy-common-images.json new file mode 100644 index 0000000..c426edf --- /dev/null +++ b/mozilla/ff/requests_control/individual_list/privacy-common-images.json @@ -0,0 +1,704 @@ +[ + { + "title": "1st filter for tracking parameters in images", + "description": "Inspired by GIF Tracking Protection webextension. Any excluded pattern should be part of another filter rule.", + "tag": "privacy-images-1", + "uuid": "6468e7a9-440d-4727-a09e-c1a5cc386948", + "pattern": { + "scheme": "*", + "host": [ + "*" + ], + "path": [ + "*" + ], + "excludes": [ + ".maps.api.here.com/maptile/2.1/maptile/", + "/:\\/\\/[a-z0-9\\.]+\\.amazonaws\\.com\\//", + "/:\\/\\/[a-z0-9]+\\.bing\\.com\\//", + "/:\\/\\/[a-z]{3,4}[0123]?\\.(google|googleapis|ggpht)\\.com\\/(maps\\/vt|cbk|kh)\\?/", + "/\\/(Satellite|BlobServer|StaticBS)(\\/[^\\/\\?]+)?\\?/", + "/\\/(ap_resize\\/ap_resize|image|imageproxy|resizer\\/resizer|safe_image)(.php)?\\?/", + "/\\/(i|fetch|image_gallery|thumb|thumbnail)(\\.php|\\/)?\\?|\\?img_?[iI]d=/", + "/\\?.*\\&(_nc_[a-z]{1,3}|oh|oe)=./", + "://c.disquscdn.com/get?url=", + "://streetviewpixels-pa.googleapis.com/v1/tile", + "://web.whatsapp.com/pp", + "://www.youtube.com/api/stats/watchtime" + ] + }, + "action": "filter", + "active": true, + "types": [ + "image", + "media" + ], + "paramsFilter": { + "values": [ + "*accesskeyid", + "*color", + "*expires", + "*file", + "*key", + "*key-pair-id", + "*lang", + "*language", + "*policy", + "*signature", + "*style", + "*styles", + "*token", + "auto", + "base_image", + "base_image_bucket_name", + "bbox", + "bboxsr", + "bg", + "blanktile", + "branch", + "cacheid", + "contentid", + "crop", + "csblobid", + "dpi", + "f", + "fg", + "field", + "fill", + "fit", + "font", + "format", + "h", + "hash", + "height", + "i10c", + "image", + "imagesr", + "inputformat", + "label", + "latex", + "layer", + "layers", + "line", + "mod", + "output", + "path-prefix", + "preview", + "provider", + "q", + "quality", + "request", + "resize", + "rotate", + "rule", + "scale*", + "scheme", + "service", + "sig", + "sign", + "size", + "srs", + "ssl", + "text", + "tile*", + "title", + "token-hash", + "token-time", + "transparent", + "trim", + "type", + "version", + "w", + "width", + "x", + "y", + "z", + "zoom" + ], + "invert": true + }, + "skipRedirectionFilter": true + }, + { + "uuid": "66f8aed7-3826-4bfb-83ba-9a1030d54456", + "pattern": { + "scheme": "*", + "host": [ + "*" + ], + "path": [ + "*" + ], + "includes": [ + "/\\/(i|fetch|image_gallery|thumb|thumbnail)(\\.php|\\/)?\\?|\\?img_?[iI]d=/" + ] + }, + "types": [ + "image" + ], + "action": "filter", + "active": true, + "title": "2nd filter for tracking parameters in images", + "paramsFilter": { + "values": [ + "crop", + "download", + "filedataid", + "group_id", + "groupid", + "i", + "image_path", + "img_id", + "imgid", + "submissionId", + "t", + "uuid", + "version", + "w" + ], + "invert": true + }, + "tag": "privacy-images-2", + "description": "Several image selection PHP scripts, based in numeric IDs." + }, + { + "uuid": "71bc39c3-0a9e-44ef-8309-bcdb99377491", + "pattern": { + "scheme": "*", + "host": [ + "*" + ], + "path": [ + "*" + ], + "includes": [ + "/\\/(Satellite|BlobServer|StaticBS)(\\/[^\\/\\?]+)?\\?/" + ] + }, + "types": [ + "image", + "media" + ], + "action": "filter", + "active": true, + "title": "3rd filter for tracking parameters in images", + "skipRedirectionFilter": true, + "paramsFilter": { + "values": [ + "assembler", + "asset", + "authority", + "blob*", + "c", + "cid", + "container", + "fragment", + "key", + "maxage", + "satellite", + "scheme", + "ssbinary" + ], + "invert": true + }, + "description": "Oracle's Site-Satellite and Apache's BlobServer system", + "tag": "privacy-images-3" + }, + { + "uuid": "938aebe5-c98a-46fb-9e38-6b9bd42d687e", + "pattern": { + "scheme": "*", + "host": [ + "*" + ], + "path": [ + "*" + ], + "excludes": [ + "safe_image.php*" + ], + "includes": [ + "/\\?.*\\&(_nc_[a-z]{1,3}|oh|oe)=./" + ] + }, + "types": [ + "image", + "media" + ], + "action": "filter", + "active": true, + "title": "4th filter for tracking parameters in images", + "skipRedirectionFilter": true, + "tag": "privacy-images-4", + "paramsFilter": { + "values": [ + "ccb", + "_nc_cat", + "_nc_ht", + "_nc_oc", + "_nc_ohc", + "_nc_sid", + "oe", + "oh", + "tp" + ], + "invert": true + }, + "description": "For Facebook-style signed URLs filters (used in Facebook, WhatsApp and Instagram)." + }, + { + "uuid": "297fb0c7-d052-4031-9947-fc7a9b7690af", + "pattern": { + "scheme": "*", + "host": [ + "web.whatsapp.com" + ], + "path": [ + "/pp?*" + ] + }, + "types": [ + "image", + "media" + ], + "action": "filter", + "active": true, + "title": "WhatsApp Web images", + "tag": "privacy-images-whatsapp", + "description": "User avatars in WhatsApp Web need an extra rule to filter URL parameters", + "paramsFilter": { + "values": [ + "n" + ] + } + }, + { + "uuid": "34ac811a-d7e0-42fb-b509-5a9495c476ee", + "pattern": { + "scheme": "*", + "host": [ + "styles.redditmedia.com" + ], + "path": [ + "*/styles/bannerBackgroundImage_*", + "*/styles/communityIcon_*" + ] + }, + "types": [ + "image" + ], + "action": "filter", + "active": true, + "tag": "privacy-images-reddit", + "skipRedirectionFilter": true, + "trimAllParams": true + }, + { + "uuid": "802e0c21-922e-4501-a652-da805caedb01", + "pattern": { + "scheme": "*", + "host": [ + "i.ytimg.com", + "i9.ytimg.com" + ], + "path": [ + "/an_webp/*/*default_6s.webp*", + "/sb/*/storyboard*" + ] + }, + "types": [ + "image" + ], + "action": "whitelist", + "active": true, + "title": "Restore YouTube previews", + "description": "The general filter rule breaks the previews shown upon hovering over the seekbar or a thumbnail. This rule restores them at the cost of sending unknown metadata to YouTube servers. Disabling this rule will not break YouTube's other functions.", + "tag": "privacy-images" + }, + { + "uuid": "26b61cb2-b847-40c1-bd89-c31327434643", + "pattern": { + "scheme": "*", + "host": [ + "external-content.duckduckgo.com", + "gatherer.wizards.com", + "img.dafont.com", + "outlook.office.com", + "render.fontstruct.com", + "render01.fontshop.com", + "www.osapublishing.org", + "www.signbank.org" + ], + "path": [ + "*?*" + ], + "origin": "same-domain" + }, + "types": [ + "image" + ], + "action": "whitelist", + "active": true, + "title": "Image-dependent sites", + "description": "Some sites, like typesetting shops, are heavily dependent on images. (Image and web document MUST share domain.) DuckDuckgo's external preview server is exceptionally included because of its efforts against user tracking and search bubbling.", + "tag": "privacy-images" + }, + { + "uuid": "0ce012d9-8492-40eb-ae75-f7c48b4f97d3", + "pattern": { + "scheme": "*", + "host": [ + "*" + ], + "path": [ + "*download/file.php?avatar=*", + "/avatar.php?*", + "/avatar/*", + "/avatars/*", + "/data/avatars/*", + "/user_avatar/*", + "/user_cover/*", + "/userkarma.php?*" + ] + }, + "types": [ + "image" + ], + "action": "whitelist", + "active": true, + "title": "User avatars and karma at community-driven sites", + "description": "e.g. phpBB forums, WikiDot wikis.", + "tag": "privacy-images" + }, + { + "uuid": "91561207-76db-4850-85cb-5e34dedafa90", + "pattern": { + "scheme": "*", + "host": [ + "*" + ], + "path": [ + "*action=AttachFile&do=get&target=*" + ], + "origin": "same-domain" + }, + "types": [ + "image" + ], + "action": "whitelist", + "active": true, + "title": "Embedded images in MoinMoin based wikis and similar.", + "description": "Notably used on wiki.ubuntu.com.", + "tag": "privacy-images" + }, + { + "uuid": "42c98357-aba0-4e8a-9df2-739c885cfde8", + "pattern": { + "scheme": "*", + "host": [ + "*.imgix.net", + "attachment.outlook.live.net", + "badge.dimensions.ai", + "badges.altmetric.com", + "chart.googleapis.com", + "external-preview.redd.it", + "i.mycdn.me", + "imagebank.osa.org", + "img.shields.io", + "media-exp1.licdn.com", + "media.gettyimages.com", + "media.istockphoto.com", + "pbs.twimg.com", + "preview.redd.it", + "raster.shields.io", + "shields.io" + ], + "path": [ + "*?*" + ] + }, + "types": [ + "image" + ], + "action": "whitelist", + "active": true, + "title": "Image providers", + "description": "Includes sites whose sole function is providing images for other web pages, and sites with a dedicated server for serving images. (Whitelisted on ALL domains)", + "tag": "privacy-images" + }, + { + "uuid": "da3107bd-8fc1-4829-b4c4-6303af4af5fd", + "pattern": { + "scheme": "https", + "host": [ + "*" + ], + "path": [ + "*-captchaImage&antiCache=*", + "*action=formmakerwdcaptcha&*", + "*action=formmakerwdmathcaptcha&*", + "*action=nopriv_formmakerwdcaptcha&*", + "*action=nopriv_formmakerwdmathcaptcha&*", + "*captcha/api2/payload*", + "*recaptcha/enterprise/payload*", + "/w/index.php?title=*&wpCaptchaId=*", + "https://opfcaptcha-prod.s3.amazonaws.com/*" + ], + "origin": "same-domain" + }, + "types": [ + "image", + "media" + ], + "action": "whitelist", + "active": true, + "title": "CAPTCHAs", + "tag": "privacy-images", + "description": "This filter includes reCAPTCHA and other CAPTCHA systems" + }, + { + "uuid": "de12ff52-0cc2-468b-8dc9-6d3e56ca3389", + "pattern": { + "scheme": "*", + "host": [ + "duckduckgo.com" + ], + "path": [ + "mapkit/?*" + ] + }, + "types": [ + "image" + ], + "action": "whitelist", + "active": true, + "title": "DuckDuckGo map provider", + "tag": "privacy-images" + }, + { + "uuid": "311886d6-bf8b-4112-aea3-9539cc40c318", + "pattern": { + "scheme": "*", + "host": [ + "maps.google.com", + "maps.googleapis.com" + ], + "path": [ + "/maps/api/js/StaticMapService.GetMapImage*", + "/maps/api/staticmap?*&signature=*" + ] + }, + "types": [ + "image" + ], + "action": "whitelist", + "active": true, + "title": "Static Google Maps", + "description": "Removing any parameter in these requests (signed maps, and base image for some embedded maps) will make it fail.", + "tag": "privacy-images" + }, + { + "uuid": "bd61a299-f45e-4dee-a16c-be91ae8f937f", + "pattern": { + "scheme": "*", + "host": [ + "ecn.t0.tiles.virtualearth.net", + "ecn.t1.tiles.virtualearth.net", + "ecn.t2.tiles.virtualearth.net", + "ecn.t3.tiles.virtualearth.net", + "t.ssl.ak.dynamic.tiles.virtualearth.net", + "t.ssl.ak.tiles.virtualearth.net" + ], + "path": [ + "comp/ch/*?mkt=*", + "tiles/*?g=*" + ] + }, + "types": [ + "image" + ], + "action": "whitelist", + "active": true, + "title": "Bing map and street view provider", + "tag": "privacy-images" + }, + { + "uuid": "5c27a1dc-3446-472d-9e26-e001b5a32e51", + "pattern": { + "scheme": "*", + "host": [ + "s2.googleusercontent.com" + ], + "path": [ + "s2/favicons?domain_url=*" + ] + }, + "types": [ + "image" + ], + "action": "whitelist", + "active": true, + "title": "Favicons at YouTube", + "tag": "privacy-images" + }, + { + "uuid": "9a0a3b89-7fd4-4838-a5d2-a1e39da8006b", + "pattern": { + "scheme": "*", + "host": [ + "*.fna.fbcdn.net", + "*.xx.fbcdn.net" + ], + "path": [ + "static_map.php?*" + ] + }, + "types": [ + "image" + ], + "action": "whitelist", + "active": true, + "title": "Facebook map thumbnail provider", + "tag": "privacy-images" + }, + { + "uuid": "e1262258-f5c2-4c2d-baa0-4a0e9ffcef3d", + "pattern": { + "scheme": "*", + "host": [ + "core-renderer-tiles.maps.yandex.net", + "vec01.maps.yandex.net", + "vec02.maps.yandex.net", + "vec03.maps.yandex.net", + "vec04.maps.yandex.net" + ], + "path": [ + "/tiles?l=map&*" + ] + }, + "types": [ + "image" + ], + "action": "whitelist", + "active": true, + "title": "Yandex maps", + "tag": "privacy-images" + }, + { + "uuid": "105d848c-abe4-4ea4-a9da-8fd00cc760d0", + "pattern": { + "scheme": "*", + "host": [ + "*.archive.org" + ], + "path": [ + "/BookReader/BookReaderImages.php?zip=*" + ] + }, + "types": [ + "image" + ], + "action": "whitelist", + "active": true, + "title": "Internet Archive book reader", + "tag": "privacy-images", + "description": "Unblocks book scans served from the Internet Archive online book reader", + "log": true + }, + { + "uuid": "2f1f11df-0c77-46c2-bc5d-7f8f9f5074cb", + "pattern": { + "scheme": "https", + "host": [ + "*.amazon.*" + ], + "path": [ + "*uedata*" + ], + "topLevelDomains": [ + "ae", + "ca", + "cn", + "co.jp", + "co.uk", + "com", + "com.au", + "com.br", + "com.mx", + "com.tr", + "de", + "es", + "fr", + "in", + "it", + "nl", + "sa", + "se", + "sg" + ] + }, + "types": [ + "image" + ], + "action": "whitelist", + "active": true, + "title": "Amazon tracking pixels", + "description": "Whitelisted on uBlock Origin as well. Blocking them may cause login to fail.", + "tag": "privacy-images", + "log": true + }, + { + "uuid": "89d698fb-1e90-4703-ad42-85e6fdf9d1bf", + "pattern": { + "scheme": "*", + "host": [ + "*.drive.google.com", + "*.googlevideo.com" + ], + "path": [ + "videoplayback?*sig=*sig=*" + ] + }, + "types": [ + "image", + "media" + ], + "action": "whitelist", + "active": true, + "title": "Signed Google Video requests", + "description": "Removing any parameter from these requests will cause the video not to load. Enabled by default. (This sort of requests is used by Google Drive, and 3rd-party sites like Invidious instances.)", + "tag": "privacy-images" + }, + { + "uuid": "12486ca3-b63d-49fa-ae64-25b83733d64c", + "pattern": { + "scheme": "*", + "host": [ + "*.amazonaws.com" + ], + "path": [ + "*" + ] + }, + "types": [ + "image" + ], + "action": "filter", + "active": true, + "title": "Amazon AWS filtered rules", + "description": "To ensure similar URLs load no unrecognized parameters", + "tag": "filter-amazon-aws", + "skipRedirectionFilter": true, + "paramsFilter": { + "values": [ + "X-Amz-Algorithm", + "X-Amz-Credential", + "X-Amz-Date", + "X-Amz-Expires", + "X-Amz-Signature", + "X-Amz-SignedHeaders" + ], + "invert": true + } + } +] diff --git a/mozilla/ff/requests_control/individual_list/privacy-common-params.json b/mozilla/ff/requests_control/individual_list/privacy-common-params.json new file mode 100644 index 0000000..f981631 --- /dev/null +++ b/mozilla/ff/requests_control/individual_list/privacy-common-params.json @@ -0,0 +1,105 @@ +[ + { + "title": "Remove common tracking query parameters", + "description": "Replicates Neat URL extension. Removes common tracking query parameters from all requests to websites.", + "uuid": "5276a290-b21a-4deb-a86e-aa54c3ff1bcc", + "tag": "privacy-tracking-params", + "pattern": { + "allUrls": true, + "excludes": [ + "https://www.fbsbx.com/captcha/recaptcha/iframe/*" + ] + }, + "types": [ + "main_frame", + "sub_frame" + ], + "action": "filter", + "active": true, + "skipRedirectionFilter": true, + "paramsFilter": { + "values": [ + "CNDID", + "_hsenc", + "_hsmi", + "_openstat", + "action_object_map", + "action_ref_map", + "action_type_map", + "algo_expid", + "algo_pvid", + "at_campaign", + "at_custom*", + "at_medium", + "btsid", + "fb_action_ids", + "fb_action_types", + "fb_ref", + "fb_source", + "fbclid", + "ga_campaign", + "ga_content", + "ga_medium", + "ga_place", + "ga_source", + "ga_term", + "gs_l", + "hmb_campaign", + "hmb_medium", + "hmb_source", + "icid", + "igshid", + "mbid", + "mkt_tok", + "ncid", + "nr_email_referer", + "ref_*", + "referer", + "referrer", + "sc_campaign", + "sc_channel", + "sc_content", + "sc_country", + "sc_geo", + "sc_medium", + "sc_outcome", + "share", + "spJobID", + "spMailingID", + "spReportId", + "spUserID", + "sr_share", + "trackingId", + "trk", + "trkCampaign", + "utm_*", + "vero_conv", + "vero_id", + "ws_ab_test", + "xtor", + "yclid" + ] + } + }, + { + "uuid": "1123f3fd-fde5-4992-af96-c580c0f69186", + "pattern": { + "scheme": "*", + "host": [ + "*" + ], + "path": [ + "*/validate-email*" + ] + }, + "types": [ + "main_frame", + "sub_frame" + ], + "action": "whitelist", + "active": true, + "tag": "privacy-tracking-params", + "title": "E-mail verification", + "description": "Most websites send activation links via e-mail to prevent spam. Some of these links are incorrectly filtered." + } +] diff --git a/mozilla/ff/requests_control/individual_list/privacy-common-redirectors.json b/mozilla/ff/requests_control/individual_list/privacy-common-redirectors.json new file mode 100644 index 0000000..5c1b5aa --- /dev/null +++ b/mozilla/ff/requests_control/individual_list/privacy-common-redirectors.json @@ -0,0 +1,146 @@ +[ + { + "title": "Skip external dereferrers and redirectors", + "description": "This filter is applied globally by URL path. As matched globally, it may result in a site not functioning correctly. Disabled by default.", + "tag": "privacy-redirectors", + "uuid": "4a6b8caf-3d0b-4c95-876e-b2cdcde1eb6a", + "pattern": { + "scheme": "*", + "host": [ + "*" + ], + "path": [ + "*/dereferrer/*", + "*/outgoing?*", + "*redir/redirect?*", + "/deref/*", + "away.php?to=*", + "redirect?*" + ] + }, + "types": [ + "main_frame" + ], + "action": "filter", + "active": false + }, + { + "uuid": "3baa759b-9afc-41ef-b770-c60e1d9383d2", + "description": "Filter rule to skip and prevent redirection tracking on multiple hosts.", + "tag": "privacy-redirectors", + "pattern": { + "scheme": "*", + "host": [ + "*.tradedoubler.com", + "out.reddit.com", + "steamcommunity.com" + ], + "path": [ + "*url=*" + ] + }, + "types": [ + "main_frame", + "sub_frame" + ], + "action": "filter", + "active": true + }, + { + "title": "Skip Mozilla's outgoing link redirection service", + "uuid": "3c4d6fa0-e2fb-4079-b3f0-e453ebe289afalsee", + "tag": "privacy-redirectors", + "pattern": { + "scheme": "*", + "host": [ + "outgoing.prod.mozaws.net" + ], + "path": [ + "*" + ] + }, + "types": [ + "main_frame" + ], + "action": "filter", + "active": true + }, + { + "uuid": "3a560339-2f03-4ab1-b6e3-db1edb01a875", + "pattern": { + "scheme": "*", + "host": [ + "*.awstrack.me" + ], + "path": [ + "/L0/*" + ] + }, + "action": "redirect", + "active": true, + "title": "AWS SES (awstrack.me)", + "description": "Strip destination from AWS SES links (awstrack.me), often found in newsletter emails.", + "tag": "privacy-redirectors", + "trimAllParams": true, + "redirectUrl": "[href={pathname/\\/L0\\//$'|decodeURIComponent}]" + }, + { + "uuid": "95758173-ff22-4863-a743-d09a068cca91", + "pattern": { + "scheme": "*", + "host": [ + "cdn.embedly.com" + ], + "path": [ + "/widgets/media.html?src=*" + ] + }, + "types": [ + "sub_frame" + ], + "action": "filter", + "active": true, + "tag": "privacy-redirectors" + }, + { + "uuid": "e3dd89aa-6fd3-41ae-945f-3617fc03902d", + "pattern": { + "scheme": "*", + "host": [ + "c.disquscdn.com" + ], + "path": [ + "get?url=*" + ] + }, + "types": [ + "image" + ], + "action": "filter", + "active": true, + "title": "Skip Disqus image retriever", + "tag": "privacy-redirectors" + }, + { + "uuid": "e3384047-a2b2-433e-a52c-f46eea48305f", + "pattern": { + "scheme": "*", + "host": [ + "disq.us" + ], + "path": [ + "url?url=*" + ] + }, + "types": [ + "main_frame", + "sub_frame" + ], + "action": "redirect", + "active": true, + "title": "Skip Disqus redirector", + "redirectUrl": "{search/\\?url=([^&]*)&.*/$1|decodeURIComponent|/:[A-Za-z0-9-]*$/}", + "tag": "privacy-redirectors", + "description": "A suffix after the destination URL causes the usual approach to fail" + } +] diff --git a/mozilla/ff/requests_control/individual_list/privacy-duckduckgo.json b/mozilla/ff/requests_control/individual_list/privacy-duckduckgo.json new file mode 100644 index 0000000..3ce3a0a --- /dev/null +++ b/mozilla/ff/requests_control/individual_list/privacy-duckduckgo.json @@ -0,0 +1,21 @@ +[ + { + "uuid": "c7ca4ba4-1a16-4b98-b645-62d22ae582ee", + "pattern": { + "scheme": "*", + "host": [ + "duckduckgo.com" + ], + "path": [ + "l/?*" + ] + }, + "types": [ + "main_frame", + "sub_frame" + ], + "action": "filter", + "active": true, + "tag": "privacy-duckduckgo" + } +] \ No newline at end of file diff --git a/mozilla/ff/requests_control/individual_list/privacy-facebook.json b/mozilla/ff/requests_control/individual_list/privacy-facebook.json new file mode 100644 index 0000000..a3953f7 --- /dev/null +++ b/mozilla/ff/requests_control/individual_list/privacy-facebook.json @@ -0,0 +1,83 @@ +[ + { + "uuid": "07be1337-ceec-4a93-a49e-67e051124a7f", + "tag": "privacy-facebook", + "pattern": { + "scheme": "*", + "host": [ + "l.facebook.*", + "l.instagram.*", + "lm.facebook.*" + ], + "topLevelDomains": [ + "com", + "net" + ], + "path": [ + "?u=*", + "l.php?u=*" + ] + }, + "types": [ + "main_frame", + "sub_frame" + ], + "action": "filter", + "active": true + }, + { + "uuid": "92a96b21-9076-43c2-b030-167bf420e733", + "pattern": { + "scheme": "*", + "host": [ + "m.facebook.com", + "www.facebook.com" + ], + "path": [ + "*" + ] + }, + "types": [ + "main_frame" + ], + "action": "filter", + "active": true, + "tag": "privacy-facebook", + "paramsFilter": { + "values": [ + "_*", + "extid", + "flite", + "fref", + "mt_nav", + "ref", + "referral_code", + "refsrc", + "rid", + "rt", + "sfnsn" + ] + }, + "skipRedirectionFilter": true + }, + { + "uuid": "d5f1deb0-f7b4-4c45-9a7e-6ea04a051e51", + "pattern": { + "scheme": "*", + "host": [ + "fb.me" + ], + "path": [ + "*" + ] + }, + "types": [ + "main_frame", + "sub_frame" + ], + "action": "redirect", + "active": true, + "tag": "privacy-facebook", + "redirectUrl": "https://www.facebook.com/{pathname:1}" + } +] \ No newline at end of file diff --git a/mozilla/ff/requests_control/individual_list/privacy-google.json b/mozilla/ff/requests_control/individual_list/privacy-google.json new file mode 100644 index 0000000..45d116c --- /dev/null +++ b/mozilla/ff/requests_control/individual_list/privacy-google.json @@ -0,0 +1,722 @@ +[ + { + "title": "Stop Google search link tracking", + "uuid": "60f46cfa-b906-4a2d-ab66-8f26dc35e97f", + "description": "This filter rule prevents Google from obtaining the URL of clicked search link via URL redirection. The tracking request done in background is classified as a Sub Document type.", + "tag": "privacy-google", + "pattern": { + "scheme": "*", + "host": [ + "www.google.*" + ], + "topLevelDomains": [ + "com", + "ad", + "ae", + "com.af", + "com.ag", + "com.ai", + "al", + "am", + "co.ao", + "com.ar", + "as", + "at", + "com.au", + "az", + "ba", + "com.bd", + "be", + "bf", + "bg", + "com.bh", + "bi", + "bj", + "com.bn", + "com.bo", + "com.br", + "bs", + "bt", + "co.bw", + "by", + "com.bz", + "ca", + "cd", + "cf", + "cg", + "ch", + "ci", + "co.ck", + "cl", + "cm", + "cn", + "com.co", + "co.cr", + "com.cu", + "cv", + "com.cy", + "cz", + "de", + "dj", + "dk", + "dm", + "com.do", + "dz", + "com.ec", + "ee", + "com.eg", + "es", + "com.et", + "fi", + "com.fj", + "fm", + "fr", + "ga", + "ge", + "gg", + "com.gh", + "com.gi", + "gl", + "gm", + "gp", + "gr", + "com.gt", + "gy", + "com.hk", + "hn", + "hr", + "ht", + "hu", + "co.id", + "ie", + "co.il", + "im", + "co.in", + "iq", + "is", + "it", + "je", + "com.jm", + "jo", + "co.jp", + "co.ke", + "com.kh", + "ki", + "kg", + "co.kr", + "com.kw", + "kz", + "la", + "com.lb", + "li", + "lk", + "co.ls", + "lt", + "lu", + "lv", + "com.ly", + "co.ma", + "md", + "me", + "mg", + "mk", + "ml", + "com.mm", + "mn", + "ms", + "com.mt", + "mu", + "mv", + "mw", + "com.mx", + "com.my", + "co.mz", + "com.na", + "com.nf", + "com.ng", + "com.ni", + "ng", + "ne", + "nl", + "no", + "com.np", + "nr", + "nu", + "co.nz", + "com.om", + "com.pa", + "com.pe", + "com.pg", + "com.ph", + "com.pk", + "pl", + "pn", + "com.pr", + "ps", + "pt", + "com.py", + "com.qa", + "ro", + "ru", + "rw", + "com.sa", + "com.sb", + "sc", + "se", + "com.sg", + "sh", + "si", + "sk", + "com.sl", + "sn", + "so", + "sm", + "sr", + "st", + "com.sv", + "td", + "tg", + "co.th", + "com.tj", + "tk", + "tl", + "tm", + "tn", + "to", + "com.tr", + "tt", + "com.tw", + "co.tz", + "com.ua", + "co.ug", + "co.uk", + "com.uy", + "co.uz", + "com.vc", + "co.ve", + "vg", + "co.vi", + "com.vn", + "vu", + "ws", + "rs", + "co.za", + "co.zm", + "co.zw", + "cat" + ], + "path": [ + "url?*" + ] + }, + "types": [ + "main_frame", + "sub_frame" + ], + "action": "filter", + "redirectDocument": true, + "active": true + }, + { + "title": "Remove query parameters from Google pages", + "description": "Removes possible tracking query parameters used by Google.", + "tag": "privacy-google", + "uuid": "0b0d8660-3c95-40ba-8c53-d72328a6cf00", + "pattern": { + "scheme": "*", + "host": [ + "*.google.*" + ], + "path": [ + "*" + ], + "topLevelDomains": [ + "com", + "ad", + "ae", + "com.af", + "com.ag", + "com.ai", + "al", + "am", + "co.ao", + "com.ar", + "as", + "at", + "com.au", + "az", + "ba", + "com.bd", + "be", + "bf", + "bg", + "com.bh", + "bi", + "bj", + "com.bn", + "com.bo", + "com.br", + "bs", + "bt", + "co.bw", + "by", + "com.bz", + "ca", + "cd", + "cf", + "cg", + "ch", + "ci", + "co.ck", + "cl", + "cm", + "cn", + "com.co", + "co.cr", + "com.cu", + "cv", + "com.cy", + "cz", + "de", + "dj", + "dk", + "dm", + "com.do", + "dz", + "com.ec", + "ee", + "com.eg", + "es", + "com.et", + "fi", + "com.fj", + "fm", + "fr", + "ga", + "ge", + "gg", + "com.gh", + "com.gi", + "gl", + "gm", + "gp", + "gr", + "com.gt", + "gy", + "com.hk", + "hn", + "hr", + "ht", + "hu", + "co.id", + "ie", + "co.il", + "im", + "co.in", + "iq", + "is", + "it", + "je", + "com.jm", + "jo", + "co.jp", + "co.ke", + "com.kh", + "ki", + "kg", + "co.kr", + "com.kw", + "kz", + "la", + "com.lb", + "li", + "lk", + "co.ls", + "lt", + "lu", + "lv", + "com.ly", + "co.ma", + "md", + "me", + "mg", + "mk", + "ml", + "com.mm", + "mn", + "ms", + "com.mt", + "mu", + "mv", + "mw", + "com.mx", + "com.my", + "co.mz", + "com.na", + "com.nf", + "com.ng", + "com.ni", + "ng", + "ne", + "nl", + "no", + "com.np", + "nr", + "nu", + "co.nz", + "com.om", + "com.pa", + "com.pe", + "com.pg", + "com.ph", + "com.pk", + "pl", + "pn", + "com.pr", + "ps", + "pt", + "com.py", + "com.qa", + "ro", + "ru", + "rw", + "com.sa", + "com.sb", + "sc", + "se", + "com.sg", + "sh", + "si", + "sk", + "com.sl", + "sn", + "so", + "sm", + "sr", + "st", + "com.sv", + "td", + "tg", + "co.th", + "com.tj", + "tk", + "tl", + "tm", + "tn", + "to", + "com.tr", + "tt", + "com.tw", + "co.tz", + "com.ua", + "co.ug", + "co.uk", + "com.uy", + "co.uz", + "com.vc", + "co.ve", + "vg", + "co.vi", + "com.vn", + "vu", + "ws", + "rs", + "co.za", + "co.zm", + "co.zw", + "cat" + ] + }, + "types": [ + "main_frame", + "sub_frame" + ], + "action": "filter", + "active": true, + "paramsFilter": { + "values": [ + "el", + "gws_rd", + "sel", + "source", + "usp", + "ved" + ] + }, + "skipRedirectionFilter": true + }, + { + "title": "Anonymize pictures from Google Maps and Google Street View", + "description": "May cause problems in some browsers like Firefox ESR 68. Disabled by default.", + "tag": "privacy-google", + "uuid": "6d25126a-dd1d-4e63-874c-fe0592e9bec1", + "pattern": { + "scheme": "*", + "host": [ + "*.ggpht.com", + "*.google.com", + "*.googleapis.com" + ], + "path": [ + "cbk?*", + "kh?*", + "maps/vt?*", + "v1/tile*" + ] + }, + "types": [ + "image" + ], + "action": "filter", + "active": false, + "paramsFilter": { + "values": [ + "cb_client", + "center", + "deg", + "fov", + "h", + "heading", + "hl", + "key", + "location", + "maptype", + "markers", + "output", + "panoid", + "pb", + "pitch", + "radius", + "signature", + "size", + "source", + "thumb", + "thumbfov", + "v", + "w", + "x", + "y", + "yaw", + "z", + "zoom" + ], + "invert": true + } + }, + { + "uuid": "fed6a72e-5f49-4a72-971f-64c67ab7fb3c", + "pattern": { + "scheme": "*", + "host": [ + "*.google.*" + ], + "path": [ + "amp/s/*" + ], + "topLevelDomains": [ + "com", + "ad", + "ae", + "com.af", + "com.ag", + "com.ai", + "al", + "am", + "co.ao", + "com.ar", + "as", + "at", + "com.au", + "az", + "ba", + "com.bd", + "be", + "bf", + "bg", + "com.bh", + "bi", + "bj", + "com.bn", + "com.bo", + "com.br", + "bs", + "bt", + "co.bw", + "by", + "com.bz", + "ca", + "cd", + "cf", + "cg", + "ch", + "ci", + "co.ck", + "cl", + "cm", + "cn", + "com.co", + "co.cr", + "com.cu", + "cv", + "com.cy", + "cz", + "de", + "dj", + "dk", + "dm", + "com.do", + "dz", + "com.ec", + "ee", + "com.eg", + "es", + "com.et", + "fi", + "com.fj", + "fm", + "fr", + "ga", + "ge", + "gg", + "com.gh", + "com.gi", + "gl", + "gm", + "gp", + "gr", + "com.gt", + "gy", + "com.hk", + "hn", + "hr", + "ht", + "hu", + "co.id", + "ie", + "co.il", + "im", + "co.in", + "iq", + "is", + "it", + "je", + "com.jm", + "jo", + "co.jp", + "co.ke", + "com.kh", + "ki", + "kg", + "co.kr", + "com.kw", + "kz", + "la", + "com.lb", + "li", + "lk", + "co.ls", + "lt", + "lu", + "lv", + "com.ly", + "co.ma", + "md", + "me", + "mg", + "mk", + "ml", + "com.mm", + "mn", + "ms", + "com.mt", + "mu", + "mv", + "mw", + "com.mx", + "com.my", + "co.mz", + "com.na", + "com.nf", + "com.ng", + "com.ni", + "ng", + "ne", + "nl", + "no", + "com.np", + "nr", + "nu", + "co.nz", + "com.om", + "com.pa", + "com.pe", + "com.pg", + "com.ph", + "com.pk", + "pl", + "pn", + "com.pr", + "ps", + "pt", + "com.py", + "com.qa", + "ro", + "ru", + "rw", + "com.sa", + "com.sb", + "sc", + "se", + "com.sg", + "sh", + "si", + "sk", + "com.sl", + "sn", + "so", + "sm", + "sr", + "st", + "com.sv", + "td", + "tg", + "co.th", + "com.tj", + "tk", + "tl", + "tm", + "tn", + "to", + "com.tr", + "tt", + "com.tw", + "co.tz", + "com.ua", + "co.ug", + "co.uk", + "com.uy", + "co.uz", + "com.vc", + "co.ve", + "vg", + "co.vi", + "com.vn", + "vu", + "ws", + "rs", + "co.za", + "co.zm", + "co.zw", + "cat" + ] + }, + "types": [ + "main_frame" + ], + "action": "redirect", + "active": true, + "title": "Skip Google AMP redirector", + "tag": "privacy-google", + "redirectUrl": "https://{pathname:7}" + } +] diff --git a/mozilla/ff/requests_control/individual_list/privacy-here.json b/mozilla/ff/requests_control/individual_list/privacy-here.json new file mode 100644 index 0000000..54272b3 --- /dev/null +++ b/mozilla/ff/requests_control/individual_list/privacy-here.json @@ -0,0 +1,32 @@ +[ + { + "uuid": "e1602933-69a7-4901-9259-42b5551101d0", + "pattern": { + "scheme": "*", + "host": [ + "*.maps.api.here.com", + "*.maps.cit.api.here.com" + ], + "path": [ + "/maptile/2.1/maptile/*" + ] + }, + "types": [ + "image" + ], + "action": "filter", + "active": true, + "title": "HERE maps API 2.5.4", + "tag": "privacy-here", + "paramsFilter": { + "values": [ + "app_code", + "app_id", + "lg", + "token" + ], + "invert": true + }, + "skipRedirectionFilter": true + } +] \ No newline at end of file diff --git a/mozilla/ff/requests_control/individual_list/privacy-linkedin.json b/mozilla/ff/requests_control/individual_list/privacy-linkedin.json new file mode 100644 index 0000000..7f20ef3 --- /dev/null +++ b/mozilla/ff/requests_control/individual_list/privacy-linkedin.json @@ -0,0 +1,37 @@ +[ + { + "uuid": "d78b46f3-6c04-43a8-a907-83c161138e61", + "pattern": { + "scheme": "*", + "host": [ + "www.linkedin.com" + ], + "path": [ + "*" + ], + "excludes": [ + "/\\/checkpoint\\//", + "/\\/jobs\\/\\?/", + "/\\/jobs\\/search\\?/", + "/\\/login\\?/", + "/\\/oauth\\/v2\\//", + "/\\/search\\/\\?/", + "/\\/uas\\/login\\?/", + "/\\/uas\\/logout\\?/" + ] + }, + "types": [ + "main_frame", + "sub_frame" + ], + "action": "filter", + "active": true, + "tag": "privacy-linkedin", + "paramsFilter": { + "values": [ + "url" + ], + "invert": true + } + } +] diff --git a/mozilla/ff/requests_control/individual_list/privacy-qwant-lite.json b/mozilla/ff/requests_control/individual_list/privacy-qwant-lite.json new file mode 100644 index 0000000..ca1cd68 --- /dev/null +++ b/mozilla/ff/requests_control/individual_list/privacy-qwant-lite.json @@ -0,0 +1,22 @@ +[ + { + "title": "Skip Qwant Lite redirect", + "description": "Skip Qwant Lite redirect in search results", + "uuid": "62b1a6c1-76ea-43c1-9d4d-dde55d5855e9", + "pattern": { + "scheme": "*", + "host": [ + "lite.qwant.com" + ], + "path": [ + "redirect/*" + ] + }, + "types": [ + "main_frame" + ], + "action": "redirect", + "active": true, + "redirectUrl": "{pathname/\\/redirect\\/[A-Za-z0-9]+==\\//|decodeBase64|decodeURIComponent}" + } +] diff --git a/mozilla/ff/requests_control/individual_list/privacy-youtube.json b/mozilla/ff/requests_control/individual_list/privacy-youtube.json new file mode 100644 index 0000000..9e20780 --- /dev/null +++ b/mozilla/ff/requests_control/individual_list/privacy-youtube.json @@ -0,0 +1,72 @@ +[ + { + "uuid": "1fa1d22e-7694-46f0-9da6-fa6536433406", + "pattern": { + "scheme": "*", + "host": [ + "*.youtube.com" + ], + "path": [ + "*" + ] + }, + "types": [ + "main_frame", + "sub_frame" + ], + "action": "filter", + "active": true, + "tag": "privacy-youtube", + "paramsFilter": { + "values": [ + "feature", + "gclid", + "kw", + "sp" + ] + }, + "skipRedirectionFilter": true, + "description": "Imported from Neat URL webextension." + }, + { + "title": "Block Youtube mouselogger and watchtime logger", + "uuid": "23f612f1-d903-4715-99a5-5559035400e5", + "pattern": { + "scheme": "*", + "host": [ + "*.youtube.com" + ], + "path": [ + "api/stats/watchtime*", + "youtubei/v1/log_event*" + ] + }, + "types": [ + "image", + "xmlhttprequest" + ], + "action": "block", + "active": true, + "description": "May cause issues after the end of the video if logged in. Disabled by default. Now enabled", + "tag": "privacy-youtube" + }, + { + "uuid": "4ead820a-429f-4e7c-a7ca-7241305bcedb", + "pattern": { + "scheme": "*", + "host": [ + "youtu.be" + ], + "path": [ + "*" + ] + }, + "action": "redirect", + "active": true, + "redirectUrl": "https://www.youtube.com/watch?v={pathname:1}{search/^\\?/&}{hash}", + "tag": "privacy-youtube", + "types": [ + "main_frame" + ] + } +] \ No newline at end of file diff --git a/mozilla/ff/requests_control/individual_list/same_origin_images.json b/mozilla/ff/requests_control/individual_list/same_origin_images.json new file mode 100644 index 0000000..7f61299 --- /dev/null +++ b/mozilla/ff/requests_control/individual_list/same_origin_images.json @@ -0,0 +1,15 @@ +[ + { + "title": "Allow same origin images", + "tag": "allow-same-origin-images", + "pattern": { + "scheme": ["http","https"], + "host": ["*"], + "path": ["*"], + "origin": "same-domain" + }, + "types": ["image"], + "action": "whitelist", + "active": true + } +] \ No newline at end of file diff --git a/mozilla/ff/requests_control/individual_list/tracking_images.json b/mozilla/ff/requests_control/individual_list/tracking_images.json new file mode 100644 index 0000000..5650a5a --- /dev/null +++ b/mozilla/ff/requests_control/individual_list/tracking_images.json @@ -0,0 +1,48 @@ +[ + { + "title": "Filter tracking parameters in images", + "uuid": "6468e7a9-440d-4727-a09e-c1a5cc386948", + "description": "Remove all non-essential parameters from image requests.", + "tag": "filter-img", + "types": ["image"], + "pattern": { + "scheme": "*", + "host": ["*"], + "path": ["*"], + "excludes": [ + "http://*.imgix.net/", + "https://*.imgix.net/", + "/maps/", "/captcha/" + ], + "allUrls": true + }, + "action": "filter", + "active": true, + + "skipRedirectionFilter": true, + + "paramsFilter": { + "values": [ + "token*", + "key*", + "hash*", + "y", + "x", + "z", + "auto", + "crop", + "fit", + "format", + "frame", + "h", + "height", + "q", + "s", + "size", + "w", + "width" + ], + "invert": true + } + } +] \ No newline at end of file diff --git a/mozilla/ff/requests_control/request-control-rules.json b/mozilla/ff/requests_control/request-control-rules.json new file mode 100644 index 0000000..82f24dc --- /dev/null +++ b/mozilla/ff/requests_control/request-control-rules.json @@ -0,0 +1,2297 @@ +[ + { + "uuid": "66f8aed7-3826-4bfb-83ba-9a1030d54456", + "pattern": { + "scheme": "*", + "host": [ + "*" + ], + "path": [ + "*" + ], + "includes": [ + "/\\/(i|fetch|image_gallery|thumb|thumbnail)(\\.php|\\/)?\\?|\\?img_?[iI]d=/" + ] + }, + "types": [ + "image" + ], + "action": "filter", + "active": true, + "title": "2nd filter for tracking parameters in images", + "paramsFilter": { + "values": [ + "crop", + "download", + "filedataid", + "group_id", + "groupid", + "i", + "image_path", + "img_id", + "imgid", + "submissionId", + "t", + "uuid", + "version", + "w" + ], + "invert": true + }, + "tag": "privacy-images-2", + "description": "Several image selection PHP scripts, based in numeric IDs." + }, + { + "uuid": "71bc39c3-0a9e-44ef-8309-bcdb99377491", + "pattern": { + "scheme": "*", + "host": [ + "*" + ], + "path": [ + "*" + ], + "includes": [ + "/\\/(Satellite|BlobServer|StaticBS)(\\/[^\\/\\?]+)?\\?/" + ] + }, + "types": [ + "image", + "media" + ], + "action": "filter", + "active": true, + "title": "3rd filter for tracking parameters in images", + "skipRedirectionFilter": true, + "paramsFilter": { + "values": [ + "assembler", + "asset", + "authority", + "blob*", + "c", + "cid", + "container", + "fragment", + "key", + "maxage", + "satellite", + "scheme", + "ssbinary" + ], + "invert": true + }, + "description": "Oracle's Site-Satellite and Apache's BlobServer system", + "tag": "privacy-images-3" + }, + { + "uuid": "938aebe5-c98a-46fb-9e38-6b9bd42d687e", + "pattern": { + "scheme": "*", + "host": [ + "*" + ], + "path": [ + "*" + ], + "excludes": [ + "safe_image.php*" + ], + "includes": [ + "/\\?.*\\&(_nc_[a-z]{1,3}|oh|oe)=./" + ] + }, + "types": [ + "image", + "media" + ], + "action": "filter", + "active": true, + "title": "4th filter for tracking parameters in images", + "skipRedirectionFilter": true, + "tag": "privacy-images-4", + "paramsFilter": { + "values": [ + "ccb", + "_nc_cat", + "_nc_ht", + "_nc_oc", + "_nc_ohc", + "_nc_sid", + "oe", + "oh", + "tp" + ], + "invert": true + }, + "description": "For Facebook-style signed URLs filters (used in Facebook, WhatsApp and Instagram)." + }, + { + "uuid": "12486ca3-b63d-49fa-ae64-25b83733d64c", + "pattern": { + "scheme": "*", + "host": [ + "*.amazonaws.com" + ], + "path": [ + "*" + ] + }, + "types": [ + "image" + ], + "action": "filter", + "active": true, + "title": "Amazon AWS filtered rules", + "description": "To ensure similar URLs load no unrecognized parameters", + "tag": "filter-amazon-aws", + "skipRedirectionFilter": true, + "paramsFilter": { + "values": [ + "X-Amz-Algorithm", + "X-Amz-Credential", + "X-Amz-Date", + "X-Amz-Expires", + "X-Amz-Signature", + "X-Amz-SignedHeaders" + ], + "invert": true + } + }, + { + "title": "Anonymize pictures from Google Maps and Google Street View", + "description": "May%20cause%20problems%20in%20some%20browsers%20like%20Firefox%20ESR%2068.%20Disabled%20by%20default.", + "tag": "privacy-google", + "uuid": "6d25126a-dd1d-4e63-874c-fe0592e9bec1", + "pattern": { + "scheme": "*", + "host": [ + "*.ggpht.com", + "*.google.com", + "*.googleapis.com" + ], + "path": [ + "cbk?*", + "kh?*", + "maps/vt?*", + "v1/tile*" + ] + }, + "types": [ + "image" + ], + "action": "filter", + "active": false, + "paramsFilter": { + "values": [ + "cb_client", + "center", + "deg", + "fov", + "h", + "heading", + "hl", + "key", + "location", + "maptype", + "markers", + "output", + "panoid", + "pb", + "pitch", + "radius", + "signature", + "size", + "source", + "thumb", + "thumbfov", + "v", + "w", + "x", + "y", + "yaw", + "z", + "zoom" + ], + "invert": true + } + }, + { + "title": "Filter tracking parameters in images", + "uuid": "6468e7a9-440d-4727-a09e-c1a5cc386948", + "description": "Remove all non-essential parameters from image requests.", + "tag": "filter-img", + "types": [ + "image" + ], + "pattern": { + "scheme": "*", + "host": [ + "*" + ], + "path": [ + "*" + ], + "excludes": [ + "http://*.imgix.net/", + "https://*.imgix.net/", + "/maps/", + "/captcha/" + ], + "allUrls": true + }, + "action": "filter", + "active": true, + "skipRedirectionFilter": true, + "paramsFilter": { + "values": [ + "token*", + "key*", + "hash*", + "y", + "x", + "z", + "auto", + "crop", + "fit", + "format", + "frame", + "h", + "height", + "q", + "s", + "size", + "w", + "width" + ], + "invert": true + } + }, + { + "uuid": "95758173-ff22-4863-a743-d09a068cca91", + "pattern": { + "scheme": "*", + "host": [ + "cdn.embedly.com" + ], + "path": [ + "/widgets/media.html?src=*" + ] + }, + "types": [ + "sub_frame" + ], + "action": "filter", + "active": true, + "tag": "privacy-redirectors" + }, + { + "uuid": "c7ca4ba4-1a16-4b98-b645-62d22ae582ee", + "pattern": { + "scheme": "*", + "host": [ + "duckduckgo.com" + ], + "path": [ + "l/?*" + ] + }, + "types": [ + "main_frame", + "sub_frame" + ], + "action": "filter", + "active": true, + "tag": "privacy-duckduckgo" + }, + { + "uuid": "07be1337-ceec-4a93-a49e-67e051124a7f", + "tag": "privacy-facebook", + "pattern": { + "scheme": "*", + "host": [ + "l.facebook.*", + "l.instagram.*", + "lm.facebook.*" + ], + "topLevelDomains": [ + "com", + "net" + ], + "path": [ + "?u=*", + "l.php?u=*" + ] + }, + "types": [ + "main_frame", + "sub_frame" + ], + "action": "filter", + "active": true + }, + { + "uuid": "92a96b21-9076-43c2-b030-167bf420e733", + "pattern": { + "scheme": "*", + "host": [ + "m.facebook.com", + "www.facebook.com" + ], + "path": [ + "*" + ] + }, + "types": [ + "main_frame" + ], + "action": "filter", + "active": true, + "tag": "privacy-facebook", + "paramsFilter": { + "values": [ + "_*", + "extid", + "flite", + "fref", + "mt_nav", + "ref", + "referral_code", + "refsrc", + "rid", + "rt", + "sfnsn" + ] + }, + "skipRedirectionFilter": true + }, + { + "uuid": "34ac811a-d7e0-42fb-b509-5a9495c476ee", + "pattern": { + "scheme": "*", + "host": [ + "styles.redditmedia.com" + ], + "path": [ + "*/styles/bannerBackgroundImage_*", + "*/styles/communityIcon_*" + ] + }, + "types": [ + "image" + ], + "action": "filter", + "active": true, + "tag": "privacy-images-reddit", + "skipRedirectionFilter": true, + "trimAllParams": true + }, + { + "uuid": "3baa759b-9afc-41ef-b770-c60e1d9383d2", + "description": "Filter rule to skip and prevent redirection tracking on multiple hosts.", + "tag": "privacy-redirectors", + "pattern": { + "scheme": "*", + "host": [ + "*.tradedoubler.com", + "out.reddit.com", + "steamcommunity.com" + ], + "path": [ + "*url=*" + ] + }, + "types": [ + "main_frame", + "sub_frame" + ], + "action": "filter", + "active": true + }, + { + "uuid": "d78b46f3-6c04-43a8-a907-83c161138e61", + "pattern": { + "scheme": "*", + "host": [ + "www.linkedin.com" + ], + "path": [ + "*" + ], + "excludes": [ + "/\\/checkpoint\\//", + "/\\/jobs\\/\\?/", + "/\\/jobs\\/search\\?/", + "/\\/login\\?/", + "/\\/oauth\\/v2\\//", + "/\\/search\\/\\?/", + "/\\/uas\\/login\\?/", + "/\\/uas\\/logout\\?/" + ] + }, + "types": [ + "main_frame", + "sub_frame" + ], + "action": "filter", + "active": true, + "tag": "privacy-linkedin", + "paramsFilter": { + "values": [ + "url" + ], + "invert": true + } + }, + { + "uuid": "1fa1d22e-7694-46f0-9da6-fa6536433406", + "pattern": { + "scheme": "*", + "host": [ + "*.youtube.com" + ], + "path": [ + "*" + ] + }, + "types": [ + "main_frame", + "sub_frame" + ], + "action": "filter", + "active": true, + "tag": "privacy-youtube", + "paramsFilter": { + "values": [ + "feature", + "gclid", + "kw", + "sp" + ] + }, + "skipRedirectionFilter": true, + "description": "Imported from Neat URL webextension." + }, + { + "uuid": "e1602933-69a7-4901-9259-42b5551101d0", + "pattern": { + "scheme": "*", + "host": [ + "*.maps.api.here.com", + "*.maps.cit.api.here.com" + ], + "path": [ + "/maptile/2.1/maptile/*" + ] + }, + "types": [ + "image" + ], + "action": "filter", + "active": true, + "title": "HERE maps API 2.5.4", + "tag": "privacy-here", + "paramsFilter": { + "values": [ + "app_code", + "app_id", + "lg", + "token" + ], + "invert": true + }, + "skipRedirectionFilter": true + }, + { + "title": "Remove Amazon query parameters", + "description": "Removes all non-whitelisted query parameters on both Amazon store and Prime Video.", + "tag": "privacy-amazon", + "uuid": "6dc06a86-2356-4521-a0c5-08372846df15", + "pattern": { + "scheme": "*", + "host": [ + "*.amazon.*", + "*.primevideo.*" + ], + "path": [ + "*" + ], + "excludes": [ + "://www.amazon.*/ap/*", + "://www.amazon.*/gp/*" + ], + "topLevelDomains": [ + "ae", + "ca", + "cn", + "co.jp", + "co.uk", + "com", + "com.au", + "com.br", + "com.mx", + "com.tr", + "de", + "es", + "fr", + "in", + "it", + "nl", + "sa", + "se", + "sg" + ] + }, + "types": [ + "main_frame" + ], + "action": "filter", + "active": true, + "skipRedirectionFilter": true, + "paramsFilter": { + "values": [ + "_encoding", + "arb", + "cartInitiateId", + "claimToken", + "clientContext", + "field-brandtextbin", + "field-keywords", + "fromAnywhere", + "i", + "ie", + "intercept", + "isToBeGiftWrappedBefore", + "k", + "language", + "location", + "mgh", + "node", + "openid.*", + "pageId", + "partialCheckoutCart", + "proceedToCheckout", + "proceedToRetailCheckout", + "rh", + "url" + ], + "invert": true + } + }, + { + "title": "Remove common tracking query parameters", + "description": "Replicates Neat URL extension. Removes common tracking query parameters from all requests to websites.", + "uuid": "5276a290-b21a-4deb-a86e-aa54c3ff1bcc", + "tag": "privacy-tracking-params", + "pattern": { + "allUrls": true, + "excludes": [ + "https://www.fbsbx.com/captcha/recaptcha/iframe/*" + ] + }, + "types": [ + "main_frame", + "sub_frame" + ], + "action": "filter", + "active": true, + "skipRedirectionFilter": true, + "paramsFilter": { + "values": [ + "CNDID", + "_hsenc", + "_hsmi", + "_openstat", + "action_object_map", + "action_ref_map", + "action_type_map", + "algo_expid", + "algo_pvid", + "at_campaign", + "at_custom*", + "at_medium", + "btsid", + "fb_action_ids", + "fb_action_types", + "fb_ref", + "fb_source", + "fbclid", + "ga_campaign", + "ga_content", + "ga_medium", + "ga_place", + "ga_source", + "ga_term", + "gs_l", + "hmb_campaign", + "hmb_medium", + "hmb_source", + "icid", + "igshid", + "mbid", + "mkt_tok", + "ncid", + "nr_email_referer", + "ref_*", + "referer", + "referrer", + "sc_campaign", + "sc_channel", + "sc_content", + "sc_country", + "sc_geo", + "sc_medium", + "sc_outcome", + "share", + "spJobID", + "spMailingID", + "spReportId", + "spUserID", + "sr_share", + "trackingId", + "trk", + "trkCampaign", + "utm_*", + "vero_conv", + "vero_id", + "ws_ab_test", + "xtor", + "yclid" + ] + } + }, + { + "title": "Remove FBCLID query parameters", + "uuid": "07be1337-4d49-475b-9062-8b191099621b", + "description": "Remove fbclid query parameters from requests. Facebook click identifier query parameters are commonly used as a method to analyze the origin of traffic.", + "tag": "filter-facebook", + "pattern": { + "scheme": "*", + "host": [ + "*" + ], + "path": [ + "*fbclid*" + ] + }, + "types": [ + "main_frame", + "sub_frame" + ], + "action": "filter", + "active": true, + "paramsFilter": { + "values": [ + "fbclid" + ] + }, + "skipRedirectionFilter": true + }, + { + "title": "Remove query parameters from Bing", + "description": "Removes possible tracking query parameters used by Bing", + "uuid": "f53e0a5e-d658-4da5-9b12-143e24c4e1ba", + "pattern": { + "scheme": "*", + "host": [ + "*.bing.com" + ], + "path": [ + "*" + ] + }, + "types": [ + "main_frame", + "sub_frame", + "image" + ], + "action": "filter", + "active": true, + "tag": "privacy-bing", + "paramsFilter": { + "values": [ + "cvid", + "ehk", + "form", + "lg", + "pq", + "qs", + "ru", + "sc", + "sk", + "sp" + ] + }, + "skipRedirectionFilter": true + }, + { + "title": "Remove query parameters from Google pages", + "description": "Removes possible tracking query parameters used by Google.", + "tag": "privacy-google", + "uuid": "0b0d8660-3c95-40ba-8c53-d72328a6cf00", + "pattern": { + "scheme": "*", + "host": [ + "*.google.*" + ], + "path": [ + "*" + ], + "topLevelDomains": [ + "com", + "ad", + "ae", + "com.af", + "com.ag", + "com.ai", + "al", + "am", + "co.ao", + "com.ar", + "as", + "at", + "com.au", + "az", + "ba", + "com.bd", + "be", + "bf", + "bg", + "com.bh", + "bi", + "bj", + "com.bn", + "com.bo", + "com.br", + "bs", + "bt", + "co.bw", + "by", + "com.bz", + "ca", + "cd", + "cf", + "cg", + "ch", + "ci", + "co.ck", + "cl", + "cm", + "cn", + "com.co", + "co.cr", + "com.cu", + "cv", + "com.cy", + "cz", + "de", + "dj", + "dk", + "dm", + "com.do", + "dz", + "com.ec", + "ee", + "com.eg", + "es", + "com.et", + "fi", + "com.fj", + "fm", + "fr", + "ga", + "ge", + "gg", + "com.gh", + "com.gi", + "gl", + "gm", + "gp", + "gr", + "com.gt", + "gy", + "com.hk", + "hn", + "hr", + "ht", + "hu", + "co.id", + "ie", + "co.il", + "im", + "co.in", + "iq", + "is", + "it", + "je", + "com.jm", + "jo", + "co.jp", + "co.ke", + "com.kh", + "ki", + "kg", + "co.kr", + "com.kw", + "kz", + "la", + "com.lb", + "li", + "lk", + "co.ls", + "lt", + "lu", + "lv", + "com.ly", + "co.ma", + "md", + "me", + "mg", + "mk", + "ml", + "com.mm", + "mn", + "ms", + "com.mt", + "mu", + "mv", + "mw", + "com.mx", + "com.my", + "co.mz", + "com.na", + "com.nf", + "com.ng", + "com.ni", + "ng", + "ne", + "nl", + "no", + "com.np", + "nr", + "nu", + "co.nz", + "com.om", + "com.pa", + "com.pe", + "com.pg", + "com.ph", + "com.pk", + "pl", + "pn", + "com.pr", + "ps", + "pt", + "com.py", + "com.qa", + "ro", + "ru", + "rw", + "com.sa", + "com.sb", + "sc", + "se", + "com.sg", + "sh", + "si", + "sk", + "com.sl", + "sn", + "so", + "sm", + "sr", + "st", + "com.sv", + "td", + "tg", + "co.th", + "com.tj", + "tk", + "tl", + "tm", + "tn", + "to", + "com.tr", + "tt", + "com.tw", + "co.tz", + "com.ua", + "co.ug", + "co.uk", + "com.uy", + "co.uz", + "com.vc", + "co.ve", + "vg", + "co.vi", + "com.vn", + "vu", + "ws", + "rs", + "co.za", + "co.zm", + "co.zw", + "cat" + ] + }, + "types": [ + "main_frame", + "sub_frame" + ], + "action": "filter", + "active": true, + "paramsFilter": { + "values": [ + "el", + "gws_rd", + "sel", + "source", + "usp", + "ved" + ] + }, + "skipRedirectionFilter": true + }, + { + "uuid": "e3dd89aa-6fd3-41ae-945f-3617fc03902d", + "pattern": { + "scheme": "*", + "host": [ + "c.disquscdn.com" + ], + "path": [ + "get?url=*" + ] + }, + "types": [ + "image" + ], + "action": "filter", + "active": true, + "title": "Skip Disqus image retriever", + "tag": "privacy-redirectors" + }, + { + "title": "Skip external dereferrers and redirectors", + "description": "This filter is applied globally by URL path. As matched globally, it may result in a site not functioning correctly. Disabled by default.", + "tag": "privacy-redirectors", + "uuid": "4a6b8caf-3d0b-4c95-876e-b2cdcde1eb6a", + "pattern": { + "scheme": "*", + "host": [ + "*" + ], + "path": [ + "*/dereferrer/*", + "*/outgoing?*", + "*redir/redirect?*", + "/deref/*", + "away.php?to=*", + "redirect?*" + ] + }, + "types": [ + "main_frame" + ], + "action": "filter", + "active": false + }, + { + "uuid": "07f60a40-9293-406e-aba9-3926bdb0ef2c", + "pattern": { + "scheme": "*", + "host": [ + "*" + ], + "path": [ + "*" + ], + "includes": [ + "/\\/(ap_resize\\/ap_resize|image|imageproxy|resizer\\/resizer|safe_image)(.php)?\\?/" + ] + }, + "types": [ + "image" + ], + "action": "filter", + "active": true, + "title": "Skip%20image%20downsamplers", + "description": "This filter retrieves the original pictures from the original domains. Disabling this filter will restore the downsampled images.", + "tag": "skip-image-downsamplers" + }, + { + "title": "Skip Mozilla's outgoing link redirection service", + "uuid": "3c4d6fa0-e2fb-4079-b3f0-e453ebe289afalsee", + "tag": "privacy-redirectors", + "pattern": { + "scheme": "*", + "host": [ + "outgoing.prod.mozaws.net" + ], + "path": [ + "*" + ] + }, + "types": [ + "main_frame" + ], + "action": "filter", + "active": true + }, + { + "title": "Skip outgoing page confirmation on DeviantArt", + "uuid": "bc145190-0b68-4ff4-84d3-321e131cd253", + "tag": "filter-deviantArt", + "pattern": { + "scheme": "*", + "host": "*.deviantart.com", + "path": "*outgoing?*" + }, + "types": [ + "main_frame" + ], + "action": "filter", + "active": true + }, + { + "title": "Stop Google search link tracking", + "uuid": "60f46cfa-b906-4a2d-ab66-8f26dc35e97f", + "description": "This filter rule prevents Google from obtaining the URL of clicked search link via URL redirection. The tracking request done in background is classified as a Sub Document type.", + "tag": "privacy-google", + "pattern": { + "scheme": "*", + "host": [ + "www.google.*" + ], + "topLevelDomains": [ + "com", + "ad", + "ae", + "com.af", + "com.ag", + "com.ai", + "al", + "am", + "co.ao", + "com.ar", + "as", + "at", + "com.au", + "az", + "ba", + "com.bd", + "be", + "bf", + "bg", + "com.bh", + "bi", + "bj", + "com.bn", + "com.bo", + "com.br", + "bs", + "bt", + "co.bw", + "by", + "com.bz", + "ca", + "cd", + "cf", + "cg", + "ch", + "ci", + "co.ck", + "cl", + "cm", + "cn", + "com.co", + "co.cr", + "com.cu", + "cv", + "com.cy", + "cz", + "de", + "dj", + "dk", + "dm", + "com.do", + "dz", + "com.ec", + "ee", + "com.eg", + "es", + "com.et", + "fi", + "com.fj", + "fm", + "fr", + "ga", + "ge", + "gg", + "com.gh", + "com.gi", + "gl", + "gm", + "gp", + "gr", + "com.gt", + "gy", + "com.hk", + "hn", + "hr", + "ht", + "hu", + "co.id", + "ie", + "co.il", + "im", + "co.in", + "iq", + "is", + "it", + "je", + "com.jm", + "jo", + "co.jp", + "co.ke", + "com.kh", + "ki", + "kg", + "co.kr", + "com.kw", + "kz", + "la", + "com.lb", + "li", + "lk", + "co.ls", + "lt", + "lu", + "lv", + "com.ly", + "co.ma", + "md", + "me", + "mg", + "mk", + "ml", + "com.mm", + "mn", + "ms", + "com.mt", + "mu", + "mv", + "mw", + "com.mx", + "com.my", + "co.mz", + "com.na", + "com.nf", + "com.ng", + "com.ni", + "ng", + "ne", + "nl", + "no", + "com.np", + "nr", + "nu", + "co.nz", + "com.om", + "com.pa", + "com.pe", + "com.pg", + "com.ph", + "com.pk", + "pl", + "pn", + "com.pr", + "ps", + "pt", + "com.py", + "com.qa", + "ro", + "ru", + "rw", + "com.sa", + "com.sb", + "sc", + "se", + "com.sg", + "sh", + "si", + "sk", + "com.sl", + "sn", + "so", + "sm", + "sr", + "st", + "com.sv", + "td", + "tg", + "co.th", + "com.tj", + "tk", + "tl", + "tm", + "tn", + "to", + "com.tr", + "tt", + "com.tw", + "co.tz", + "com.ua", + "co.ug", + "co.uk", + "com.uy", + "co.uz", + "com.vc", + "co.ve", + "vg", + "co.vi", + "com.vn", + "vu", + "ws", + "rs", + "co.za", + "co.zm", + "co.zw", + "cat" + ], + "path": [ + "url?*" + ] + }, + "types": [ + "main_frame", + "sub_frame" + ], + "action": "filter", + "redirectDocument": true, + "active": true + }, + { + "uuid": "297fb0c7-d052-4031-9947-fc7a9b7690af", + "pattern": { + "scheme": "*", + "host": [ + "web.whatsapp.com" + ], + "path": [ + "/pp?*" + ] + }, + "types": [ + "image", + "media" + ], + "action": "filter", + "active": true, + "title": "WhatsApp Web images", + "tag": "privacy-images-whatsapp", + "description": "User avatars in WhatsApp Web need an extra rule to filter URL parameters", + "paramsFilter": { + "values": [ + "n" + ] + } + }, + { + "uuid": "3a560339-2f03-4ab1-b6e3-db1edb01a875", + "pattern": { + "scheme": "*", + "host": [ + "*.awstrack.me" + ], + "path": [ + "/L0/*" + ] + }, + "action": "redirect", + "active": true, + "title": "AWS SES (awstrack.me)", + "description": "Strip destination from AWS SES links (awstrack.me), often found in newsletter emails.", + "tag": "privacy-redirectors", + "trimAllParams": true, + "redirectUrl": "[href={pathname/\\/L0\\//$'|decodeURIComponent}]" + }, + { + "uuid": "f92c840f-2d25-4332-8cfe-18c3b06285eb", + "pattern": { + "scheme": "*", + "host": [ + "*://reuters.com/*", + "*://www.reuters.com/*" + ], + "path": [ + "*" + ] + }, + "types": [ + "main_frame" + ], + "action": "redirect", + "active": true, + "title": "Reuters%3A%20%20%E2%86%92%20neuters", + "redirectUrl": "https://neuters.de/{pathname:1}", + "description": "Redirect%20reuters%20to%20https%3A%2F%2Fneuters.de%2F%7Bpathname%3A1%7D", + "tag": "Reuters" + }, + { + "uuid": "d5f1deb0-f7b4-4c45-9a7e-6ea04a051e51", + "pattern": { + "scheme": "*", + "host": [ + "fb.me" + ], + "path": [ + "*" + ] + }, + "types": [ + "main_frame", + "sub_frame" + ], + "action": "redirect", + "active": true, + "tag": "privacy-facebook", + "redirectUrl": "https://www.facebook.com/{pathname:1}" + }, + { + "uuid": "4ead820a-429f-4e7c-a7ca-7241305bcedb", + "pattern": { + "scheme": "*", + "host": [ + "youtu.be" + ], + "path": [ + "*" + ] + }, + "action": "redirect", + "active": true, + "redirectUrl": "https://yewtu.be/watch?v={pathname:1}{search/^\\?/&}{hash}", + "tag": "privacy-youtube", + "types": [ + "main_frame" + ], + "description": "Redirect%20rule%20to%20https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3D%7Bpathname%3A1%7D%7Bsearch%2F%5E%5C%3F%2F%26%7D%7Bhash%7D", + "title": "Redirect%3A%20youtu.be%20%E2%86%92%20https%3A%2F%2Fyewtu.be%2Fwatch%3Fv%3D%7Bpathname%3A1%7D%7Bsearch%2F%5E%5C%3F%2F%26%7D%7Bhash%7D" + }, + { + "title": "Skip Amazon Picasso redirect", + "description": "Skip Picasso redirect used on occasion by Amazon to track purchases", + "tag": "privacy-amazon", + "uuid": "816c76d6-ad2e-4f7c-94be-e2436c93fe34", + "pattern": { + "scheme": "*", + "host": [ + "*.amazon.*" + ], + "path": [ + "*/picassoRedirect.html/*" + ], + "topLevelDomains": [ + "ae", + "ca", + "cn", + "co.jp", + "co.uk", + "com", + "com.au", + "com.br", + "com.mx", + "com.tr", + "de", + "es", + "fr", + "in", + "it", + "nl", + "sa", + "se", + "sg" + ] + }, + "types": [ + "main_frame", + "sub_frame" + ], + "action": "redirect", + "active": true, + "redirectUrl": "https://{hostname}{search/.*url=(.*)/$1|decodeURIComponent}&alpha" + }, + { + "uuid": "e3384047-a2b2-433e-a52c-f46eea48305f", + "pattern": { + "scheme": "*", + "host": [ + "disq.us" + ], + "path": [ + "url?url=*" + ] + }, + "types": [ + "main_frame", + "sub_frame" + ], + "action": "redirect", + "active": true, + "title": "Skip Disqus redirector", + "redirectUrl": "{search/\\?url=([^&]*)&.*/$1|decodeURIComponent|/:[A-Za-z0-9-]*$/}", + "tag": "privacy-redirectors", + "description": "A suffix after the destination URL causes the usual approach to fail" + }, + { + "uuid": "fed6a72e-5f49-4a72-971f-64c67ab7fb3c", + "pattern": { + "scheme": "*", + "host": [ + "*.google.*" + ], + "path": [ + "amp/s/*" + ], + "topLevelDomains": [ + "com", + "ad", + "ae", + "com.af", + "com.ag", + "com.ai", + "al", + "am", + "co.ao", + "com.ar", + "as", + "at", + "com.au", + "az", + "ba", + "com.bd", + "be", + "bf", + "bg", + "com.bh", + "bi", + "bj", + "com.bn", + "com.bo", + "com.br", + "bs", + "bt", + "co.bw", + "by", + "com.bz", + "ca", + "cd", + "cf", + "cg", + "ch", + "ci", + "co.ck", + "cl", + "cm", + "cn", + "com.co", + "co.cr", + "com.cu", + "cv", + "com.cy", + "cz", + "de", + "dj", + "dk", + "dm", + "com.do", + "dz", + "com.ec", + "ee", + "com.eg", + "es", + "com.et", + "fi", + "com.fj", + "fm", + "fr", + "ga", + "ge", + "gg", + "com.gh", + "com.gi", + "gl", + "gm", + "gp", + "gr", + "com.gt", + "gy", + "com.hk", + "hn", + "hr", + "ht", + "hu", + "co.id", + "ie", + "co.il", + "im", + "co.in", + "iq", + "is", + "it", + "je", + "com.jm", + "jo", + "co.jp", + "co.ke", + "com.kh", + "ki", + "kg", + "co.kr", + "com.kw", + "kz", + "la", + "com.lb", + "li", + "lk", + "co.ls", + "lt", + "lu", + "lv", + "com.ly", + "co.ma", + "md", + "me", + "mg", + "mk", + "ml", + "com.mm", + "mn", + "ms", + "com.mt", + "mu", + "mv", + "mw", + "com.mx", + "com.my", + "co.mz", + "com.na", + "com.nf", + "com.ng", + "com.ni", + "ng", + "ne", + "nl", + "no", + "com.np", + "nr", + "nu", + "co.nz", + "com.om", + "com.pa", + "com.pe", + "com.pg", + "com.ph", + "com.pk", + "pl", + "pn", + "com.pr", + "ps", + "pt", + "com.py", + "com.qa", + "ro", + "ru", + "rw", + "com.sa", + "com.sb", + "sc", + "se", + "com.sg", + "sh", + "si", + "sk", + "com.sl", + "sn", + "so", + "sm", + "sr", + "st", + "com.sv", + "td", + "tg", + "co.th", + "com.tj", + "tk", + "tl", + "tm", + "tn", + "to", + "com.tr", + "tt", + "com.tw", + "co.tz", + "com.ua", + "co.ug", + "co.uk", + "com.uy", + "co.uz", + "com.vc", + "co.ve", + "vg", + "co.vi", + "com.vn", + "vu", + "ws", + "rs", + "co.za", + "co.zm", + "co.zw", + "cat" + ] + }, + "types": [ + "main_frame" + ], + "action": "redirect", + "active": true, + "title": "Skip Google AMP redirector", + "tag": "privacy-google", + "redirectUrl": "https://{pathname:7}" + }, + { + "title": "Skip Qwant Lite redirect", + "description": "Skip Qwant Lite redirect in search results", + "uuid": "62b1a6c1-76ea-43c1-9d4d-dde55d5855e9", + "pattern": { + "scheme": "*", + "host": [ + "lite.qwant.com" + ], + "path": [ + "redirect/*" + ] + }, + "types": [ + "main_frame" + ], + "action": "redirect", + "active": true, + "redirectUrl": "{pathname/\\/redirect\\/[A-Za-z0-9]+==\\//|decodeBase64|decodeURIComponent}" + }, + { + "title": "Block Beacon and Ping requests", + "description": "Blocks Beacon and Ping requests. The Beacon API is often used for logging user activity and sending analytics data to the server.", + "tag": "block-beacon-ping", + "uuid": "32db1f93-f99d-4c45-8485-e5c7beec5a69", + "pattern": { + "allUrls": true + }, + "action": "block", + "active": true, + "types": [ + "beacon", + "ping" + ] + }, + { + "title": "Block third-party fonts", + "tag": "block-fonts", + "pattern": { + "scheme": [ + "http", + "https" + ], + "host": [ + "*.fonts.com", + "*.fonts.net", + "*.fontawesome.com", + "fonts.google.com" + ], + "origin": "cross-domain" + }, + "types": [ + "font" + ], + "action": "block", + "active": true, + "uuid": "ccc2d4a9-e062-499a-b10c-3c9ba5240c12" + }, + { + "title": "Block third-party frames", + "tag": "block-frames", + "pattern": { + "scheme": [ + "http", + "https" + ], + "host": [ + "*.youtube.com", + "*.vimeo.com" + ], + "origin": "cross-domain" + }, + "types": [ + "sub_frame" + ], + "action": "block", + "active": true, + "uuid": "b9c7f0af-e243-46d1-9f19-bc4594ff5172" + }, + { + "title": "Block third-party scripts", + "tag": "block-scripts", + "pattern": { + "scheme": [ + "http", + "https" + ], + "host": [ + "*.google-analytics.com", + "*.doubleclick.net", + "*.facebook.net" + ], + "origin": "cross-domain" + }, + "types": [ + "script" + ], + "action": "block", + "active": true, + "uuid": "5b16b42c-fbd0-47f6-9100-54d5ed977780" + }, + { + "title": "Block Youtube mouselogger and watchtime logger", + "uuid": "23f612f1-d903-4715-99a5-5559035400e5", + "pattern": { + "scheme": "*", + "host": [ + "*.youtube.com" + ], + "path": [ + "api/stats/watchtime*", + "youtubei/v1/log_event*" + ] + }, + "types": [ + "image", + "xmlhttprequest" + ], + "action": "block", + "active": true, + "description": "May cause issues after the end of the video if logged in. Disabled by default. Now enabled", + "tag": "privacy-youtube" + }, + { + "title": "Allow CAPTCHAs", + "tag": "allow-captchas", + "pattern": { + "scheme": [ + "http", + "https" + ], + "host": [ + "*" + ], + "path": [ + "*captcha*" + ], + "origin": "same-domain" + }, + "types": [ + "image" + ], + "action": "whitelist", + "active": true, + "uuid": "eb972f81-5515-40e1-8816-cfdb316dc671" + }, + { + "title": "Allow content images", + "tag": "allow-content-images", + "pattern": { + "scheme": [ + "http", + "https" + ], + "host": [ + "example.com", + "example.org" + ], + "path": [ + "*" + ] + }, + "types": [ + "image" + ], + "action": "whitelist", + "active": true, + "uuid": "382a1728-6d9c-4670-8e89-929edc16fd9b" + }, + { + "title": "Allow favicons", + "tag": "allow-favicons", + "pattern": { + "scheme": [ + "http", + "https" + ], + "host": [ + "*" + ], + "path": [ + "/favicon.ico" + ] + }, + "types": [ + "image" + ], + "action": "whitelist", + "active": true, + "uuid": "2ba9be70-aadb-4812-a3f5-327af77cf6f0" + }, + { + "title": "Allow same origin images", + "tag": "allow-same-origin-images", + "pattern": { + "scheme": [ + "http", + "https" + ], + "host": [ + "*" + ], + "path": [ + "*" + ], + "origin": "same-domain" + }, + "types": [ + "image" + ], + "action": "whitelist", + "active": true, + "uuid": "03491ed4-3334-4b66-bcd6-76780611e30e" + }, + { + "title": "Allow user profile images", + "tag": "allow-user-images", + "pattern": { + "scheme": [ + "http", + "https" + ], + "host": [ + "*" + ], + "path": [ + "/avatars/*", + "/profile/*" + ] + }, + "types": [ + "image" + ], + "action": "whitelist", + "active": true, + "uuid": "67d2e8c3-afa0-418c-b085-761a47bd6075" + }, + { + "uuid": "2f1f11df-0c77-46c2-bc5d-7f8f9f5074cb", + "pattern": { + "scheme": "https", + "host": [ + "*.amazon.*" + ], + "path": [ + "*uedata*" + ], + "topLevelDomains": [ + "ae", + "ca", + "cn", + "co.jp", + "co.uk", + "com", + "com.au", + "com.br", + "com.mx", + "com.tr", + "de", + "es", + "fr", + "in", + "it", + "nl", + "sa", + "se", + "sg" + ] + }, + "types": [ + "image" + ], + "action": "whitelist", + "active": true, + "title": "Amazon tracking pixels", + "description": "Whitelisted on uBlock Origin as well. Blocking them may cause login to fail.", + "tag": "privacy-images", + "log": true + }, + { + "uuid": "bd61a299-f45e-4dee-a16c-be91ae8f937f", + "pattern": { + "scheme": "*", + "host": [ + "ecn.t0.tiles.virtualearth.net", + "ecn.t1.tiles.virtualearth.net", + "ecn.t2.tiles.virtualearth.net", + "ecn.t3.tiles.virtualearth.net", + "t.ssl.ak.dynamic.tiles.virtualearth.net", + "t.ssl.ak.tiles.virtualearth.net" + ], + "path": [ + "comp/ch/*?mkt=*", + "tiles/*?g=*" + ] + }, + "types": [ + "image" + ], + "action": "whitelist", + "active": true, + "title": "Bing map and street view provider", + "tag": "privacy-images" + }, + { + "uuid": "da3107bd-8fc1-4829-b4c4-6303af4af5fd", + "pattern": { + "scheme": "https", + "host": [ + "*" + ], + "path": [ + "*-captchaImage&antiCache=*", + "*action=formmakerwdcaptcha&*", + "*action=formmakerwdmathcaptcha&*", + "*action=nopriv_formmakerwdcaptcha&*", + "*action=nopriv_formmakerwdmathcaptcha&*", + "*captcha/api2/payload*", + "*recaptcha/enterprise/payload*", + "/w/index.php?title=*&wpCaptchaId=*", + "https://opfcaptcha-prod.s3.amazonaws.com/*" + ], + "origin": "same-domain" + }, + "types": [ + "image", + "media" + ], + "action": "whitelist", + "active": true, + "title": "CAPTCHAs", + "tag": "privacy-images", + "description": "This filter includes reCAPTCHA and other CAPTCHA systems" + }, + { + "uuid": "de12ff52-0cc2-468b-8dc9-6d3e56ca3389", + "pattern": { + "scheme": "*", + "host": [ + "duckduckgo.com" + ], + "path": [ + "mapkit/?*" + ] + }, + "types": [ + "image" + ], + "action": "whitelist", + "active": true, + "title": "DuckDuckGo map provider", + "tag": "privacy-images" + }, + { + "uuid": "1123f3fd-fde5-4992-af96-c580c0f69186", + "pattern": { + "scheme": "*", + "host": [ + "*" + ], + "path": [ + "*/validate-email*" + ] + }, + "types": [ + "main_frame", + "sub_frame" + ], + "action": "whitelist", + "active": true, + "tag": "privacy-tracking-params", + "title": "E-mail verification", + "description": "Most websites send activation links via e-mail to prevent spam. Some of these links are incorrectly filtered." + }, + { + "uuid": "91561207-76db-4850-85cb-5e34dedafa90", + "pattern": { + "scheme": "*", + "host": [ + "*" + ], + "path": [ + "*action=AttachFile&do=get&target=*" + ], + "origin": "same-domain" + }, + "types": [ + "image" + ], + "action": "whitelist", + "active": true, + "title": "Embedded images in MoinMoin based wikis and similar.", + "description": "Notably used on wiki.ubuntu.com.", + "tag": "privacy-images" + }, + { + "uuid": "9a0a3b89-7fd4-4838-a5d2-a1e39da8006b", + "pattern": { + "scheme": "*", + "host": [ + "*.fna.fbcdn.net", + "*.xx.fbcdn.net" + ], + "path": [ + "static_map.php?*" + ] + }, + "types": [ + "image" + ], + "action": "whitelist", + "active": true, + "title": "Facebook map thumbnail provider", + "tag": "privacy-images" + }, + { + "uuid": "5c27a1dc-3446-472d-9e26-e001b5a32e51", + "pattern": { + "scheme": "*", + "host": [ + "s2.googleusercontent.com" + ], + "path": [ + "s2/favicons?domain_url=*" + ] + }, + "types": [ + "image" + ], + "action": "whitelist", + "active": true, + "title": "Favicons at YouTube", + "tag": "privacy-images" + }, + { + "uuid": "42c98357-aba0-4e8a-9df2-739c885cfde8", + "pattern": { + "scheme": "*", + "host": [ + "*.imgix.net", + "attachment.outlook.live.net", + "badge.dimensions.ai", + "badges.altmetric.com", + "chart.googleapis.com", + "external-preview.redd.it", + "i.mycdn.me", + "imagebank.osa.org", + "img.shields.io", + "media-exp1.licdn.com", + "media.gettyimages.com", + "media.istockphoto.com", + "pbs.twimg.com", + "preview.redd.it", + "raster.shields.io", + "shields.io" + ], + "path": [ + "*?*" + ] + }, + "types": [ + "image" + ], + "action": "whitelist", + "active": true, + "title": "Image providers", + "description": "Includes sites whose sole function is providing images for other web pages, and sites with a dedicated server for serving images. (Whitelisted on ALL domains)", + "tag": "privacy-images" + }, + { + "uuid": "26b61cb2-b847-40c1-bd89-c31327434643", + "pattern": { + "scheme": "*", + "host": [ + "external-content.duckduckgo.com", + "gatherer.wizards.com", + "img.dafont.com", + "outlook.office.com", + "render.fontstruct.com", + "render01.fontshop.com", + "www.osapublishing.org", + "www.signbank.org" + ], + "path": [ + "*?*" + ], + "origin": "same-domain" + }, + "types": [ + "image" + ], + "action": "whitelist", + "active": true, + "title": "Image-dependent sites", + "description": "Some sites, like typesetting shops, are heavily dependent on images. (Image and web document MUST share domain.) DuckDuckgo's external preview server is exceptionally included because of its efforts against user tracking and search bubbling.", + "tag": "privacy-images" + }, + { + "uuid": "105d848c-abe4-4ea4-a9da-8fd00cc760d0", + "pattern": { + "scheme": "*", + "host": [ + "*.archive.org" + ], + "path": [ + "/BookReader/BookReaderImages.php?zip=*" + ] + }, + "types": [ + "image" + ], + "action": "whitelist", + "active": true, + "title": "Internet Archive book reader", + "tag": "privacy-images", + "description": "Unblocks book scans served from the Internet Archive online book reader", + "log": true + }, + { + "uuid": "802e0c21-922e-4501-a652-da805caedb01", + "pattern": { + "scheme": "*", + "host": [ + "i.ytimg.com", + "i9.ytimg.com" + ], + "path": [ + "/an_webp/*/*default_6s.webp*", + "/sb/*/storyboard*" + ] + }, + "types": [ + "image" + ], + "action": "whitelist", + "active": true, + "title": "Restore YouTube previews", + "description": "The general filter rule breaks the previews shown upon hovering over the seekbar or a thumbnail. This rule restores them at the cost of sending unknown metadata to YouTube servers. Disabling this rule will not break YouTube's other functions.", + "tag": "privacy-images" + }, + { + "uuid": "89d698fb-1e90-4703-ad42-85e6fdf9d1bf", + "pattern": { + "scheme": "*", + "host": [ + "*.drive.google.com", + "*.googlevideo.com" + ], + "path": [ + "videoplayback?*sig=*sig=*" + ] + }, + "types": [ + "image", + "media" + ], + "action": "whitelist", + "active": true, + "title": "Signed Google Video requests", + "description": "Removing any parameter from these requests will cause the video not to load. Enabled by default. (This sort of requests is used by Google Drive, and 3rd-party sites like Invidious instances.)", + "tag": "privacy-images" + }, + { + "uuid": "311886d6-bf8b-4112-aea3-9539cc40c318", + "pattern": { + "scheme": "*", + "host": [ + "maps.google.com", + "maps.googleapis.com" + ], + "path": [ + "/maps/api/js/StaticMapService.GetMapImage*", + "/maps/api/staticmap?*&signature=*" + ] + }, + "types": [ + "image" + ], + "action": "whitelist", + "active": true, + "title": "Static%20Google%20Maps", + "description": "Removing any parameter in these requests (signed maps, and base image for some embedded maps) will make it fail.", + "tag": "privacy-images" + }, + { + "uuid": "0ce012d9-8492-40eb-ae75-f7c48b4f97d3", + "pattern": { + "scheme": "*", + "host": [ + "*" + ], + "path": [ + "*download/file.php?avatar=*", + "/avatar.php?*", + "/avatar/*", + "/avatars/*", + "/data/avatars/*", + "/user_avatar/*", + "/user_cover/*", + "/userkarma.php?*" + ] + }, + "types": [ + "image" + ], + "action": "whitelist", + "active": true, + "title": "User avatars and karma at community-driven sites", + "description": "e.g. phpBB forums, WikiDot wikis.", + "tag": "privacy-images" + }, + { + "uuid": "e1262258-f5c2-4c2d-baa0-4a0e9ffcef3d", + "pattern": { + "scheme": "*", + "host": [ + "core-renderer-tiles.maps.yandex.net", + "vec01.maps.yandex.net", + "vec02.maps.yandex.net", + "vec03.maps.yandex.net", + "vec04.maps.yandex.net" + ], + "path": [ + "/tiles?l=map&*" + ] + }, + "types": [ + "image" + ], + "action": "whitelist", + "active": true, + "title": "Yandex maps", + "tag": "privacy-images" + } +] \ No newline at end of file diff --git a/mozilla/ff/user-overrides.js b/mozilla/ff/user-overrides.js new file mode 100644 index 0000000..9c840e9 --- /dev/null +++ b/mozilla/ff/user-overrides.js @@ -0,0 +1,161 @@ +/** __ __ .__ +* _____ _____ _/ |__/ |_ _____ ___________ |__| ____ +* / \\__ \\ __\ __\/ \ / _ \_ __ \| |/ \ +* | Y Y \/ __ \| | | | | Y Y ( <_> ) | \/| | | \ +* |__|_| (____ /__| |__| |__|_| /\____/|__| /\__|___| / +* \/ \/ \/ \/ \/ +* +* U S E R-O V E R R I D E S.J S F O R F I R E F O X +* +* This file is part of user-overrides.js. +* source and info: +* https://git.mattmor.in/dotfiles/mozilla/ff/user-overrides.js +* +* License info: +* user-overrides.js is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by the Free Software Foundation, +* either version 3 of the License, or (at your option) any later version. +* user-overrides.js is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; +* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +* See the GNU General Public License for more details. +* You should have received a copy of the GNU General Public License along with user-overrides.js. +* If not, see . +*/ + +user_pref("_user.js.parrot", "syntax error @ TESTING"); // troubleshooting pref - do not edit + +/* PRIVACY OVERRIDES */ +// Mozilla forcing Google down your throat in privateMode even if default searchEngine is different +user_pref("browser.search.separatePrivateDefault", false); +user_pref("browser.search.separatePrivateDefault.ui.enabled", false); +user_pref("browser.search.serpEventTelemetry.enabled", false); +// Mozilla whitelisting their bullshit +user_pref("extensions.webextensions.restrictedDomains", ""); +// "Not officialy supported "https://bugzilla.mozilla.org/show_bug.cgi?id=1310082#c30 +user_pref("privacy.resistFingerprinting.block_mozAddonManager", true); +// Do not track header used for fingerprinting paradoxically +user_pref("privacy.donottrackheader.enabled", false); + +// Safe Browsing +user_pref("browser.safebrowsing.malware.enabled", false); +user_pref("browser.safebrowsing.phishing.enabled", false); +user_pref("browser.safebrowsing.downloads.enabled", false); +user_pref("browser.safebrowsing.downloads.remote.enabled", false); +user_pref("browser.safebrowsing.downloads.remote.url", ""); +user_pref("browser.safebrowsing.downloads.remote.block_potentially_unwanted", false); +user_pref("browser.safebrowsing.downloads.remote.block_uncommon", false); +user_pref("browser.safebrowsing.allowOverride", false); + +// Locking all telemetry to be sure +user_pref("app.update.lastUpdateTime.telemetry_modules_ping", 1); +user_pref("browser.newtabpage.activity-stream.feeds.telemetry", false); +user_pref("browser.newtabpage.activity-stream.telemetry", false); +user_pref("browser.newtabpage.activity-stream.telemetry.structuredIngestion", false); +user_pref("browser.newtabpage.activity-stream.telemetry.structuredIngestion.endpoint", ""); +user_pref("browser.newtabpage.activity-stream.telemetry.ut.events", false); +user_pref("browser.ping-centre.telemetry", false); +user_pref("browser.urlbar.eventTelemetry.enabled", false); +user_pref("dom.security.unexpected_system_load_telemetry_enabled", false); +user_pref("privacy.trackingprotection.origin_telemetry.enabled", false); +user_pref("security.app_menu.recordEventTelemetry", false); +user_pref("security.certerrors.recordEventTelemetry", false); +user_pref("security.identitypopup.recordEventTelemetry", false); +user_pref("security.protectionspopup.recordEventTelemetry", false); +user_pref("services.sync.telemetry.maxPayloadCount", 500); +user_pref("services.sync.telemetry.submissionInterval", 43200); +user_pref("telemetry.fog.test.localhost_port", 0); +user_pref("telemetry.number_of_site_origin.min_interval", 300000); +user_pref("telemetry.origin_telemetry_test_mode.enabled", false); +user_pref("toolkit.telemetry.archive.enabled", false); +user_pref("toolkit.telemetry.bhrPing.enabled", false); +user_pref("toolkit.telemetry.cachedClientID", ""); +user_pref("toolkit.telemetry.debugSlowSql", false); +user_pref("toolkit.telemetry.ecosystemtelemetry.enabled", false); +user_pref("toolkit.telemetry.enabled", false); +user_pref("toolkit.telemetry.firstShutdownPing.enabled", false); +user_pref("toolkit.telemetry.geckoview.batchDurationMS", 5000); +user_pref("toolkit.telemetry.geckoview.maxBatchStalenessMS", 60000); +user_pref("toolkit.telemetry.geckoview.streaming", false); +user_pref("toolkit.telemetry.ipcBatchTimeout", 2000); +user_pref("toolkit.telemetry.newProfilePing.enabled", false); +user_pref("toolkit.telemetry.previousBuildID", ""); +user_pref("toolkit.telemetry.reportingpolicy.firstRun", false); +user_pref("toolkit.telemetry.server", ""); +user_pref("toolkit.telemetry.server_owner", ""); +user_pref("toolkit.telemetry.shutdownPingSender.enabled", false); +user_pref("toolkit.telemetry.shutdownPingSender.enabledFirstSession", false); +user_pref("toolkit.telemetry.testing.overrideProductsCheck", false); +user_pref("toolkit.telemetry.unified", false); +user_pref("toolkit.telemetry.updatePing.enabled", false); +user_pref("telemetry", false); + +// ==== USE CONTAINERS ==== +user_pref("privacy.userContext.newTabContainerOnLeftClick.enabled", true); + +/**/ +user_pref("layout.css.grid-template-masonry-value.enabled", true); // enable css masonry grid layout +user_pref("network.preconnect", false); // mitigate some privacy issues +user_pref("dom.element.popover.enabled", false); // (v122+) disable new pop-up API which apparently will be toggled on in future version +user_pref("dom.events.asyncClipboard.readText", false); // (v122+) disable new clipboard API which may be toggled on in future version +user_pref("dom.events.asyncClipboard.clipboardItem", false); // (v122+) disable new clipboard API which may be toggled on in future version + +// ==== Engagement UI Telemetry ? browser engagement turn to average user, is it dynamic? ==== +user_pref("media.videocontrols.picture-in-picture.video-toggle.has-used", false); +user_pref("browser.engagement.recent_visited_origins.expiry",); +user_pref("browser.engagement.sidebar-button.has-used", false); +user_pref("browser.engagement.library-button.has-used", false); +user_pref("browser.engagement.home-button.has-used", false); +user_pref("browser.engagement.fxa-toolbar-menu-button.has-used", false); +user_pref("browser.engagement.downloads-button.has-used", true); +user_pref("browser.engagement.ctrlTab.has-used", false); + +// ==== Telemetry not turned off in arkenfox for some reason ==== +// https://github.com/arkenfox/user.js/issues/994#issuecomment-678783432 +user_pref("dom.security.unexpected_system_load_telemetry_enabled", false); + +// ============================================================================= + +// ============================================================================= + +user_pref("_user.js.parrot", "syntax error @ TESTING"); // troubleshooting pref - do not edit + +/* USABILITY OVERRIDES */ +// ==== DEVTOOLS ==== +user_pref("devtools.netmonitor.panes-search-width", 360); +// ==== Previews ==== +user_pref("browser.tabs.cardPreview.enabled", true); +// 400 Seems ideal -> when in preview, u can't scroll through tabs... +user_pref("browser.tabs.cardPreview.delayMs", 400); +user_pref("browser.tabs.cardPreview.showThumbnails", true); +// AwesomeBar is the newtabpage and this automatically reverts it to urlbar +user_pref("browser.newtabpage.activity-stream.improvesearch.handoffToAwesomebar", false); +// [no clue - off] +user_pref("browser.newtabpage.activity-stream.improvesearch.noDefaultSearchTile", false); +// [no clue - keep] maybe it's other search engine up down select to search with different ones then default +user_pref("browser.newtabpage.activity-stream.improvesearch.topSiteSearchShortcuts", false); +// + +user_pref("browser.search.suggest.enabled", false); +user_pref("browser.search.update", false); + +// ==== CPD - Clear everything dialog ==== +user_pref("privacy.cpd.cache", true); +user_pref("privacy.cpd.cookies", true); +user_pref("privacy.cpd.downloads", true); +user_pref("privacy.cpd.formdata", true); +user_pref("privacy.cpd.history", true); +user_pref("privacy.cpd.offlineApps", true); +user_pref("privacy.cpd.openWindows", true); +user_pref("privacy.cpd.passwords", true); +user_pref("privacy.cpd.sessions", true); +user_pref("privacy.cpd.siteSettings", true); + +// === Stupid syncaccount appeared in taskbar +user_pref("browser.newtabpage.activity-stream.fxaccounts.endpoint", 0); +user_pref("identity.fxaccounts.enabled", false); +user_pref("identity.fxaccounts.toolbar.accessed", false); +user_pref("identity.fxaccounts.pairing.enabled", false); +user_pref("identity.fxaccounts.toolbar.defaultVisible", false); +user_pref("identity.fxaccounts.toolbar.enabled", false); +user_pref("identity.fxaccounts.toolbar.pxiToolbarEnabled", false); +