diff --git a/chromium/background-scripts/background.js b/chromium/background-scripts/background.js index 6a7be847b8a0..2a1d8769df4d 100644 --- a/chromium/background-scripts/background.js +++ b/chromium/background-scripts/background.js @@ -276,6 +276,12 @@ var urlBlacklist = new Set(); // TODO: Remove this code if they ever give us a real counter var redirectCounter = new Map(); +const cancelUrl = chrome.extension.getURL("/pages/cancel/index.html"); + +function redirectOnCancel(shouldCancel){ + return shouldCancel ? {redirectUrl: cancelUrl} : {cancel: false}; +} + /** * Called before a HTTP(s) request. Does the heavy lifting * Cancels the request/redirects it to HTTPS. URL modification happens in here. @@ -298,7 +304,7 @@ function onBeforeRequest(details) { // true if the URL is a http:// connection to a remote canonical host, and not // a tor hidden service const shouldCancel = httpNowhereOn && - uri.protocol === 'http:' && + (uri.protocol === 'http:' || uri.protocol === 'ftp:') && uri.hostname.slice(-6) !== '.onion' && uri.hostname !== 'localhost' && !/^127(\.[0-9]{1,3}){3}$/.test(uri.hostname) && @@ -323,7 +329,7 @@ function onBeforeRequest(details) { " changed before processing to " + uri.href); } if (urlBlacklist.has(uri.href)) { - return {cancel: shouldCancel}; + return redirectOnCancel(shouldCancel); } if (details.type == "main_frame") { @@ -337,7 +343,7 @@ function onBeforeRequest(details) { urlBlacklist.add(uri.href); rules.settings.domainBlacklist.add(uri.hostname); util.log(util.WARN, "Domain blacklisted " + uri.hostname); - return {cancel: shouldCancel}; + return redirectOnCancel(shouldCancel); } // whether to use mozilla's upgradeToSecure BlockingResponse if available @@ -393,9 +399,15 @@ function onBeforeRequest(details) { newuristr = newuristr.replace(/^http:/, "https:"); } } - if (newuristr && newuristr.substring(0, 5) === "http:") { - // Abort early if we're about to redirect to HTTP in HTTP Nowhere mode - return {cancel: true}; + if ( + newuristr && + ( + newuristr.substring(0, 5) === "http:" || + newuristr.substring(0, 4) === "ftp:" + ) + ) { + // Abort early if we're about to redirect to HTTP or FTP in HTTP Nowhere mode + return {redirectUrl: cancelUrl}; } } @@ -407,7 +419,7 @@ function onBeforeRequest(details) { return {redirectUrl: newuristr}; } else { util.log(util.INFO, 'onBeforeRequest returning shouldCancel: ' + shouldCancel); - return {cancel: shouldCancel}; + return redirectOnCancel(shouldCancel); } } @@ -636,7 +648,7 @@ function onHeadersReceived(details) { // Registers the handler for requests // See: https://github.com/EFForg/https-everywhere/issues/10039 -chrome.webRequest.onBeforeRequest.addListener(onBeforeRequest, {urls: ["*://*/*"]}, ["blocking"]); +chrome.webRequest.onBeforeRequest.addListener(onBeforeRequest, {urls: ["*://*/*", "ftp://*/*"]}, ["blocking"]); // Try to catch redirect loops on URLs we've redirected to HTTPS. chrome.webRequest.onBeforeRedirect.addListener(onBeforeRedirect, {urls: ["https://*/*"]}); diff --git a/chromium/background-scripts/update.js b/chromium/background-scripts/update.js index eb945b2ca516..c2b48b46d293 100644 --- a/chromium/background-scripts/update.js +++ b/chromium/background-scripts/update.js @@ -1,32 +1,24 @@ -/* global update_channels */ /* global pako */ -/* global __dirname */ "use strict"; // Determine if we're in the tests. If so, define some necessary components. -if(typeof(window) == "undefined"){ - const fs = require('fs'); - const WebCrypto = require("node-webcrypto-ossl"), +if (typeof window === "undefined") { + var WebCrypto = require("node-webcrypto-ossl"), + crypto = new WebCrypto(), atob = require("atob"), btoa = require("btoa"), - encoding = require('text-encoding'); - - var window = { - crypto: new WebCrypto(), - atob, - btoa - }; - - var update_channels = Function(fs.readFileSync(__dirname + '/update_channels.js').toString() + "return update_channels;")(), - pako = Function(fs.readFileSync(__dirname + '/../external/pako-1.0.5/pako_inflate.min.js').toString() + "return pako;")(), - TextDecoder = encoding.TextDecoder, - chrome = require("sinon-chrome"); + pako = require('../external/pako-1.0.5/pako_inflate.min.js'), + { TextDecoder } = require('text-encoding'), + chrome = require("sinon-chrome"), + window = { atob, btoa, chrome, crypto, pako, TextDecoder }; } (function(exports) { +const { update_channels } = require('./update_channels'); const util = require('./util'); + let store, background_callback; diff --git a/chromium/background-scripts/update_channels.js b/chromium/background-scripts/update_channels.js index e8032d874c37..8bb21c900619 100644 --- a/chromium/background-scripts/update_channels.js +++ b/chromium/background-scripts/update_channels.js @@ -1,13 +1,23 @@ /* exported update_channels */ -"use strict"; +'use strict'; -var update_channels = [{ - name: "EFF (Full)", +(function (exports) { + +exports.update_channels = [{ + name: 'EFF (Full)', jwk: { - kty: "RSA", - e: "AQAB", - n: "1cwvFQu3Kw-Pz8bcEFuV5zx0ZheDsc4Tva7Qv6BL90_sDLqCW79Y543nDkPtNVfFH_89pt2kSPp_IcS5XnYiw6zBQeFuILFw5JpvZt14K0s4e025Q9CXfhYKIBKT9PnqihwAacjMa6rQb7RTu7XxVvqxRb3b0vx2CR40LSlYZ8H_KpeaUwq2oz-fyrI6LFTeYvbO3ZuLKeK5xV1a32xeTVMFkIj3LxnQalxq-DRHfj7LRRoTnbRDW4uoDc8aVpLFliuO79jUKbobz4slpiWJ4wjKR_O6OK13HbZUiOSxi8Bms-UqBPOyzbMVpmA7lv_zWdaLu1IVlVXQyLVbbrqI6llRqfHdcJoEl-eC48AofuB-relQtjTEK_hyBf7sPwrbqAarjRjlyEx6Qy5gTXyxM9attfNAeupYR6jm8LKm6TFpfWkyDxUmj_f5pJMBWNTomV74f8iQ2M18_KWMUDCOf80tR0t21Q1iCWdvA3K_KJn05tTLyumlwwlQijMqRkYuao-CX9L3DJIaB3VPYPTSIPUr7oi16agsuamOyiOtlZiRpEvoNg2ksJMZtwnj5xhBQydkdhMW2ZpHDzcLuZlhJYZL_l3_7wuzRM7vpyA9obP92CpZRFJErGZmFxJC93I4U9-0B0wg-sbyMKGJ5j1BWTnibCklDXtWzXtuiz18EgE" + kty: 'RSA', + e: 'AQAB', + n: '1cwvFQu3Kw-Pz8bcEFuV5zx0ZheDsc4Tva7Qv6BL90_sDLqCW79Y543nDkPtNVfFH_89pt2kSPp_IcS5XnYiw6zBQeFuILFw5JpvZt14K0s4' + + 'e025Q9CXfhYKIBKT9PnqihwAacjMa6rQb7RTu7XxVvqxRb3b0vx2CR40LSlYZ8H_KpeaUwq2oz-fyrI6LFTeYvbO3ZuLKeK5xV1a32xeTVMF' + + 'kIj3LxnQalxq-DRHfj7LRRoTnbRDW4uoDc8aVpLFliuO79jUKbobz4slpiWJ4wjKR_O6OK13HbZUiOSxi8Bms-UqBPOyzbMVpmA7lv_zWdaL' + + 'u1IVlVXQyLVbbrqI6llRqfHdcJoEl-eC48AofuB-relQtjTEK_hyBf7sPwrbqAarjRjlyEx6Qy5gTXyxM9attfNAeupYR6jm8LKm6TFpfWky' + + 'DxUmj_f5pJMBWNTomV74f8iQ2M18_KWMUDCOf80tR0t21Q1iCWdvA3K_KJn05tTLyumlwwlQijMqRkYuao-CX9L3DJIaB3VPYPTSIPUr7oi1' + + '6agsuamOyiOtlZiRpEvoNg2ksJMZtwnj5xhBQydkdhMW2ZpHDzcLuZlhJYZL_l3_7wuzRM7vpyA9obP92CpZRFJErGZmFxJC93I4U9-0B0wg' + + '-sbyMKGJ5j1BWTnibCklDXtWzXtuiz18EgE' }, - update_path_prefix: "https://www.https-rulesets.org/v1/" + update_path_prefix: 'https://www.https-rulesets.org/v1/' }]; + +})(typeof exports === 'undefined' ? require.scopes.update_channels = {} : exports); diff --git a/chromium/images/banner-red.png b/chromium/images/banner-red.png new file mode 100644 index 000000000000..3896f1a66742 Binary files /dev/null and b/chromium/images/banner-red.png differ diff --git a/chromium/manifest.json b/chromium/manifest.json index 10b776f062e6..82b2654fb12f 100644 --- a/chromium/manifest.json +++ b/chromium/manifest.json @@ -19,6 +19,9 @@ "background-scripts/background.js" ] }, + "web_accessible_resources": [ + "/pages/cancel/index.html" + ], "browser_action": { "default_icon": { "38": "images/icons/icon-active-38.png" @@ -48,7 +51,8 @@ "tabs", "cookies", "storage", - "*://*/*" + "*://*/*", + "ftp://*/*" ], "version": "2018.6.21" -} \ No newline at end of file +} diff --git a/chromium/pages/cancel/index.html b/chromium/pages/cancel/index.html new file mode 100644 index 000000000000..94a4799fbfbf --- /dev/null +++ b/chromium/pages/cancel/index.html @@ -0,0 +1,16 @@ + + + + + + ⚠ HTTPS Everywhere ⚠ + + + + +

HTTPS Everywhere

+

+ + + + diff --git a/chromium/pages/cancel/style.css b/chromium/pages/cancel/style.css new file mode 100644 index 000000000000..80ec5b34a725 --- /dev/null +++ b/chromium/pages/cancel/style.css @@ -0,0 +1,20 @@ +body{ + margin-top: 6em; + left: 50%; + position: relative; + overflow: hidden; +} + +h1 img{ + position: relative; + left: -289px; +} + +p{ + width: 600px; + position: relative; + left: -300px; + font-size: 12pt; + font-family: sans-serif; + line-height: 150%; +} diff --git a/chromium/pages/cancel/ux.js b/chromium/pages/cancel/ux.js new file mode 100644 index 000000000000..d7475ddb0d38 --- /dev/null +++ b/chromium/pages/cancel/ux.js @@ -0,0 +1,21 @@ +"use strict"; + +let observer; +document.addEventListener("DOMContentLoaded", () => { + const explainer = document.querySelector("[data-i18n=cancel_he_blocking_explainer]"); + observer = new MutationObserver(() => {replaceLink(explainer)}); + if (explainer.innerText.length > 0) { + replaceLink(explainer); + } else { + observer.observe(explainer, {childList: true}); + } +}); + +function replaceLink(explainer){ + observer.disconnect(); + const linkText = chrome.i18n.getMessage("cancel_he_blocking_network"); + const link = document.createElement("a"); + link.href = "https://en.wikipedia.org/wiki/Downgrade_attack"; + link.innerText = linkText; + explainer.innerHTML = explainer.innerHTML.replace(linkText, link.outerHTML); +} diff --git a/chromium/test/update_test.js b/chromium/test/update_test.js index a2976279e71a..56ba04f5431d 100644 --- a/chromium/test/update_test.js +++ b/chromium/test/update_test.js @@ -9,8 +9,8 @@ const assert = require('chai').assert, sinon = require('sinon'); const fs = require('fs'), - update_channels = Function(fs.readFileSync(__dirname + '/../background-scripts/update_channels.js').toString() + "return update_channels;")(), - pako = Function(fs.readFileSync(__dirname + '/../external/pako-1.0.5/pako_inflate.min.js').toString() + "return pako;")(); + { update_channels } = require('../background-scripts/update_channels'), + pako = require('../external/pako-1.0.5/pako_inflate.min.js'); util.setDefaultLogLevel(util.WARN); diff --git a/make.sh b/make.sh index a3a45706cf38..df32969ac17d 100755 --- a/make.sh +++ b/make.sh @@ -84,9 +84,9 @@ fi # If the --remove-update-channels flag is set, remove all out-of-band update channels if [ "$1" == "--remove-update-channels" -o "$2" == "--remove-update-channels" -o "$3" == "--remove-update-channels" ]; then echo "Flag --remove-update-channels specified. Removing all out-of-band update channels." - echo "update_channels = [];" >> pkg/crx/background-scripts/update_channels.js - echo "update_channels = [];" >> pkg/xpi-amo/background-scripts/update_channels.js - echo "update_channels = [];" >> pkg/xpi-eff/background-scripts/update_channels.js + echo "require.scopes.update_channels.update_channels = [];" >> pkg/crx/background-scripts/update_channels.js + echo "require.scopes.update_channels.update_channels = [];" >> pkg/xpi-amo/background-scripts/update_channels.js + echo "require.scopes.update_channels.update_channels = [];" >> pkg/xpi-eff/background-scripts/update_channels.js fi if [ -n "$BRANCH" ] ; then diff --git a/src/chrome/content/rules/1.0.0.1.xml b/src/chrome/content/rules/1.0.0.1.xml index bee7b6185de4..1d46eeb11c6b 100644 --- a/src/chrome/content/rules/1.0.0.1.xml +++ b/src/chrome/content/rules/1.0.0.1.xml @@ -1,16 +1,12 @@ - + - - + diff --git a/src/chrome/content/rules/1.1.1.1.xml b/src/chrome/content/rules/1.1.1.1.xml index ec070e1f4417..c6249f83c425 100644 --- a/src/chrome/content/rules/1.1.1.1.xml +++ b/src/chrome/content/rules/1.1.1.1.xml @@ -1,16 +1,12 @@ - + - - + diff --git a/src/chrome/content/rules/ARICR.org.xml b/src/chrome/content/rules/ARICR.org.xml new file mode 100644 index 000000000000..693dadf7679a --- /dev/null +++ b/src/chrome/content/rules/ARICR.org.xml @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/src/chrome/content/rules/Adbooth.net.xml b/src/chrome/content/rules/Adbooth.net.xml index 89334c06fafd..df8e79b7ea0b 100644 --- a/src/chrome/content/rules/Adbooth.net.xml +++ b/src/chrome/content/rules/Adbooth.net.xml @@ -38,7 +38,7 @@ + to="https://cdn.adbooth.net/" /> diff --git a/src/chrome/content/rules/Adk2.xml b/src/chrome/content/rules/Adk2.xml index 73d62b51d56e..5b965923439c 100644 --- a/src/chrome/content/rules/Adk2.xml +++ b/src/chrome/content/rules/Adk2.xml @@ -36,6 +36,6 @@ Fetch error: http://adk2.com/ => https://adk2.com/: (60, 'SSL certificate proble + to="https://cdn.adk2.com/" /> diff --git a/src/chrome/content/rules/Adspdbl.com.xml b/src/chrome/content/rules/Adspdbl.com.xml index 5b35b381bbc4..f5cde3f06f21 100644 --- a/src/chrome/content/rules/Adspdbl.com.xml +++ b/src/chrome/content/rules/Adspdbl.com.xml @@ -17,7 +17,6 @@ - + diff --git a/src/chrome/content/rules/Advertising.com.xml b/src/chrome/content/rules/Advertising.com.xml index a67a3a6389db..437a2074dd10 100644 --- a/src/chrome/content/rules/Advertising.com.xml +++ b/src/chrome/content/rules/Advertising.com.xml @@ -1,80 +1,215 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + - - - - - - + + + + - - - - - - - - - - + diff --git a/src/chrome/content/rules/Altex.ro.xml b/src/chrome/content/rules/Altex.ro.xml index 46b9bc00cd10..ffe531a703d8 100644 --- a/src/chrome/content/rules/Altex.ro.xml +++ b/src/chrome/content/rules/Altex.ro.xml @@ -55,10 +55,6 @@ Fetch error: http://cdn.altex.ro/ => https://d2qpxedcu5ji30.cloudfront.net/: (28 - - - + diff --git a/src/chrome/content/rules/Asterisk.xml b/src/chrome/content/rules/Asterisk.xml index 674af4ee8c0a..8aeed593f280 100644 --- a/src/chrome/content/rules/Asterisk.xml +++ b/src/chrome/content/rules/Asterisk.xml @@ -1,61 +1,45 @@ - - + - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/chrome/content/rules/Authorize.com.xml b/src/chrome/content/rules/Authorize.com.xml new file mode 100644 index 000000000000..032289f48bcd --- /dev/null +++ b/src/chrome/content/rules/Authorize.com.xml @@ -0,0 +1,12 @@ + + + + + + + diff --git a/src/chrome/content/rules/Authorize.net.xml b/src/chrome/content/rules/Authorize.net.xml index f246b2b0183b..a2392bd45850 100644 --- a/src/chrome/content/rules/Authorize.net.xml +++ b/src/chrome/content/rules/Authorize.net.xml @@ -1,48 +1,44 @@ - - + - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - + diff --git a/src/chrome/content/rules/BBacon.org.xml b/src/chrome/content/rules/BBacon.org.xml new file mode 100644 index 000000000000..d06ac5637e64 --- /dev/null +++ b/src/chrome/content/rules/BBacon.org.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + diff --git a/src/chrome/content/rules/BKGE.de.xml b/src/chrome/content/rules/BKGE.de.xml new file mode 100644 index 000000000000..45f43dec68a6 --- /dev/null +++ b/src/chrome/content/rules/BKGE.de.xml @@ -0,0 +1,14 @@ + + + + + + + + + + + + diff --git a/src/chrome/content/rules/Bash.im.xml b/src/chrome/content/rules/Bash.im.xml new file mode 100644 index 000000000000..5f5057be0c64 --- /dev/null +++ b/src/chrome/content/rules/Bash.im.xml @@ -0,0 +1,12 @@ + + + + + + + + + diff --git a/src/chrome/content/rules/BiB.bund.de.xml b/src/chrome/content/rules/BiB.bund.de.xml new file mode 100644 index 000000000000..c423e07fb595 --- /dev/null +++ b/src/chrome/content/rules/BiB.bund.de.xml @@ -0,0 +1,14 @@ + + + + + + + + + + + + diff --git a/src/chrome/content/rules/BilBasen.dk.xml b/src/chrome/content/rules/BilBasen.dk.xml new file mode 100644 index 000000000000..e486a9d196fc --- /dev/null +++ b/src/chrome/content/rules/BilBasen.dk.xml @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + diff --git a/src/chrome/content/rules/Blogtrottr.com.xml b/src/chrome/content/rules/Blogtrottr.com.xml index 52940954b558..499870d5055b 100644 --- a/src/chrome/content/rules/Blogtrottr.com.xml +++ b/src/chrome/content/rules/Blogtrottr.com.xml @@ -3,14 +3,19 @@ - blog.blogtrottr.com Invalid certificate: - - li.blogtrottr.com + - li.blogtrottr.com, equivalent to p.liadm.com --> + + + + diff --git a/src/chrome/content/rules/Booklooker.de.xml b/src/chrome/content/rules/Booklooker.de.xml index d099131bd574..e55cf210b7b6 100644 --- a/src/chrome/content/rules/Booklooker.de.xml +++ b/src/chrome/content/rules/Booklooker.de.xml @@ -1,9 +1,20 @@ - - - + + + + + + + + + + - - + diff --git a/src/chrome/content/rules/CFWGroup.ca.xml b/src/chrome/content/rules/CFWGroup.ca.xml new file mode 100644 index 000000000000..8e2119009047 --- /dev/null +++ b/src/chrome/content/rules/CFWGroup.ca.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/chrome/content/rules/CKSource.com.xml b/src/chrome/content/rules/CKSource.com.xml index 1e0dd092c171..7a6b777f43ce 100644 --- a/src/chrome/content/rules/CKSource.com.xml +++ b/src/chrome/content/rules/CKSource.com.xml @@ -53,10 +53,6 @@ - - - diff --git a/src/chrome/content/rules/Catalystapp.co.xml b/src/chrome/content/rules/Catalystapp.co.xml new file mode 100644 index 000000000000..2e75e0cbbac9 --- /dev/null +++ b/src/chrome/content/rules/Catalystapp.co.xml @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/src/chrome/content/rules/Circle_of_Moms.xml b/src/chrome/content/rules/Circle_of_Moms.xml index 5ee1c0813676..87ace5b26574 100644 --- a/src/chrome/content/rules/Circle_of_Moms.xml +++ b/src/chrome/content/rules/Circle_of_Moms.xml @@ -30,9 +30,9 @@ Fetch error: http://circleofmoms.com/ => https://www.circleofmoms.com/: Cycle de to="https://www.circleofmoms.com/" /> + to="https://imagelib4.circleofmoms.com/" /> + to="https://images3.circleofmoms.com/" /> diff --git a/src/chrome/content/rules/CloudFlare_Challenge.com.xml b/src/chrome/content/rules/CloudFlare_Challenge.com.xml deleted file mode 100644 index dc0c6ff18a01..000000000000 --- a/src/chrome/content/rules/CloudFlare_Challenge.com.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - diff --git a/src/chrome/content/rules/CloudFlare-DNS.com.xml b/src/chrome/content/rules/Cloudflare-DNS.com.xml similarity index 51% rename from src/chrome/content/rules/CloudFlare-DNS.com.xml rename to src/chrome/content/rules/Cloudflare-DNS.com.xml index facdc44d9ea2..919d9786003a 100644 --- a/src/chrome/content/rules/CloudFlare-DNS.com.xml +++ b/src/chrome/content/rules/Cloudflare-DNS.com.xml @@ -1,22 +1,16 @@ - - + - - - + diff --git a/src/chrome/content/rules/CloudFlare.xml b/src/chrome/content/rules/Cloudflare.com.xml similarity index 70% rename from src/chrome/content/rules/CloudFlare.xml rename to src/chrome/content/rules/Cloudflare.com.xml index b221142b72be..4fa236ad9217 100644 --- a/src/chrome/content/rules/CloudFlare.xml +++ b/src/chrome/content/rules/Cloudflare.com.xml @@ -1,29 +1,14 @@ - - + @@ -32,12 +17,14 @@ + + @@ -50,11 +37,7 @@ - - - - + diff --git a/src/chrome/content/rules/Cloudflarestatus.com.xml b/src/chrome/content/rules/CloudflareStatus.com.xml similarity index 58% rename from src/chrome/content/rules/Cloudflarestatus.com.xml rename to src/chrome/content/rules/CloudflareStatus.com.xml index c91723d045c9..fc232a6e6ea9 100644 --- a/src/chrome/content/rules/Cloudflarestatus.com.xml +++ b/src/chrome/content/rules/CloudflareStatus.com.xml @@ -1,9 +1,12 @@ - - + + diff --git a/src/chrome/content/rules/CmCDN.net.xml b/src/chrome/content/rules/CmCDN.net.xml index a5e59ef2c16c..7357663eb18c 100644 --- a/src/chrome/content/rules/CmCDN.net.xml +++ b/src/chrome/content/rules/CmCDN.net.xml @@ -33,7 +33,7 @@ Fetch error: http://s.cmcdn.net/ => https://d1gyuuidj3lauh.cloudfront.net/: (6, + to="https://media.cmcdn.net/" /> diff --git a/src/chrome/content/rules/Coles.com.au.xml b/src/chrome/content/rules/Coles.com.au.xml new file mode 100644 index 000000000000..0c500145845e --- /dev/null +++ b/src/chrome/content/rules/Coles.com.au.xml @@ -0,0 +1,172 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/chrome/content/rules/ComiXology.com.xml b/src/chrome/content/rules/ComiXology.com.xml index 4c013ff0572b..ecd09546deb0 100644 --- a/src/chrome/content/rules/ComiXology.com.xml +++ b/src/chrome/content/rules/ComiXology.com.xml @@ -86,9 +86,6 @@ - - diff --git a/src/chrome/content/rules/Conde_Nast.co.uk.xml b/src/chrome/content/rules/Conde_Nast.co.uk.xml index 2c039465d217..5dbfefdd9a59 100644 --- a/src/chrome/content/rules/Conde_Nast.co.uk.xml +++ b/src/chrome/content/rules/Conde_Nast.co.uk.xml @@ -11,14 +11,8 @@ - cnda.condenast.co.uk - - dvcpqzrjfwvhx.cloudfront.net - - - cdni.condenast.co.uk - - Problematic subdomains: - - cdni.condenast.co.uk (mismatched, 403 when rewritten to dvcpqzrjfwvhx.cloudfront.net) - cnda.condenast.co.uk (mismatched, CN: *.cloudfront.net) --> @@ -26,14 +20,8 @@ - - - - - + diff --git a/src/chrome/content/rules/Connexity.net.xml b/src/chrome/content/rules/Connexity.net.xml index c6d6a5eeb1dc..7f4d88f8d538 100644 --- a/src/chrome/content/rules/Connexity.net.xml +++ b/src/chrome/content/rules/Connexity.net.xml @@ -1,38 +1,39 @@ - - + - + + + + + + - - - - - - - - - - + diff --git a/src/chrome/content/rules/Convert-JPG-to-PDF.net.xml b/src/chrome/content/rules/Convert-JPG-to-PDF.net.xml new file mode 100644 index 000000000000..5bc3e77fc139 --- /dev/null +++ b/src/chrome/content/rules/Convert-JPG-to-PDF.net.xml @@ -0,0 +1,10 @@ + + + + + + + + + diff --git a/src/chrome/content/rules/Coreboot.xml b/src/chrome/content/rules/Coreboot.xml index 80f01d3fadcc..afce2a2dde23 100644 --- a/src/chrome/content/rules/Coreboot.xml +++ b/src/chrome/content/rules/Coreboot.xml @@ -1,41 +1,32 @@ - + - + + + + + + + + + + + + - - - - - - + - - - - + diff --git a/src/chrome/content/rules/Couchbase.xml b/src/chrome/content/rules/Couchbase.xml index 66776a839d09..fbcc385725c6 100644 --- a/src/chrome/content/rules/Couchbase.xml +++ b/src/chrome/content/rules/Couchbase.xml @@ -39,6 +39,6 @@ Fetch error: http://couchbase.com/ => https://couchbase.com/: Cycle detected - U to="https://na-a.marketo.com/" /> + to="https://packages.couchbase.com/" /> diff --git a/src/chrome/content/rules/Customersaas.com.xml b/src/chrome/content/rules/Customersaas.com.xml index 44b80e8d0496..b8bb88286fb4 100644 --- a/src/chrome/content/rules/Customersaas.com.xml +++ b/src/chrome/content/rules/Customersaas.com.xml @@ -14,13 +14,10 @@ --> - + + - - - + diff --git a/src/chrome/content/rules/Cxt.ms.xml b/src/chrome/content/rules/Cxt.ms.xml index 9e72e1cd24d7..03f0b92dd78e 100644 --- a/src/chrome/content/rules/Cxt.ms.xml +++ b/src/chrome/content/rules/Cxt.ms.xml @@ -8,13 +8,10 @@ --> - + + - - - + \ No newline at end of file diff --git a/src/chrome/content/rules/DealerRater.com.xml b/src/chrome/content/rules/DealerRater.com.xml index 1131ba584227..d0e5b38232bf 100644 --- a/src/chrome/content/rules/DealerRater.com.xml +++ b/src/chrome/content/rules/DealerRater.com.xml @@ -1,36 +1,15 @@ - + - - - - - - - - + + - + diff --git a/src/chrome/content/rules/Dell.xml b/src/chrome/content/rules/Dell.xml index d35b5afb594f..118d1bfdf0a6 100644 --- a/src/chrome/content/rules/Dell.xml +++ b/src/chrome/content/rules/Dell.xml @@ -99,6 +99,8 @@ + + diff --git a/src/chrome/content/rules/Desk.com.xml b/src/chrome/content/rules/Desk.com.xml index 7d2f1609e949..4f1f31389701 100644 --- a/src/chrome/content/rules/Desk.com.xml +++ b/src/chrome/content/rules/Desk.com.xml @@ -73,7 +73,7 @@ Fetch error: http://assistly.com/ => https://assistly.com/: (51, "SSL: no altern to="https://d218iqt4mo6adh.cloudfront.net/" /> + to="https://webassets.desk.com/" /> + + + + + + + + + + + + + + diff --git a/src/chrome/content/rules/Dianomi.xml b/src/chrome/content/rules/Dianomi.xml deleted file mode 100644 index 3dafb7d14562..000000000000 --- a/src/chrome/content/rules/Dianomi.xml +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/chrome/content/rules/Direct_Mail_Mac.com.xml b/src/chrome/content/rules/Direct_Mail_Mac.com.xml index 0a28770ca58f..8e7da96244db 100644 --- a/src/chrome/content/rules/Direct_Mail_Mac.com.xml +++ b/src/chrome/content/rules/Direct_Mail_Mac.com.xml @@ -27,7 +27,6 @@ - + diff --git a/src/chrome/content/rules/Divshot.xml b/src/chrome/content/rules/Divshot.xml index 868469e0fcd9..d9753e8ac1a6 100644 --- a/src/chrome/content/rules/Divshot.xml +++ b/src/chrome/content/rules/Divshot.xml @@ -19,6 +19,6 @@ to="https://$1divshot.com/" /> + to="https://a1.divshot.com/" /> diff --git a/src/chrome/content/rules/EFinancialCareers.xml b/src/chrome/content/rules/EFinancialCareers.xml index 776cab007f07..7117881be2b1 100644 --- a/src/chrome/content/rules/EFinancialCareers.xml +++ b/src/chrome/content/rules/EFinancialCareers.xml @@ -84,10 +84,6 @@ Fetch error: http://news-cdn.efinancialcareers.com/ => https://d2p98mys7gexzy.cl - - - + diff --git a/src/chrome/content/rules/EducateAutism.com.xml b/src/chrome/content/rules/EducateAutism.com.xml new file mode 100644 index 000000000000..3bcc9eb8d423 --- /dev/null +++ b/src/chrome/content/rules/EducateAutism.com.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/chrome/content/rules/Elgas.com.au.xml b/src/chrome/content/rules/Elgas.com.au.xml new file mode 100644 index 000000000000..0a0a6bdc03a8 --- /dev/null +++ b/src/chrome/content/rules/Elgas.com.au.xml @@ -0,0 +1,19 @@ + + + + + + + + + diff --git a/src/chrome/content/rules/Evidon.xml b/src/chrome/content/rules/Evidon.xml index 86ed497143cc..d46afade8462 100644 --- a/src/chrome/content/rules/Evidon.xml +++ b/src/chrome/content/rules/Evidon.xml @@ -2,40 +2,55 @@ Other Evidon related rulesets: + Ghostery.com.xml - - Non-functional hosts in *betteradvertising.com - SSL peer certificate was not OK: - - cdn.betteradvertising.com - - Peer certificate cannot be authenticated with given CA certificates: - - my.betteradvertising.com - - - Non-functional hosts in *betrad.com - Peer certificate cannot be authenticated with given CA certificates: - - betrad.com - - www.betrad.com - - - Non-functional hosts in *evidon.com - SSL peer certificate was not OK: - - cdn.evidon.com - - Peer certificate cannot be authenticated with given CA certificates: - - blog.evidon.com - - my.evidon.com - + Self-signed cert: + - betteradvertising.com + - www.betteradvertising.com + - betrad.com + - www.betrad.com + - blog.evidon.com + + Cert expired: + - my.betteradvertising.com + - ads.evidon.com + - my.evidon.com + + Cert mismatch: + - cdn.betteradvertising.com + - cdn.evidon.com + - em.evidon.com + + Connection refused: + - graphite.evidon.com --> + + + - + + + + + + + + + + + + + + + + + diff --git a/src/chrome/content/rules/Exactag.xml b/src/chrome/content/rules/Exactag.xml index 778c09b853dc..740b7e182817 100644 --- a/src/chrome/content/rules/Exactag.xml +++ b/src/chrome/content/rules/Exactag.xml @@ -1,24 +1,44 @@ - - + + + + + + + + + + + + - - - - - - + + + + + + + + + diff --git a/src/chrome/content/rules/FSharp.org.xml b/src/chrome/content/rules/FSharp.org.xml new file mode 100644 index 000000000000..38c4613a7275 --- /dev/null +++ b/src/chrome/content/rules/FSharp.org.xml @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + diff --git a/src/chrome/content/rules/Filemobile.xml b/src/chrome/content/rules/Filemobile.xml index 939cd3892f67..9c98fcabec4e 100644 --- a/src/chrome/content/rules/Filemobile.xml +++ b/src/chrome/content/rules/Filemobile.xml @@ -43,9 +43,6 @@ - - diff --git a/src/chrome/content/rules/Fine_Art_America.xml b/src/chrome/content/rules/Fine_Art_America.xml index 12080a6af946..5202dae43dba 100644 --- a/src/chrome/content/rules/Fine_Art_America.xml +++ b/src/chrome/content/rules/Fine_Art_America.xml @@ -55,10 +55,6 @@ - - - diff --git a/src/chrome/content/rules/Firefox.com.xml b/src/chrome/content/rules/Firefox.com.xml index 7ae362c0b943..dea849b61639 100644 --- a/src/chrome/content/rules/Firefox.com.xml +++ b/src/chrome/content/rules/Firefox.com.xml @@ -1,6 +1,9 @@ @@ -18,12 +21,19 @@ + + + + + + + diff --git a/src/chrome/content/rules/Forensics.ca.xml b/src/chrome/content/rules/Forensics.ca.xml new file mode 100644 index 000000000000..11d78239dd21 --- /dev/null +++ b/src/chrome/content/rules/Forensics.ca.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/chrome/content/rules/Freshdesk.xml b/src/chrome/content/rules/Freshdesk.xml index 033c81028dcd..5d45e0b860d2 100644 --- a/src/chrome/content/rules/Freshdesk.xml +++ b/src/chrome/content/rules/Freshdesk.xml @@ -23,7 +23,7 @@ + to="https://assets.freshdesk.com/" /> diff --git a/src/chrome/content/rules/FrostWire.xml b/src/chrome/content/rules/FrostWire.xml index 01556662e070..91f5a6353816 100644 --- a/src/chrome/content/rules/FrostWire.xml +++ b/src/chrome/content/rules/FrostWire.xml @@ -2,7 +2,6 @@ - + diff --git a/src/chrome/content/rules/Full_Signal.xml b/src/chrome/content/rules/Full_Signal.xml index 5cd3f12ef96f..bcba7564f327 100644 --- a/src/chrome/content/rules/Full_Signal.xml +++ b/src/chrome/content/rules/Full_Signal.xml @@ -16,7 +16,6 @@ - + diff --git a/src/chrome/content/rules/GCaptain.com.xml b/src/chrome/content/rules/GCaptain.com.xml index 4efcfebc9872..f84d7b3a8bc2 100644 --- a/src/chrome/content/rules/GCaptain.com.xml +++ b/src/chrome/content/rules/GCaptain.com.xml @@ -69,9 +69,6 @@ Non-2xx HTTP code: http://cfs1.gcaptain.com/ (200) => https://d2m8pnbf2v4ae2.clo - - diff --git a/src/chrome/content/rules/GetGlue.xml b/src/chrome/content/rules/GetGlue.xml index 996cc7291b96..65f6feb3205b 100644 --- a/src/chrome/content/rules/GetGlue.xml +++ b/src/chrome/content/rules/GetGlue.xml @@ -19,6 +19,6 @@ Fetch error: http://getglue.com/ => https://getglue.com/: (51, "SSL: no alternat to="https://$1getglue.com/" /> + to="https://widgets.getglue.com/" /> \ No newline at end of file diff --git a/src/chrome/content/rules/GumGum.xml b/src/chrome/content/rules/GumGum.xml index 9b2f6e91848c..b4d3b015ff7c 100644 --- a/src/chrome/content/rules/GumGum.xml +++ b/src/chrome/content/rules/GumGum.xml @@ -31,6 +31,6 @@ to="https://$1.gumgum.com/" /> + to="https://c.gumgum.com/" /> diff --git a/src/chrome/content/rules/HDM-Stuttgart.de.xml b/src/chrome/content/rules/HDM-Stuttgart.de.xml new file mode 100644 index 000000000000..5a7c9f2ab8b0 --- /dev/null +++ b/src/chrome/content/rules/HDM-Stuttgart.de.xml @@ -0,0 +1,226 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/chrome/content/rules/HubSpot.com.xml b/src/chrome/content/rules/HubSpot.com.xml index 20e13c12c517..f9150dd885ab 100644 --- a/src/chrome/content/rules/HubSpot.com.xml +++ b/src/chrome/content/rules/HubSpot.com.xml @@ -46,7 +46,6 @@ - @@ -54,10 +53,6 @@ - - - + diff --git a/src/chrome/content/rules/Huffington-Post.xml b/src/chrome/content/rules/Huffington-Post.xml index e20dcbc5f9c8..ecf70c5c78e4 100644 --- a/src/chrome/content/rules/Huffington-Post.xml +++ b/src/chrome/content/rules/Huffington-Post.xml @@ -120,7 +120,7 @@ + to="https://big.assets.huffingtonpost.com/" /> diff --git a/src/chrome/content/rules/ICPDR.org.xml b/src/chrome/content/rules/ICPDR.org.xml new file mode 100644 index 000000000000..53a35ada0826 --- /dev/null +++ b/src/chrome/content/rules/ICPDR.org.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + diff --git a/src/chrome/content/rules/IDG.com.au.xml b/src/chrome/content/rules/IDG.com.au.xml index 98d3402d6821..92f2878b403b 100644 --- a/src/chrome/content/rules/IDG.com.au.xml +++ b/src/chrome/content/rules/IDG.com.au.xml @@ -36,7 +36,7 @@ Fetch error: http://computerworld.com.au/ => https://computerworld.com.au/: (51, + to="https://demo.idg.com.au/" /> diff --git a/src/chrome/content/rules/IT_Toolbox.com.xml b/src/chrome/content/rules/IT_Toolbox.com.xml index 7a1c86c218f6..4ef9f442ccfc 100644 --- a/src/chrome/content/rules/IT_Toolbox.com.xml +++ b/src/chrome/content/rules/IT_Toolbox.com.xml @@ -21,7 +21,8 @@ --> - + + - - - + diff --git a/src/chrome/content/rules/IndiaMART.xml b/src/chrome/content/rules/IndiaMART.xml index e7e4f56faba9..e9327d48def0 100644 --- a/src/chrome/content/rules/IndiaMART.xml +++ b/src/chrome/content/rules/IndiaMART.xml @@ -33,23 +33,13 @@ --> - + + + + - + - - - - - - - - - \ No newline at end of file + diff --git a/src/chrome/content/rules/InkFrog.com.xml b/src/chrome/content/rules/InkFrog.com.xml index 0bcfadc4ce8d..808e4843b960 100644 --- a/src/chrome/content/rules/InkFrog.com.xml +++ b/src/chrome/content/rules/InkFrog.com.xml @@ -16,7 +16,7 @@ - img ¹ - imgs ² - thmb ¹ - - thumbnails ² + - thumbnails (expired) ¹ Works, expired 2013-04-24 ² Cloudfront @@ -44,12 +44,7 @@ - - - + to="https://imgs.inkfrog.com/" /> diff --git a/src/chrome/content/rules/Internet_Video_Archive.com.xml b/src/chrome/content/rules/Internet_Video_Archive.com.xml index a424d17b8921..16e46bd06bb5 100644 --- a/src/chrome/content/rules/Internet_Video_Archive.com.xml +++ b/src/chrome/content/rules/Internet_Video_Archive.com.xml @@ -9,7 +9,6 @@ - + diff --git a/src/chrome/content/rules/Iono.fm.xml b/src/chrome/content/rules/Iono.fm.xml index 0f68dd55c5a7..a3df11cb2914 100644 --- a/src/chrome/content/rules/Iono.fm.xml +++ b/src/chrome/content/rules/Iono.fm.xml @@ -42,10 +42,6 @@ - - - + diff --git a/src/chrome/content/rules/Jawbone.com.xml b/src/chrome/content/rules/Jawbone.com.xml index b46be5103ec4..0ea3617a3706 100644 --- a/src/chrome/content/rules/Jawbone.com.xml +++ b/src/chrome/content/rules/Jawbone.com.xml @@ -9,6 +9,10 @@ - forums + Non-functional hosts: + Timeout: + - jawbone.com + Partially covered subdomains: @@ -47,7 +51,6 @@ --> - @@ -55,10 +58,10 @@ - + to="https://content.jawbone.com/" /> - \ No newline at end of file + diff --git a/src/chrome/content/rules/LesFurets.com.xml b/src/chrome/content/rules/LesFurets.com.xml index 529373e37953..92401787111e 100644 --- a/src/chrome/content/rules/LesFurets.com.xml +++ b/src/chrome/content/rules/LesFurets.com.xml @@ -16,7 +16,6 @@ - + diff --git a/src/chrome/content/rules/London_Review_of_Books.xml b/src/chrome/content/rules/London_Review_of_Books.xml index 1ed524173fdc..4a54d0665b34 100644 --- a/src/chrome/content/rules/London_Review_of_Books.xml +++ b/src/chrome/content/rules/London_Review_of_Books.xml @@ -25,6 +25,6 @@ to="https://www.lrb.co.uk/$1" /> + to="https://cdn.lrb.co.uk/" /> \ No newline at end of file diff --git a/src/chrome/content/rules/Luadns.com.xml b/src/chrome/content/rules/Luadns.com.xml new file mode 100644 index 000000000000..1c4162230449 --- /dev/null +++ b/src/chrome/content/rules/Luadns.com.xml @@ -0,0 +1,19 @@ + + + + + + + + diff --git a/src/chrome/content/rules/Lubuntu.me.xml b/src/chrome/content/rules/Lubuntu.me.xml new file mode 100644 index 000000000000..b2aafcbe4220 --- /dev/null +++ b/src/chrome/content/rules/Lubuntu.me.xml @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/src/chrome/content/rules/MESO-Rx.xml b/src/chrome/content/rules/MESO-Rx.xml index 27e830d48415..27a8ff9a4343 100644 --- a/src/chrome/content/rules/MESO-Rx.xml +++ b/src/chrome/content/rules/MESO-Rx.xml @@ -46,9 +46,6 @@ Non-2xx HTTP code: http://www.thinksteroids.com/ (200) => https://www.thinkstero - - diff --git a/src/chrome/content/rules/MailChimp.xml b/src/chrome/content/rules/MailChimp.xml index 17d2dc159ed2..1d91c415d91e 100644 --- a/src/chrome/content/rules/MailChimp.xml +++ b/src/chrome/content/rules/MailChimp.xml @@ -159,10 +159,6 @@ - - - + diff --git a/src/chrome/content/rules/Mass_Relevance.xml b/src/chrome/content/rules/Mass_Relevance.xml index 35a8681bb5ed..c70dd421690f 100644 --- a/src/chrome/content/rules/Mass_Relevance.xml +++ b/src/chrome/content/rules/Mass_Relevance.xml @@ -32,7 +32,7 @@ to="https://$1massrelevance.com/" /> + to="https://up.massrelevance.com/" /> diff --git a/src/chrome/content/rules/MediaMatters.org.xml b/src/chrome/content/rules/MediaMatters.org.xml index fd3d13156fed..543f31e17677 100644 --- a/src/chrome/content/rules/MediaMatters.org.xml +++ b/src/chrome/content/rules/MediaMatters.org.xml @@ -56,7 +56,7 @@ to="https://dnqv4na4axyak.cloudfront.net/static/" /> + to="https://cloudfront.mediamatters.org/" /> diff --git a/src/chrome/content/rules/MesonBuild.com.xml b/src/chrome/content/rules/MesonBuild.com.xml new file mode 100644 index 000000000000..3cdf8c7fdb2c --- /dev/null +++ b/src/chrome/content/rules/MesonBuild.com.xml @@ -0,0 +1,14 @@ + + + + + + + + + + + diff --git a/src/chrome/content/rules/MikroTik.com.xml b/src/chrome/content/rules/MikroTik.com.xml index 986405ec9c0f..b68be85faa59 100644 --- a/src/chrome/content/rules/MikroTik.com.xml +++ b/src/chrome/content/rules/MikroTik.com.xml @@ -71,13 +71,11 @@ - + - + diff --git a/src/chrome/content/rules/Mingw-w64.org.xml b/src/chrome/content/rules/Mingw-w64.org.xml new file mode 100644 index 000000000000..11d3b35d6b8d --- /dev/null +++ b/src/chrome/content/rules/Mingw-w64.org.xml @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/src/chrome/content/rules/Minted.xml b/src/chrome/content/rules/Minted.xml index 3f67f5c64778..144a3e1a9a4d 100644 --- a/src/chrome/content/rules/Minted.xml +++ b/src/chrome/content/rules/Minted.xml @@ -60,12 +60,12 @@ to="https://www.minted.com/" /> + to="https://cdn3.minted.com/" /> + to="https://cdn4.minted.com/" /> + to="https://cdn5.minted.com/" /> \ No newline at end of file diff --git a/src/chrome/content/rules/Mobypicture.xml b/src/chrome/content/rules/Mobypicture.xml index 1b2053271bc2..07cf1990c7f1 100644 --- a/src/chrome/content/rules/Mobypicture.xml +++ b/src/chrome/content/rules/Mobypicture.xml @@ -96,6 +96,6 @@ Fetch error: http://mobypicture.com/ => https://mobypicture.com/: (60, 'SSL cert to="https://d3l076gtvxuom7.cloudfront.net/" /> + to="https://vid.mobypicture.com/" /> diff --git a/src/chrome/content/rules/Modoee.com.xml b/src/chrome/content/rules/Modoee.com.xml new file mode 100644 index 000000000000..5cc20ffb593c --- /dev/null +++ b/src/chrome/content/rules/Modoee.com.xml @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/src/chrome/content/rules/Mono-project.xml b/src/chrome/content/rules/Mono-project.xml new file mode 100644 index 000000000000..faf4cb29c6b2 --- /dev/null +++ b/src/chrome/content/rules/Mono-project.xml @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + diff --git a/src/chrome/content/rules/Mxptint.net.xml b/src/chrome/content/rules/Mxptint.net.xml index 82345085fee9..40ae8e9a8dc5 100644 --- a/src/chrome/content/rules/Mxptint.net.xml +++ b/src/chrome/content/rules/Mxptint.net.xml @@ -1,31 +1,51 @@ + + + + + + + + + + + - - - - + + + + + + + + - diff --git a/src/chrome/content/rules/My_Aloe_Cleanse.com.xml b/src/chrome/content/rules/My_Aloe_Cleanse.com.xml deleted file mode 100644 index b083ceaa8e57..000000000000 --- a/src/chrome/content/rules/My_Aloe_Cleanse.com.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - - - - - - - - - - diff --git a/src/chrome/content/rules/NBCUDigitalAdOps.com.xml b/src/chrome/content/rules/NBCUDigitalAdOps.com.xml new file mode 100644 index 000000000000..c703e7676c28 --- /dev/null +++ b/src/chrome/content/rules/NBCUDigitalAdOps.com.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + diff --git a/src/chrome/content/rules/NBCUniversal_Media.xml b/src/chrome/content/rules/NBCUniversal_Media.xml deleted file mode 100644 index 67aee24fae49..000000000000 --- a/src/chrome/content/rules/NBCUniversal_Media.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - - - - - - - - - - - - diff --git a/src/chrome/content/rules/News-Corporation-mismatches.xml b/src/chrome/content/rules/News-Corporation-mismatches.xml index 2ad858aa6f6b..e312feb41152 100644 --- a/src/chrome/content/rules/News-Corporation-mismatches.xml +++ b/src/chrome/content/rules/News-Corporation-mismatches.xml @@ -8,61 +8,26 @@ (www.)edgesuite.net/404.fox(business|news).com/ --> + - - - - + - - - - - - - - - - - - - - - - - - - - - - - + diff --git a/src/chrome/content/rules/No_Starch_Press.xml b/src/chrome/content/rules/No_Starch_Press.xml index 8f8300c1d3ad..a089369cf305 100644 --- a/src/chrome/content/rules/No_Starch_Press.xml +++ b/src/chrome/content/rules/No_Starch_Press.xml @@ -46,6 +46,6 @@ to="https://mail.google.com/a/nostarch.com" /> + to="https://media.nostarch.com/" /> diff --git a/src/chrome/content/rules/Officeworks.com.au.xml b/src/chrome/content/rules/Officeworks.com.au.xml new file mode 100644 index 000000000000..88a0388e806f --- /dev/null +++ b/src/chrome/content/rules/Officeworks.com.au.xml @@ -0,0 +1,70 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/chrome/content/rules/Officeworks.xml b/src/chrome/content/rules/Officeworks.xml deleted file mode 100644 index df71f9c8ae15..000000000000 --- a/src/chrome/content/rules/Officeworks.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - - - diff --git a/src/chrome/content/rules/PBase.xml b/src/chrome/content/rules/PBase.xml index 06847d92144d..00a09b223f62 100644 --- a/src/chrome/content/rules/PBase.xml +++ b/src/chrome/content/rules/PBase.xml @@ -25,6 +25,6 @@ to="https://secure2.pbase.com/" /> + to="https://ap1.pbase.com/" /> diff --git a/src/chrome/content/rules/PC_Booster.xml b/src/chrome/content/rules/PC_Booster.xml index ed30e91907f1..711748a27371 100644 --- a/src/chrome/content/rules/PC_Booster.xml +++ b/src/chrome/content/rules/PC_Booster.xml @@ -19,6 +19,6 @@ to="https://$1pcbooster.com/" /> + to="https://files.pcbooster.com/" /> diff --git a/src/chrome/content/rules/PRX.xml b/src/chrome/content/rules/PRX.xml index 086fc3f07882..0aae40d31e6d 100644 --- a/src/chrome/content/rules/PRX.xml +++ b/src/chrome/content/rules/PRX.xml @@ -28,6 +28,6 @@ to="https://$1prx.org/" /> + to="https://assets1.prx.org/" /> diff --git a/src/chrome/content/rules/PSX-Extreme.xml b/src/chrome/content/rules/PSX-Extreme.xml index 6566219e071f..68c7e2923cf2 100644 --- a/src/chrome/content/rules/PSX-Extreme.xml +++ b/src/chrome/content/rules/PSX-Extreme.xml @@ -10,7 +10,6 @@ - + diff --git a/src/chrome/content/rules/Panthema.net.xml b/src/chrome/content/rules/Panthema.net.xml new file mode 100644 index 000000000000..b60e0710a186 --- /dev/null +++ b/src/chrome/content/rules/Panthema.net.xml @@ -0,0 +1,13 @@ + + + + + + + + + diff --git a/src/chrome/content/rules/Pardot.xml b/src/chrome/content/rules/Pardot.xml index d1f62a32afb7..b9f49f2d2c1f 100644 --- a/src/chrome/content/rules/Pardot.xml +++ b/src/chrome/content/rules/Pardot.xml @@ -86,9 +86,6 @@ Fetch error: http://help.pardot.com/ => https://help.pardot.com/: (51, "SSL: no - - diff --git a/src/chrome/content/rules/PepperJam_Exchange.xml b/src/chrome/content/rules/PepperJam_Exchange.xml index 5148dbf9a21b..e934a9be1ed7 100644 --- a/src/chrome/content/rules/PepperJam_Exchange.xml +++ b/src/chrome/content/rules/PepperJam_Exchange.xml @@ -25,6 +25,6 @@ to="https://$1pepperjamnetwork.com/" /> + to="https://media.pepperjamnetwork.com/" /> diff --git a/src/chrome/content/rules/PhotoShelter.xml b/src/chrome/content/rules/PhotoShelter.xml index 06c521adaa12..d9e662b95e5b 100644 --- a/src/chrome/content/rules/PhotoShelter.xml +++ b/src/chrome/content/rules/PhotoShelter.xml @@ -1,43 +1,33 @@ - + - - - + + - - - + + - - + + + + diff --git a/src/chrome/content/rules/Piriform.xml b/src/chrome/content/rules/Piriform.xml index 1a5737991308..cf440587fab8 100644 --- a/src/chrome/content/rules/Piriform.xml +++ b/src/chrome/content/rules/Piriform.xml @@ -73,13 +73,13 @@ + to="https://s1.pir.fm/" /> + to="https://download.piriform.com/" /> diff --git a/src/chrome/content/rules/PolitiFact.xml b/src/chrome/content/rules/PolitiFact.xml index 801dd7a348a3..96d8e807ed89 100644 --- a/src/chrome/content/rules/PolitiFact.xml +++ b/src/chrome/content/rules/PolitiFact.xml @@ -22,6 +22,6 @@ to="https://stpetersburgtimes.122.2o7.net/" /> + to="https://static.politifact.com/" /> diff --git a/src/chrome/content/rules/PowerDNS.com.xml b/src/chrome/content/rules/PowerDNS.com.xml index 45c2472bc9bf..36d9bf0f1f47 100644 --- a/src/chrome/content/rules/PowerDNS.com.xml +++ b/src/chrome/content/rules/PowerDNS.com.xml @@ -1,21 +1,28 @@ - - + + + + + - - - + + + + + - + + + + + + + + + + \ No newline at end of file diff --git a/src/chrome/content/rules/QQ.xml b/src/chrome/content/rules/QQ.xml index 237c5fc26ad2..0140667f31e4 100644 --- a/src/chrome/content/rules/QQ.xml +++ b/src/chrome/content/rules/QQ.xml @@ -9,6 +9,7 @@ 500: - misc.3g - pushdata + - open.t.qq.com Refused: - trace @@ -218,6 +219,7 @@ + @@ -243,11 +245,6 @@ - - - - - @@ -292,10 +289,12 @@ - + + + @@ -345,8 +344,7 @@ - - + diff --git a/src/chrome/content/rules/QuantCount.xml b/src/chrome/content/rules/QuantCount.xml new file mode 100644 index 000000000000..0e245421ebce --- /dev/null +++ b/src/chrome/content/rules/QuantCount.xml @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/chrome/content/rules/Quantcast.xml b/src/chrome/content/rules/Quantcast.xml index db517d19c1ef..084b7f7e089f 100644 --- a/src/chrome/content/rules/Quantcast.xml +++ b/src/chrome/content/rules/Quantcast.xml @@ -2,18 +2,61 @@ Other Quantcast rulesets: - Quantserve.com.xml - + - QuantCount.xml + + Redirect to plain: + - edirect.qapi.quantcast.com + - onedrive.redirect.qapi.quantcast.com + - outlook-calendar.redirect.qapi.quantcast.com + - outlook-mail.redirect.qapi.quantcast.com + - outlook-people.redirect.qapi.quantcast.com + - outlook-tasks.redirect.qapi.quantcast.com + - test.redirect.qapi.quantcast.com + + Connection refused: + - adtest-raw.quantcast.com + - adtest.quantcast.com + - autodiscover.quantcast.com + + Cert mismatch: + - branding.quantcast.com + - developer.quantcast.com + - em.quantcast.com + - go.quantcast.com + - help.quantcast.com + + Timeout: + - obm.quantcast.com --> + + + + + + + + + + + + + + + + + + - - + + + diff --git a/src/chrome/content/rules/Quantserve.com.xml b/src/chrome/content/rules/Quantserve.com.xml index 3e8e287b1623..dc305c3cb4c3 100644 --- a/src/chrome/content/rules/Quantserve.com.xml +++ b/src/chrome/content/rules/Quantserve.com.xml @@ -1,5 +1,5 @@ - - - + + + + + + + + - - - + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + - - - + diff --git a/src/chrome/content/rules/Robin_Rabard.xml b/src/chrome/content/rules/Robin_Rabard.xml deleted file mode 100644 index ff6cf8fefe65..000000000000 --- a/src/chrome/content/rules/Robin_Rabard.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/src/chrome/content/rules/Rogers-Bank.xml b/src/chrome/content/rules/Rogers-Bank.xml new file mode 100644 index 000000000000..75d2f1a9b918 --- /dev/null +++ b/src/chrome/content/rules/Rogers-Bank.xml @@ -0,0 +1,18 @@ + + + + + + + + + + + + diff --git a/src/chrome/content/rules/Rovio.com.xml b/src/chrome/content/rules/Rovio.com.xml index fceceeb839b0..a737aaf3aa47 100644 --- a/src/chrome/content/rules/Rovio.com.xml +++ b/src/chrome/content/rules/Rovio.com.xml @@ -64,9 +64,6 @@ - - + + + + + + + diff --git a/src/chrome/content/rules/Rudix.org.xml b/src/chrome/content/rules/Rudix.org.xml new file mode 100644 index 000000000000..9bcd75d74d16 --- /dev/null +++ b/src/chrome/content/rules/Rudix.org.xml @@ -0,0 +1,13 @@ + + + + + + + + + + diff --git a/src/chrome/content/rules/SB-Nation.xml b/src/chrome/content/rules/SB-Nation.xml index 0f27a527cf0d..f2fbbd1d8312 100644 --- a/src/chrome/content/rules/SB-Nation.xml +++ b/src/chrome/content/rules/SB-Nation.xml @@ -45,10 +45,6 @@ --> - - - + diff --git a/src/chrome/content/rules/SMF_for_Free.xml b/src/chrome/content/rules/SMF_for_Free.xml index 4ba7178ee9c1..6b5d38f6d3af 100644 --- a/src/chrome/content/rules/SMF_for_Free.xml +++ b/src/chrome/content/rules/SMF_for_Free.xml @@ -20,7 +20,7 @@ + to="https://cdn.smfboards.com/" /> diff --git a/src/chrome/content/rules/STA-Travel.at.xml b/src/chrome/content/rules/STA-Travel.at.xml new file mode 100644 index 000000000000..81e55ed017ac --- /dev/null +++ b/src/chrome/content/rules/STA-Travel.at.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + diff --git a/src/chrome/content/rules/STA-Travel.ch.xml b/src/chrome/content/rules/STA-Travel.ch.xml new file mode 100644 index 000000000000..fc8611babd21 --- /dev/null +++ b/src/chrome/content/rules/STA-Travel.ch.xml @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/chrome/content/rules/STA-Travel.co.nz.xml b/src/chrome/content/rules/STA-Travel.co.nz.xml new file mode 100644 index 000000000000..83ead9f632cb --- /dev/null +++ b/src/chrome/content/rules/STA-Travel.co.nz.xml @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/chrome/content/rules/STA-Travel.co.th.xml b/src/chrome/content/rules/STA-Travel.co.th.xml new file mode 100644 index 000000000000..9094db564b32 --- /dev/null +++ b/src/chrome/content/rules/STA-Travel.co.th.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + diff --git a/src/chrome/content/rules/STA-Travel.co.za.xml b/src/chrome/content/rules/STA-Travel.co.za.xml new file mode 100644 index 000000000000..fc63a93e6cf2 --- /dev/null +++ b/src/chrome/content/rules/STA-Travel.co.za.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + diff --git a/src/chrome/content/rules/STA-Travel.com.au.xml b/src/chrome/content/rules/STA-Travel.com.au.xml new file mode 100644 index 000000000000..0b0a3803c626 --- /dev/null +++ b/src/chrome/content/rules/STA-Travel.com.au.xml @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/chrome/content/rules/STA-Travel.com.sg.xml b/src/chrome/content/rules/STA-Travel.com.sg.xml new file mode 100644 index 000000000000..9fdc7d485666 --- /dev/null +++ b/src/chrome/content/rules/STA-Travel.com.sg.xml @@ -0,0 +1,25 @@ + + + + + + + + diff --git a/src/chrome/content/rules/STA-Travel.de.xml b/src/chrome/content/rules/STA-Travel.de.xml new file mode 100644 index 000000000000..0756444bf02c --- /dev/null +++ b/src/chrome/content/rules/STA-Travel.de.xml @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/chrome/content/rules/Sailthru.xml b/src/chrome/content/rules/Sailthru.xml index df92a978c667..954e12a8894c 100644 --- a/src/chrome/content/rules/Sailthru.xml +++ b/src/chrome/content/rules/Sailthru.xml @@ -111,9 +111,6 @@ Fetch error: http://me.sailthru.com/ => https://www.sailthru.com/: Too many redi - - diff --git a/src/chrome/content/rules/Scoop.it.xml b/src/chrome/content/rules/Scoop.it.xml index 42519c6a0c2c..a5fbb315c05f 100644 --- a/src/chrome/content/rules/Scoop.it.xml +++ b/src/chrome/content/rules/Scoop.it.xml @@ -30,6 +30,6 @@ to="https://www.scoop.it/$1" /> + to="https://img.scoop.it/" /> \ No newline at end of file diff --git a/src/chrome/content/rules/ShareASale.com.xml b/src/chrome/content/rules/ShareASale.com.xml index 26f7ce02da18..29e1c276f48c 100644 --- a/src/chrome/content/rules/ShareASale.com.xml +++ b/src/chrome/content/rules/ShareASale.com.xml @@ -48,10 +48,6 @@ - - - + diff --git a/src/chrome/content/rules/Shmoop.com.xml b/src/chrome/content/rules/Shmoop.com.xml index db934ea84b91..3ace8a775a90 100644 --- a/src/chrome/content/rules/Shmoop.com.xml +++ b/src/chrome/content/rules/Shmoop.com.xml @@ -23,6 +23,6 @@ to="https://www.shmoop.com/" /> + to="https://media1.shmoop.com/" /> diff --git a/src/chrome/content/rules/Showcase.ca.xml b/src/chrome/content/rules/Showcase.ca.xml index de456e96c907..91efaebf58d3 100644 --- a/src/chrome/content/rules/Showcase.ca.xml +++ b/src/chrome/content/rules/Showcase.ca.xml @@ -60,7 +60,6 @@ - + diff --git a/src/chrome/content/rules/Slippedisc.com.xml b/src/chrome/content/rules/Slippedisc.com.xml new file mode 100644 index 000000000000..4a408a30d155 --- /dev/null +++ b/src/chrome/content/rules/Slippedisc.com.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/chrome/content/rules/SmartURL.it.xml b/src/chrome/content/rules/SmartURL.it.xml new file mode 100644 index 000000000000..72429ec56e31 --- /dev/null +++ b/src/chrome/content/rules/SmartURL.it.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/src/chrome/content/rules/Smdg.ca.xml b/src/chrome/content/rules/Smdg.ca.xml index 99b3b72c910f..c2ba73160ffa 100644 --- a/src/chrome/content/rules/Smdg.ca.xml +++ b/src/chrome/content/rules/Smdg.ca.xml @@ -14,7 +14,6 @@ - + diff --git a/src/chrome/content/rules/SodaHead.com.xml b/src/chrome/content/rules/SodaHead.com.xml index fe3abd9cc029..9f54451dee9c 100644 --- a/src/chrome/content/rules/SodaHead.com.xml +++ b/src/chrome/content/rules/SodaHead.com.xml @@ -32,7 +32,7 @@ Fetch error: http://sodahead.com/ => https://sodahead.com/: (51, "SSL: no altern to="https://$1sodahead.com/" /> + to="https://images.sodahead.com/" /> diff --git a/src/chrome/content/rules/Sonobi.com.xml b/src/chrome/content/rules/Sonobi.com.xml index 7614db7642f3..fa0ec8262a12 100644 --- a/src/chrome/content/rules/Sonobi.com.xml +++ b/src/chrome/content/rules/Sonobi.com.xml @@ -1,31 +1,81 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - + + + + - diff --git a/src/chrome/content/rules/Stadt-bremerhaven.de.xml b/src/chrome/content/rules/Stadt-bremerhaven.de.xml index ade726a63980..1523f67cec80 100644 --- a/src/chrome/content/rules/Stadt-bremerhaven.de.xml +++ b/src/chrome/content/rules/Stadt-bremerhaven.de.xml @@ -1,19 +1,7 @@ - - - - + - + - - + diff --git a/src/chrome/content/rules/Stubhub.co.uk.xml b/src/chrome/content/rules/Stubhub.co.uk.xml new file mode 100644 index 000000000000..708ffc9bb3b2 --- /dev/null +++ b/src/chrome/content/rules/Stubhub.co.uk.xml @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + diff --git a/src/chrome/content/rules/Stubhub.com.xml b/src/chrome/content/rules/Stubhub.com.xml new file mode 100644 index 000000000000..3fcfd7bcdf35 --- /dev/null +++ b/src/chrome/content/rules/Stubhub.com.xml @@ -0,0 +1,101 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/chrome/content/rules/Stubhub.de.xml b/src/chrome/content/rules/Stubhub.de.xml new file mode 100644 index 000000000000..385bd400b94a --- /dev/null +++ b/src/chrome/content/rules/Stubhub.de.xml @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/src/chrome/content/rules/Stubhub.xml b/src/chrome/content/rules/Stubhub.xml deleted file mode 100644 index 0892cfe29f09..000000000000 --- a/src/chrome/content/rules/Stubhub.xml +++ /dev/null @@ -1,67 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/chrome/content/rules/Sussan.com.au.xml b/src/chrome/content/rules/Sussan.com.au.xml index edc5516d448c..7e4a45c96e8d 100644 --- a/src/chrome/content/rules/Sussan.com.au.xml +++ b/src/chrome/content/rules/Sussan.com.au.xml @@ -38,12 +38,10 @@ - + - + diff --git a/src/chrome/content/rules/Target.com.au.xml b/src/chrome/content/rules/Target.com.au.xml new file mode 100644 index 000000000000..014283e18c50 --- /dev/null +++ b/src/chrome/content/rules/Target.com.au.xml @@ -0,0 +1,75 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/chrome/content/rules/TeacherCast.net.xml b/src/chrome/content/rules/TeacherCast.net.xml new file mode 100644 index 000000000000..f7a37a2b89df --- /dev/null +++ b/src/chrome/content/rules/TeacherCast.net.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/chrome/content/rules/TechWeb.xml b/src/chrome/content/rules/TechWeb.xml index 90f433b88fba..aa7c9eb35be7 100644 --- a/src/chrome/content/rules/TechWeb.xml +++ b/src/chrome/content/rules/TechWeb.xml @@ -65,7 +65,7 @@ Fetch error: http://techwebonlineevents.com/ => https://www.techwebonlineevents. + to="https://img.lightreading.com/" /> diff --git a/src/chrome/content/rules/Telstra.com.xml b/src/chrome/content/rules/Telstra.com.xml new file mode 100644 index 000000000000..c10a0c67b389 --- /dev/null +++ b/src/chrome/content/rules/Telstra.com.xml @@ -0,0 +1,674 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/chrome/content/rules/TheResumator.com.xml b/src/chrome/content/rules/TheResumator.com.xml index 776581d39ffa..ee7a38ee52ea 100644 --- a/src/chrome/content/rules/TheResumator.com.xml +++ b/src/chrome/content/rules/TheResumator.com.xml @@ -21,7 +21,7 @@ to="https://$1theresumator.com/" /> + to="https://assets.theresumator.com/" /> diff --git a/src/chrome/content/rules/Thesn.net.xml b/src/chrome/content/rules/Thesn.net.xml index 75396253ffde..142f81e96558 100644 --- a/src/chrome/content/rules/Thesn.net.xml +++ b/src/chrome/content/rules/Thesn.net.xml @@ -14,7 +14,6 @@ - + diff --git a/src/chrome/content/rules/TranslateThi.is.xml b/src/chrome/content/rules/TranslateThi.is.xml index 02fcafcbf510..ce263f59eb94 100644 --- a/src/chrome/content/rules/TranslateThi.is.xml +++ b/src/chrome/content/rules/TranslateThi.is.xml @@ -18,7 +18,6 @@ Non-2xx HTTP code: http://x.translateth.is/ (200) => https://s3.amazonaws.com/x. - + \ No newline at end of file diff --git a/src/chrome/content/rules/TrialPay.xml b/src/chrome/content/rules/TrialPay.xml index b920d4ab0ec6..50d796d3fcbc 100644 --- a/src/chrome/content/rules/TrialPay.xml +++ b/src/chrome/content/rules/TrialPay.xml @@ -23,6 +23,6 @@ to="https://www.trialpay.com/" /> + to="https://assets.trialpay.com/" /> diff --git a/src/chrome/content/rules/TurboSquid.xml b/src/chrome/content/rules/TurboSquid.xml index 489e8972c607..915658634a69 100644 --- a/src/chrome/content/rules/TurboSquid.xml +++ b/src/chrome/content/rules/TurboSquid.xml @@ -20,6 +20,6 @@ Fetch error: http://turbosquid.com/ => https://turbosquid.com/: Cycle detected - to="https://$1turbosquid.com/" /> + to="https://sitefiles.turbosquid.com/" /> diff --git a/src/chrome/content/rules/UnwiredLtd.com.xml b/src/chrome/content/rules/UnwiredLtd.com.xml new file mode 100644 index 000000000000..562f42df321d --- /dev/null +++ b/src/chrome/content/rules/UnwiredLtd.com.xml @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/src/chrome/content/rules/VelocityFrequentFlyer.com.xml b/src/chrome/content/rules/VelocityFrequentFlyer.com.xml new file mode 100644 index 000000000000..2c590cb26459 --- /dev/null +++ b/src/chrome/content/rules/VelocityFrequentFlyer.com.xml @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/src/chrome/content/rules/Velvet_Cache.org.xml b/src/chrome/content/rules/Velvet_Cache.org.xml index 9b42dafd032e..7170fe464a30 100644 --- a/src/chrome/content/rules/Velvet_Cache.org.xml +++ b/src/chrome/content/rules/Velvet_Cache.org.xml @@ -12,7 +12,6 @@ - + diff --git a/src/chrome/content/rules/Verwaltung_Online.xml b/src/chrome/content/rules/Verwaltung_Online.xml index 92b2f7f63baf..66947363b6d0 100644 --- a/src/chrome/content/rules/Verwaltung_Online.xml +++ b/src/chrome/content/rules/Verwaltung_Online.xml @@ -14,6 +14,7 @@ - BEV.bund.de.xml - bfe.bund.de.xml - BGR.bund.de.xml + - BiB.bund.de.xml - BMVg.de.xml - bstu.bund.de.xml - Bundesamt_fuer_Kartographie_und_Geodaesie.xml diff --git a/src/chrome/content/rules/Vid.ly.xml b/src/chrome/content/rules/Vid.ly.xml index 4e1704191f32..3fcb6225729c 100644 --- a/src/chrome/content/rules/Vid.ly.xml +++ b/src/chrome/content/rules/Vid.ly.xml @@ -34,9 +34,9 @@ to="https://$1vid.ly/" /> + to="https://cf.cdn.vid.ly/" /> + to="https://s.vid.ly/" /> diff --git a/src/chrome/content/rules/VirginAustralia.xml b/src/chrome/content/rules/VirginAustralia.xml index c782f534175f..f2fa04cd6c20 100644 --- a/src/chrome/content/rules/VirginAustralia.xml +++ b/src/chrome/content/rules/VirginAustralia.xml @@ -1,9 +1,135 @@ + - - - - - - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/chrome/content/rules/Visitestonia.com.xml b/src/chrome/content/rules/Visitestonia.com.xml index 290b77d3b8e1..5da6b6a6cab7 100644 --- a/src/chrome/content/rules/Visitestonia.com.xml +++ b/src/chrome/content/rules/Visitestonia.com.xml @@ -48,7 +48,7 @@ to="https://$1visitestonia.com/" /> + to="https://cache.visitestonia.com/" /> diff --git a/src/chrome/content/rules/Vzaar.xml b/src/chrome/content/rules/Vzaar.xml index 62b91103a830..d6dddb84a2fa 100644 --- a/src/chrome/content/rules/Vzaar.xml +++ b/src/chrome/content/rules/Vzaar.xml @@ -38,10 +38,6 @@ Fetch error: http://mtoza.vzaar.com/ => https://mtoza.vzaar.com/: (6, 'Could not - - - + diff --git a/src/chrome/content/rules/Whiskey-Media.xml b/src/chrome/content/rules/Whiskey-Media.xml index f69887479bdc..df02cb5ac1f8 100644 --- a/src/chrome/content/rules/Whiskey-Media.xml +++ b/src/chrome/content/rules/Whiskey-Media.xml @@ -41,6 +41,6 @@ Fetch error: http://media.corp.whiskeymedia.com/ => https://s3.amazonaws.com/med to="https://s3.amazonaws.com/media.$1.com/" /> + to="https://files.tested.com/" /> diff --git a/src/chrome/content/rules/WolverineWorldwide.com.xml b/src/chrome/content/rules/WolverineWorldwide.com.xml new file mode 100644 index 000000000000..1e5f79cd72fc --- /dev/null +++ b/src/chrome/content/rules/WolverineWorldwide.com.xml @@ -0,0 +1,16 @@ + + + + + + + + + + + + diff --git a/src/chrome/content/rules/XFCE.org.xml b/src/chrome/content/rules/XFCE.org.xml index c4c5d00fc6c1..3b15805ddbb4 100644 --- a/src/chrome/content/rules/XFCE.org.xml +++ b/src/chrome/content/rules/XFCE.org.xml @@ -1,50 +1,48 @@ + + + + + diff --git a/src/chrome/content/rules/Xignite.xml b/src/chrome/content/rules/Xignite.xml index 69eaff27283b..810fc91d20cd 100644 --- a/src/chrome/content/rules/Xignite.xml +++ b/src/chrome/content/rules/Xignite.xml @@ -64,10 +64,6 @@ - - - + diff --git a/src/chrome/content/rules/ZDbb.net.xml b/src/chrome/content/rules/ZDbb.net.xml index 019e6a2a453a..69ab3479a002 100644 --- a/src/chrome/content/rules/ZDbb.net.xml +++ b/src/chrome/content/rules/ZDbb.net.xml @@ -29,10 +29,6 @@ - - - + diff --git a/src/chrome/content/rules/aastocks.com.xml b/src/chrome/content/rules/aastocks.com.xml index 87c88bca396b..b88376097dc3 100644 --- a/src/chrome/content/rules/aastocks.com.xml +++ b/src/chrome/content/rules/aastocks.com.xml @@ -29,6 +29,7 @@ - fx.aastocks.com - payment.aastocks.com - tldata.aastocks.com + - video.aastocks.com - ws2.aastocks.com - wss-uat.aastocks.com - wss1.aastocks.com @@ -74,12 +75,14 @@ --> + + diff --git a/src/chrome/content/rules/arewee10syet.com.xml b/src/chrome/content/rules/arewee10syet.com.xml deleted file mode 100644 index 55bd1abf27a5..000000000000 --- a/src/chrome/content/rules/arewee10syet.com.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - diff --git a/src/chrome/content/rules/cloudmailer.space.xml b/src/chrome/content/rules/cloudmailer.space.xml new file mode 100644 index 000000000000..a508351c977a --- /dev/null +++ b/src/chrome/content/rules/cloudmailer.space.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/src/chrome/content/rules/expreview.com.xml b/src/chrome/content/rules/expreview.com.xml new file mode 100644 index 000000000000..3e893448573a --- /dev/null +++ b/src/chrome/content/rules/expreview.com.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + diff --git a/src/chrome/content/rules/fuzeqna.com.xml b/src/chrome/content/rules/fuzeqna.com.xml new file mode 100644 index 000000000000..4d4741663a5f --- /dev/null +++ b/src/chrome/content/rules/fuzeqna.com.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/src/chrome/content/rules/lightreading.com.xml b/src/chrome/content/rules/lightreading.com.xml index 94184d3b1c99..020b9d9ad0de 100644 --- a/src/chrome/content/rules/lightreading.com.xml +++ b/src/chrome/content/rules/lightreading.com.xml @@ -68,12 +68,10 @@ - + - + diff --git a/src/chrome/content/rules/masterpasswordapp.com.xml b/src/chrome/content/rules/masterpasswordapp.com.xml new file mode 100644 index 000000000000..58bf0ee71989 --- /dev/null +++ b/src/chrome/content/rules/masterpasswordapp.com.xml @@ -0,0 +1,13 @@ + + + + + + + + + + diff --git a/src/chrome/content/rules/nlx.org.xml b/src/chrome/content/rules/nlx.org.xml index fad60d3d5831..161ea19cf42d 100644 --- a/src/chrome/content/rules/nlx.org.xml +++ b/src/chrome/content/rules/nlx.org.xml @@ -53,7 +53,7 @@ + to="https://de.nlx.org/" /> diff --git a/src/chrome/content/rules/pronoun.is.xml b/src/chrome/content/rules/pronoun.is.xml new file mode 100644 index 000000000000..439d9722ba63 --- /dev/null +++ b/src/chrome/content/rules/pronoun.is.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + diff --git a/src/chrome/content/rules/scmagazine.com.xml b/src/chrome/content/rules/scmagazine.com.xml index ed2d41a37466..da18871b72a7 100644 --- a/src/chrome/content/rules/scmagazine.com.xml +++ b/src/chrome/content/rules/scmagazine.com.xml @@ -59,9 +59,6 @@ - - + + + + + + + + diff --git a/src/chrome/content/rules/yr.no.xml b/src/chrome/content/rules/yr.no.xml index f2ef88885cd4..063a1d62dd0d 100644 --- a/src/chrome/content/rules/yr.no.xml +++ b/src/chrome/content/rules/yr.no.xml @@ -1,44 +1,38 @@ - + - - + --> - - diff --git a/src/chrome/locale/en/https-everywhere.dtd b/src/chrome/locale/en/https-everywhere.dtd index 1e71f2b42efe..4c77104a3d75 100644 --- a/src/chrome/locale/en/https-everywhere.dtd +++ b/src/chrome/locale/en/https-everywhere.dtd @@ -25,6 +25,9 @@ + + + diff --git a/utils/ruleset-whitelist.csv b/utils/ruleset-whitelist.csv index be1f17d26998..8ad2fcd1cedd 100644 --- a/utils/ruleset-whitelist.csv +++ b/utils/ruleset-whitelist.csv @@ -61,7 +61,7 @@ fc7c90d849f4bb81243211a9562b2c2b9a56cd5bbbdfe376a1c891c0c3fce0e2,1,1,0,Activisio 07f5d75d4bb24e06bad963d545c2685ba90ed6b75bbb747d15734146fbc71666,1,1,0,Ad4Game.xml fb0ca273f18259e6a3a5fa830d5935ac5031be61d471a2cc0c6aeecdaea13698,1,1,0,Adallom.com.xml c781e81a341599aecb674a36f114512b59f5f7930fc309097a456c71e28db902,1,1,0,Adaptavist.com.xml -79ecbb418c39e3d0dd20ddb11402b52c352a8a4285754d2decdabe3d9239e8fe,1,1,0,Adbooth.net.xml +fed8a5934be4d65b1cd705d73f435794b28e646c2e6aef72cca8642a451bd155,1,0,0,Adbooth.net.xml 58bab8c45b010c8e4f1b26a3752150319cc93fba598aeb28997ea551164b68e5,1,1,0,AdButler.xml 6c704e7633a84752e7d46297f9077c027c9507dfc3ccdbcdd65612c44fdbfcaf,1,1,0,Addison.com.hk.xml 7e07fe570f87f45fad1782566e2b13d2990371f8e62d275445705160b998007a,1,1,0,Addison_Lee.xml @@ -714,7 +714,7 @@ d7baeaa6bec397bdc80535854950e1df5da6e87e37f1d852df3fab12c5764f42,1,1,0,CoreMotiv 96a1e4d8a7a151bf30f2ce5bdbcb762f5322add6297e6a17c1d26ede3953146a,1,1,0,COSMOS_magazine.xml d1698155b22b3b7f5f0ca643cea078451d79ab6779f6f261d8ca54805b3db3e9,0,1,0,Costco.xml 2468f6840c6141631608ec3bf75e9fb94e1704cfd757a0f331ef2d89376cf59e,1,1,0,Cotera.xml -14f57a9f712732f4a7d072faea9dd8debb34ac651083459dadd90d2f7b611d3f,1,1,0,Couchbase.xml +80eef43f077304055293c67afa215fccefe31871fe3a6712dd42fcc35c20857e,1,0,0,Couchbase.xml 51e4dfd5e80d3187c34dbae64ea978a12df199da807108618c0db357d608742f,1,1,0,CouncilofAustralianGovernments.xml f66c96d6bf5531963d61883ead19002adca60f493e55c25a7636cba436b79918,1,1,0,Council_of_Europe.xml 559b645ee0a32f92fa47772553993a3e839dba0b30267610ac4dd967c96d0fa1,1,1,0,Council_on_Foreign_Relations.xml @@ -828,7 +828,7 @@ a500306d72637bae78a1d0b371b9a8f10da6859172ac4827c61b76729cee86f4,1,0,0,Delaware_ 45795b36ce0a095278fa9b311648ccb7f94051ed1f755235fb6e378a766c5e26,1,1,0,Delaware_Today.com.xml 4686fb4dd00fdb9a389a6b9da295ceeb432f9c119fd2a14f2f1f327d2d41fafd,0,1,0,Delico.se.xml 891c7562e59b43178bbc09fbe6af5da6175df8e9d5806280f639e1e04fcb4fc6,0,1,0,Dell.com-falsemixed.xml -3f23e34d929e7043ad94ff77af5260d54242cedb03fedfc09e51d360b5b697d1,0,1,0,Dell.xml +f9bcbd54d68162ce2489d604abe244d8d3313c4f17c19031358131e7a5a6e7b5,0,1,0,Dell.xml 875695dc9d32681fe988b14271f2cf6ef76cec70f4da0f81e13e8d6572b3a0cf,1,0,0,Demdex.net.xml 4d76501ee8caee0a5161167058233598eb9fcb502a19f4a492f944e5f042a616,1,1,0,Democrat_and_Chronicle.xml ac394cda45cfe2f76348a565b822a97b95a5aa3b9a9d8183e14388fc44ed86d2,1,1,0,Denh.am.xml @@ -1202,7 +1202,7 @@ d0da63b8cfb124503218f5d2fc8e2f6de394eec88e65d7f44dc5b9e346f235ae,1,1,0,Freelansi cf851867f58cb76f64fdcdc2204f3c7d25f19485183165c810abe31a5ed0e77d,0,1,0,FreeWheel-problematic.xml ca17252eb72c6f0b2056e8e4af0f2adfa73302c3c21aa229200a7abc19b14e35,0,1,0,Freight_Calculator_Australia.xml 66d7ab2943eba6c35563a87d17ad66b850b5ca1c7fc354f3df7271d33eecaade,1,1,0,FreshBooks.xml -be60c615333e182ce3979e404ab1fe04d9f73a1c60259c59f1daed9cf520dec0,1,1,0,Freshdesk.xml +26494fd72a6b4139c50d53b96950f667a933d498e41fd4dd83b444bbf87d27cc,1,0,0,Freshdesk.xml 261de79a38338955d2dc593db32764dd61a0b73fd196a3255b89239fa4b569c6,0,1,0,Freshmilk.de.xml b4b923a800b65263a42c953b35b397142e56767dcd84a89a77b2888ac9845053,1,1,0,Freshmilk.tv.xml 1bc4e86cbfde644d76b06a2d42e53d2d3ad77aa44357b51fc3cda52cc13398f2,0,1,0,FriBID.se.xml @@ -1270,7 +1270,7 @@ ef42dcaec37676c59c30cdec3be63707681e45be25541e713cd6e97f789b4110,1,1,0,General-E 902dd3bf0a3c6f3f594fac3abc660020512b61b0264a9766edb6701cb0d593dc,1,0,0,German-Academic-Exchange-Service.xml 5832e8eb6587f76dab2b5c1757c83dd84685b6abbbda41e2908c18b0ece70541,1,1,0,GetChute.xml c0f3f31c0b90e1f5915a5700a29f250f34cb67060b0c8a32ca50c2f5c23c30d8,1,1,0,Getclicky.xml -4cbecbcb6231060cbbb5c37e41e69291b60e45a245e6813cb5f5894de780af11,1,1,0,GetGlue.xml +c4db3c0f59185477a2be0fe54d80f7955068f8eb4cccc4b8344d98d534d8624e,1,0,0,GetGlue.xml 94366f38ea5c1910166134df0df239e157918cbfd3c116aae7466e0d14d0af6a,1,1,0,GetHarvest.com.xml 60f24d3087fa3342353b77b0c57ee7af994613a5847772ee5047821942d71867,1,1,0,Get.It.xml 10a621bf9199c08e61706800651e79887f7d9ab2eff080fe2c6cb96b6f18d664,1,1,0,GetResponse.com.xml @@ -2457,7 +2457,7 @@ a130c2186838ac25cf952bcc67cca009371321b3acbe4fc721309b72aad7027c,0,1,0,Pegelf.de d32196850dffa1814571345636359745e555a8ccd3ca87b50a1ef380380292ed,1,0,0,Penton_Media.xml c701f76f6f266e844c32dc5290854d98e913ea2c5006495b203d27a915336213,0,1,0,People.com-problematic.xml 166164dcf3c3d6d1e3762fbb94fecde448c60817a32fbda5dcea58510bab18a5,1,1,0,Peoples_Choice_Awards.xml -4f739239b0b8c6773946ca4faf240e443e09ac76ea98e300f81e45be2d32bbee,1,1,0,PepperJam_Exchange.xml +1650d0bdbdb83980d71d82b03a9fe04f044b7334fa1274f05cfecb264b9b67a7,1,0,0,PepperJam_Exchange.xml 0bfcf99110e28c27fac8359fa56d2d15eb9a6bc51b7f19c801f48d848eaff667,0,1,0,Perfect_Market.com-problematic.xml 7b78550930456bd1f52a35ff060fcf4bd5600361784386ac7b055825567697d1,0,1,0,Perfect_Sense_Digital.xml 900c3a50d140a65f8eeffd335f0dfa3a879cda47460d82d990a5e3f2c74d9e2c,1,1,0,Performance-Horizon-Group.xml @@ -2528,7 +2528,7 @@ de183d823652107d6817148ef14f0624ab67e95e1440808e1f12a41e1d52c324,1,1,0,Pogo.xml b18aaa63b24e4333450a6523704e29e485506972e8fc4be497e890e79ecef4bf,1,0,0,PoliceUK.xml ed360bd7adf7254dcf2698e30ca35858cbf4cb1e37d305ed814aa2b0781de9c7,0,1,0,Polisforbundet.se.xml 8a694f9c1bef8cd1ce70799ac5df18b9394b1745015d1e1158f6dc8a723a7e46,0,1,0,Political_Wire.com.xml -43181b1b84a18736b971fd4cf9fbca2035adf94aee0ae9653867e767aa753f82,1,1,0,PolitiFact.xml +4c090da2a98d905e95ed63e20101249c8ddbef85970b29fbc8fa4f4aae9bfd9b,1,0,0,PolitiFact.xml fd7bac449610576bf5a1d87e2277ca130fc15ad1f557c6eb5679ca615b5ccc30,1,1,0,Polldaddy.xml 848cbae8bb8a671970b1bd5597d466ef0342bfa39ab0ebe89e31527cda1eb383,1,1,0,Polytechnic-University-of-Catalonia.xml dd309ed575e2ecbc07475735c3c4f7809acaf572582657ac7537aa116ca38a91,1,0,0,polyvore.com.xml @@ -3110,6 +3110,7 @@ eba2548ed57c1957bdeb0b8f24da2d477e526e0cc00435edd5e2a32640c01754,0,1,0,tanx.com. 1bc78da98c0a9dd3deef3d253bace5b2f67371d3aeb7d34181ec3fc516bac37d,1,1,0,Tarasic.com.tw.xml 6944277ec988e47878a9e1a7cc8a7f6436496b66e16f6c35235ec00c973900f3,1,1,0,Target_Performance.xml a8687053c02430a7161492d975a61c779c42f21172db6d16edca34d5a32fa4fe,1,1,0,Target.xml +0e6ce89f0541412c0ae5576d1962471a403777ef0a83778557ed87af872db0b6,0,1,0,Target.com.au.xml e4d80cc754656ada5ba1f98779688c87f5fb61a08791f713ceea95d6cb84b2d9,1,1,0,TAU.ac.il.xml cfb76e4e7478c507dc48b61f51bdc71ed2176927fed165af863dfdba2d2dd270,0,1,0,Tau_Day.com.xml 2239d41720f1c8fd08f8210ca202d9649e5fc4d4ff215f22be7a2be0108a082a,0,1,0,Tcodevelopment.com.xml @@ -3769,3 +3770,30 @@ e0aa84f8ba58a339cabda74594b507c6427a9856a57b1ee3232c7f38ab80751a,1,1,1,Yimg.com. ccf17e77a962a90d0134a342bbf02a2c48fceaa22672205030959e5eabbb54d1,1,1,1,YouVersion.xml 95c9dd36a1b9d28f39272c9da9349eed53f7a3b8a1504e8f6729f67a0ab2a03a,0,1,1,yWorks.com.xml 8f7914e006046e349b25fb919f40317c87fdd9ce249931917c24e48ab12247fb,0,1,0,InsideUniversal.xml +8b4243a706b9cd7a8fad10abcecd9396956fb69e63c38386be315b6ff1e398d9,1,0,0,Circle_of_Moms.xml +aac3c8313ce0052960bc14d79592b1eb5724febcfa01c891947fe3b0d2a2af16,1,0,0,DealerRater.com.xml +c25fa208046939b5089b74302440aeb9883a2ac74193e3a530379cb005a5ca97,1,0,0,Divshot.xml +4b7a3d92d394b2418743eb0c48bcaa7ac4313fc153c78d128614d2ed00844ebb,1,0,0,GumGum.xml +46f666f62d0e78584eda4aad79f38dfd748e680255102f694b47967186be111d,1,0,0,IDG.com.au.xml +47715cdff23f75edd22073135a2dfd3025a97667676e7d7c295e19e73fe03829,1,0,0,IndiaMART.xml +4460c30aa45a43dd73186be400dcee4dc687e1adb06c5063727749107510276a,1,0,0,InkFrog.com.xml +da21df8c250190b6952512cbff2a130645fe0fe5e2700b6c4754f924c5b4cdde,1,0,0,Jawbone.com.xml +be5773037fd1eb2bf6930ddf6709beb05508b7994d5421be0f56b43da927237d,1,0,0,London_Review_of_Books.xml +0632beb9d9a8352ccf4e5abf6f4d129079e6be6a8fd030b89b240b9e3e5002ca,1,0,0,MailChimp.xml +1630ccf34939b95ed2a59cc6109b39a80d511d387edc7e3f7af315a3a5576b8a,1,0,0,Mass_Relevance.xml +beb706df86b2bd492cbd070ed470e63b74f7b79fb2290599dca29595d8b78ce0,1,0,0,MediaMatters.org.xml +440e0583d47b13bdb10e7c95be4309a1adb5068c927aaa62d5085bc4a120b08f,1,0,0,Minted.xml +6bd3287e1120e992be981839dcb3387a0ae9f5309d7bb0228fa060918b3a8d34,1,0,0,No_Starch_Press.xml +d6aef6221d0c4ce6ec6eb34a38676233a2efc71c34fa262197c00d8f3cc5df32,1,0,0,PBase.xml +4548f451dcb7c00ebe62a4c9800fbbc5e95129ebc6180c4af1450d5b73a4c549,1,0,0,PC_Booster.xml +bc02c8bf7232080c0699626c0c53e6cae9cb36425ae65df1a1a50bc9c6781fed,1,0,0,PRX.xml +c70d49c6b84e1ee69e50df56a67cb881ac20609e8ad518c4d3df21aabb69bff7,1,0,0,Piriform.xml +6c3d96b7e739b4b9a319e64168eb7600a742f34a313821c44808c1ac1707f414,1,0,0,ResellerRatings.xml +a2f689bf8b087130bbde41e9c82b88aa713d859ebd0a705d48ab613619c7dc62,1,0,0,SMF_for_Free.xml +ea668b24d05b442466719aed1a61abe76ade2b491190da60100a5b7870468923,1,0,0,Scoop.it.xml +504a89448177c01d9b09b02e7b35b96311d917a38e4fbc6167629f426685cb89,1,0,0,Shmoop.com.xml +398707f5013376b20a3ea329e82ee6e7a476ab7f07f00dc79456c805f0237858,1,0,0,TheResumator.com.xml +f406dd59927cfcdeef97c872936d7992a69efc338b364e345e66e184b783ada9,1,0,0,TrialPay.xml +95ca52acb80fa9a4424435816ce11308792558f6fd0462217a293da823023e2c,1,0,0,TurboSquid.xml +d69038e1cfbb797db8504fe6e2035ddd45fab6d12b64295b1f62858d4cfc4e13,1,0,0,Vid.ly.xml +8c6c49d9fa4828861698a701ccf7d5b2d486969c0462e9562a05a2e9d355eb9b,1,0,0,Visitestonia.com.xml diff --git a/utils/trivialize-cdn-rules/.gitignore b/utils/trivialize-cdn-rules/.gitignore new file mode 100644 index 000000000000..ad46b30886fa --- /dev/null +++ b/utils/trivialize-cdn-rules/.gitignore @@ -0,0 +1,61 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# Runtime data +pids +*.pid +*.seed +*.pid.lock + +# Directory for instrumented libs generated by jscoverage/JSCover +lib-cov + +# Coverage directory used by tools like istanbul +coverage + +# nyc test coverage +.nyc_output + +# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) +.grunt + +# Bower dependency directory (https://bower.io/) +bower_components + +# node-waf configuration +.lock-wscript + +# Compiled binary addons (https://nodejs.org/api/addons.html) +build/Release + +# Dependency directories +node_modules/ +jspm_packages/ + +# TypeScript v1 declaration files +typings/ + +# Optional npm cache directory +.npm + +# Optional eslint cache +.eslintcache + +# Optional REPL history +.node_repl_history + +# Output of 'npm pack' +*.tgz + +# Yarn Integrity file +.yarn-integrity + +# dotenv environment variables file +.env + +# next.js build output +.next diff --git a/utils/trivialize-cdn-rules/index.js b/utils/trivialize-cdn-rules/index.js new file mode 100644 index 000000000000..61532757588a --- /dev/null +++ b/utils/trivialize-cdn-rules/index.js @@ -0,0 +1,159 @@ +'use strict'; + +const util = require('util'); +const path = require('path'); + +const fs = require('graceful-fs'); +const xml2js = require('xml2js'); +const request = require('sync-request'); +const chalk = require('chalk'); + +const readdir = util.promisify(fs.readdir); +const readFile = util.promisify(fs.readFile); +const parseXML = util.promisify(xml2js.parseString); + +const rulesDir = 'src/chrome/content/rules/' + +const log = (level, filename, message) => { + switch(level) { + case 'WARN': + console.warn(chalk.yellow(`[${level}]: ${chalk.bold(filename)}: ${message}`)); + break; + case 'INFO': + console.info(chalk.green(`[${level}]: ${chalk.bold(filename)}: ${message}`)); + break; + case 'FAIL': + default: + console.error(chalk.red(`[${level}]: ${chalk.bold(filename)}: ${message}`)); + break; + } +} + +const supportedCDNsRegexs = [ + { // Cloudfront.net + fromRe: /^\^http(?:s\?)?:\/\/((([\\a-z0-9äö_-]+)\.)*([\\a-z0-9äö-]+))\/$/, + toRe: /^https:\/\/\w+\.cloudfront\.net\/$/, + }, + { // 2o7.net + fromRe: /^\^http(?:s\?)?:\/\/((([\\a-z0-9äö_-]+)\.)*([\\a-z0-9äö-]+))\/$/, + toRe: /^https:\/\/[\w-]+\.122\.2o7\.net\/$/, + }, + { // amazonaws.com + fromRe: /^\^http(?:s\?)?:\/\/((([\\a-z0-9äö_-]+)\.)*([\\a-z0-9äö-]+))\/$/, + toRe: /^https:\/\/s3\.amazonaws\.com\//, + } +] + +const escapeRegExp = (str) => { + return str.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, "\\$&"); +} + +const isSecureConnectionOkay = (host) => { + // FIXME: terrible performance... + let response = request('GET', `https://${host}/`, { + headers: { + 'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:10.0) Gecko/20100101 Firefox/10.0' + }, + timeout: 3000, + socketTimeout: 3000, + maxRedirects: 5, + }); + if (response) { + return true; + } else { + return false; + } +} + +const trivializeGenericRewrites = async (fstat, content, rules) => { + return new Promise((resolve, reject) => { + let rewrittenAtLeastOnce = false; + let originalContent = content; + + for (const rule of rules) { + for (const supportedCDNsRegex of supportedCDNsRegexs) { + if (supportedCDNsRegex.fromRe.test(rule.from) && supportedCDNsRegex.toRe.test(rule.to)) { + let host = rule.from.replace(supportedCDNsRegex.fromRe, '$1').replace(/\\\./g, '.'); + + if (host !== null && isSecureConnectionOkay(host)) { + // TODO: replace rule here... + const ruleRe = `\n([\t ]*)[\t ]*\n`; + const ruleRegex = new RegExp(ruleRe, 'g'); + + if (ruleRegex.test(content)) { + content = content.replace(ruleRegex, `\n$1\n`) + if (originalContent != content) { + rewrittenAtLeastOnce = true; + } + } + break; + } + } + } + } + + if (rewrittenAtLeastOnce) { + try { + fs.writeFileSync(fstat.fullname, content, { encoding: 'utf8' }); + resolve(rewrittenAtLeastOnce); + } catch (error) { + reject(error); + } + } else { + resolve(rewrittenAtLeastOnce); + } + }); +} + +const trivializeCDNRewrites = async (fstat) => { + return new Promise((resolve, reject) => { + (async () => { // async wrapper for await keyword... + let content = await readFile(fstat.fullname, { encoding: 'utf8' }).catch(error => reject(error)); + let $ = await parseXML(content).catch(error => reject(error)); + let rules = $.ruleset.rule.map(rule => rule.$); + let rewrittenAtLeastOnce = false; + + await trivializeGenericRewrites(fstat, content, rules) + .then(rewritten => { + if (rewritten) { + rewrittenAtLeastOnce = true; + } + }) + .catch(error => { + reject(error); + }) + + // TODO: Add support for more CDNs + resolve(rewrittenAtLeastOnce); + })(); + }) +} + +(async () => { + await readdir(rulesDir) + .then(filenames => { + return filenames.filter(filename => filename.endsWith('.xml')); + }) + .then(filenames => { + return filenames.map(filename => ({ + fullname: path.join(rulesDir, filename), + filename + })) + }) + .then(async (fstats) => { + return Promise.all(fstats.map(fstat => { + return trivializeCDNRewrites(fstat) + .then(rewritten => { + if (rewritten) { + log('INFO', fstat.filename, 'trivialized') + } + }) + .catch(error => { + log('FAIL', fstat.filename, error); + }) + })) + }) + .catch(error => { + log('FAIL', "::Promise.all::", error); + }) +})(); diff --git a/utils/trivialize-cdn-rules/package-lock.json b/utils/trivialize-cdn-rules/package-lock.json new file mode 100644 index 000000000000..67e15744d176 --- /dev/null +++ b/utils/trivialize-cdn-rules/package-lock.json @@ -0,0 +1,586 @@ +{ + "name": "trivialize-cdn-rules", + "version": "1.0.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "@types/concat-stream": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@types/concat-stream/-/concat-stream-1.6.0.tgz", + "integrity": "sha1-OU2+C7X+5Gs42JZzXoto7yOQ0A0=", + "requires": { + "@types/node": "*" + } + }, + "@types/form-data": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/@types/form-data/-/form-data-0.0.33.tgz", + "integrity": "sha1-yayFsqX9GENbjIXZ7LUObWyJP/g=", + "requires": { + "@types/node": "*" + } + }, + "@types/node": { + "version": "9.6.23", + "resolved": "https://registry.npmjs.org/@types/node/-/node-9.6.23.tgz", + "integrity": "sha512-d2SJJpwkiPudEQ3+9ysANN2Nvz4QJKUPoe/WL5zyQzI0RaEeZWH5K5xjvUIGszTItHQpFPdH+u51f6G/LkS8Cg==" + }, + "@types/qs": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.5.1.tgz", + "integrity": "sha512-mNhVdZHdtKHMMxbqzNK3RzkBcN1cux3AvuCYGTvjEIQT2uheH3eCAyYsbMbh2Bq8nXkeOWs1kyDiF7geWRFQ4Q==" + }, + "ajv": { + "version": "5.5.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", + "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", + "requires": { + "co": "^4.6.0", + "fast-deep-equal": "^1.0.0", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.3.0" + } + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=" + }, + "asn1": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz", + "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=" + }, + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" + }, + "aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=" + }, + "aws4": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.7.0.tgz", + "integrity": "sha512-32NDda82rhwD9/JBCCkB+MRYDp0oSvlo2IL6rQWA10PQi7tDUM3eqMSltXmY+Oyl/7N3P3qNtAlv7X0d9bI28w==" + }, + "bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", + "optional": true, + "requires": { + "tweetnacl": "^0.14.3" + } + }, + "buffer-from": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.0.tgz", + "integrity": "sha512-c5mRlguI/Pe2dSZmpER62rSCu0ryKmWddzRYsuXc50U2/g8jMOulc31VZMa4mYx31U5xsmSOpDCgH88Vl9cDGQ==" + }, + "caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" + }, + "chalk": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=" + }, + "color-convert": { + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.2.tgz", + "integrity": "sha512-3NUJZdhMhcdPn8vJ9v2UQJoH0qqoGUkYTgFEPZaPjEtwmmKUfNV46zZmgB2M5M4DCEQHMaCfWHCxiBflLm04Tg==", + "dev": true, + "requires": { + "color-name": "1.1.1" + } + }, + "color-name": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.1.tgz", + "integrity": "sha1-SxQVMEz1ACjqgWQ2Q72C6gWANok=", + "dev": true + }, + "combined-stream": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz", + "integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=", + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "requires": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" + }, + "dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "requires": { + "assert-plus": "^1.0.0" + } + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" + }, + "ecc-jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz", + "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=", + "optional": true, + "requires": { + "jsbn": "~0.1.0" + } + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "extend": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz", + "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=" + }, + "extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=" + }, + "fast-deep-equal": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", + "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=" + }, + "fast-json-stable-stringify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", + "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=" + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=" + }, + "form-data": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.2.tgz", + "integrity": "sha1-SXBJi+YEwgwAXU9cI67NIda0kJk=", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "1.0.6", + "mime-types": "^2.1.12" + } + }, + "get-port": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/get-port/-/get-port-3.2.0.tgz", + "integrity": "sha1-3Xzn3hh8Bsi/NTeWrHHgmfCYDrw=" + }, + "getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "requires": { + "assert-plus": "^1.0.0" + } + }, + "graceful-fs": { + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", + "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=" + }, + "har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=" + }, + "har-validator": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.0.3.tgz", + "integrity": "sha1-ukAsJmGU8VlW7xXg/PJCmT9qff0=", + "requires": { + "ajv": "^5.1.0", + "har-schema": "^2.0.0" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "http-basic": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/http-basic/-/http-basic-7.0.0.tgz", + "integrity": "sha1-gvClBr6UJzLsje6+6A50bvVzbbo=", + "requires": { + "@types/concat-stream": "^1.6.0", + "@types/node": "^9.4.1", + "caseless": "~0.12.0", + "concat-stream": "^1.4.6", + "http-response-object": "^3.0.1", + "parse-cache-control": "^1.0.1" + } + }, + "http-response-object": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/http-response-object/-/http-response-object-3.0.1.tgz", + "integrity": "sha512-6L0Fkd6TozA8kFSfh9Widst0wfza3U1Ex2RjJ6zNDK0vR1U1auUR6jY4Nn2Xl7CCy0ikFmxW1XcspVpb9RvwTg==", + "requires": { + "@types/node": "^9.3.0" + } + }, + "http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "requires": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" + }, + "jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", + "optional": true + }, + "json-schema": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=" + }, + "json-schema-traverse": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", + "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=" + }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" + }, + "jsprim": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.2.3", + "verror": "1.10.0" + } + }, + "mime-db": { + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz", + "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==" + }, + "mime-types": { + "version": "2.1.18", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz", + "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==", + "requires": { + "mime-db": "~1.33.0" + } + }, + "oauth-sign": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz", + "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=" + }, + "parse-cache-control": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parse-cache-control/-/parse-cache-control-1.0.1.tgz", + "integrity": "sha1-juqz5U+laSD+Fro493+iGqzC104=" + }, + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" + }, + "process-nextick-args": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", + "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==" + }, + "promise": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/promise/-/promise-8.0.1.tgz", + "integrity": "sha1-5F1osAoXZHttpxG/he1u1HII9FA=", + "requires": { + "asap": "~2.0.3" + } + }, + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=" + }, + "qs": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==" + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "request": { + "version": "2.87.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.87.0.tgz", + "integrity": "sha512-fcogkm7Az5bsS6Sl0sibkbhcKsnyon/jV1kF3ajGmF0c8HrttdKTPRT9hieOaQHA5HEq6r8OyWOo/o781C1tNw==", + "requires": { + "aws-sign2": "~0.7.0", + "aws4": "^1.6.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.5", + "extend": "~3.0.1", + "forever-agent": "~0.6.1", + "form-data": "~2.3.1", + "har-validator": "~5.0.3", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.17", + "oauth-sign": "~0.8.2", + "performance-now": "^2.1.0", + "qs": "~6.5.1", + "safe-buffer": "^5.1.1", + "tough-cookie": "~2.3.3", + "tunnel-agent": "^0.6.0", + "uuid": "^3.1.0" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" + }, + "sshpk": { + "version": "1.14.2", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.14.2.tgz", + "integrity": "sha1-xvxhZIo9nE52T9P8306hBeSSupg=", + "requires": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "supports-color": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + }, + "sync-request": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/sync-request/-/sync-request-6.0.0.tgz", + "integrity": "sha512-jGNIAlCi9iU4X3Dm4oQnNQshDD3h0/1A7r79LyqjbjUnj69sX6mShAXlhRXgImsfVKtTcnra1jfzabdZvp+Lmw==", + "requires": { + "http-response-object": "^3.0.1", + "sync-rpc": "^1.2.1", + "then-request": "^6.0.0" + } + }, + "sync-rpc": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/sync-rpc/-/sync-rpc-1.3.4.tgz", + "integrity": "sha512-Iug+t1ICVFenUcTnDu8WXFnT+k8IVoLKGh8VA3eXUtl2Rt9SjKX3YEv33OenABqpTPL9QEaHv1+CNn2LK8vMow==", + "requires": { + "get-port": "^3.1.0" + } + }, + "then-request": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/then-request/-/then-request-6.0.0.tgz", + "integrity": "sha512-xA+7uEMc+jsQIoyySJ93Ad08Kuqnik7u6jLS5hR91Z3smAoCfL3M8/MqMlobAa9gzBfO9pA88A/AntfepkkMJQ==", + "requires": { + "@types/concat-stream": "^1.6.0", + "@types/form-data": "0.0.33", + "@types/node": "^8.0.0", + "@types/qs": "^6.2.31", + "caseless": "~0.12.0", + "concat-stream": "^1.6.0", + "form-data": "^2.2.0", + "http-basic": "^7.0.0", + "http-response-object": "^3.0.1", + "promise": "^8.0.0", + "qs": "^6.4.0" + }, + "dependencies": { + "@types/node": { + "version": "8.10.21", + "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.21.tgz", + "integrity": "sha512-87XkD9qDXm8fIax+5y7drx84cXsu34ZZqfB7Cial3Q/2lxSoJ/+DRaWckkCbxP41wFSIrrb939VhzaNxj4eY1w==" + } + } + }, + "tough-cookie": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.4.tgz", + "integrity": "sha512-TZ6TTfI5NtZnuyy/Kecv+CnoROnyXn2DN97LontgQpCwsX2XyLYCC0ENhYkehSOwAp8rTQKc/NUIF7BkQ5rKLA==", + "requires": { + "punycode": "^1.4.1" + } + }, + "tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", + "optional": true + }, + "typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + }, + "uuid": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", + "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==" + }, + "verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "requires": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "xml2js": { + "version": "0.4.19", + "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.19.tgz", + "integrity": "sha512-esZnJZJOiJR9wWKMyuvSE1y6Dq5LCuJanqhxslH2bxM6duahNZ+HMpCLhBQGZkbX6xRf8x1Y2eJlgt2q3qo49Q==", + "requires": { + "sax": ">=0.6.0", + "xmlbuilder": "~9.0.1" + } + }, + "xmlbuilder": { + "version": "9.0.7", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz", + "integrity": "sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0=" + } + } +} diff --git a/utils/trivialize-cdn-rules/package.json b/utils/trivialize-cdn-rules/package.json new file mode 100644 index 000000000000..26d7d48be5d2 --- /dev/null +++ b/utils/trivialize-cdn-rules/package.json @@ -0,0 +1,20 @@ +{ + "name": "trivialize-cdn-rules", + "version": "1.0.0", + "main": "index.js", + "dependencies": { + "graceful-fs": "^4.1.11", + "request": "^2.87.0", + "sync-request": "^6.0.0", + "xml2js": "^0.4.19" + }, + "devDependencies": { + "chalk": "^2.4.1" + }, + "scripts": { + "start": "node index.js" + }, + "keywords": [], + "author": "Chan Chak Shing", + "description": "" +} diff --git a/utils/trivialize-rules/explode-regexp.js b/utils/trivialize-rules/explode-regexp.js index 0aa3c7477c8d..c034f195a837 100644 --- a/utils/trivialize-rules/explode-regexp.js +++ b/utils/trivialize-rules/explode-regexp.js @@ -14,13 +14,12 @@ function explodeRegExp(re, callback) { let [first, ...rest] = items; if (first.repeat) { - let repeat = first.repeat; + let { repeat, ...firstSub } = first; if (repeat.max !== 1) throw new UnsupportedRegExp(first.raw); - delete first.repeat; if (repeat.min === 0) { buildUrls(str, rest); } - return buildUrls(str, items); + return buildUrls(str, [ firstSub, ...rest ]); } switch (first.type) {