diff --git a/lib/interceptor.js b/lib/interceptor.js
index f3e8c1c1ab180a96564ecd7ae248a14cf3224a0e..0a3c260ab3ba05487a9d1639d8e41dd775e8a3a5 100644
--- a/lib/interceptor.js
+++ b/lib/interceptor.js
@@ -82,6 +82,9 @@ var Interceptor = new Class({
         }
 
         httpChannel.redirectTo(redirectionURI);
+
+        //noinspection JSUnresolvedVariable
+        require('sdk/simple-prefs').prefs.amountBlocked++;
     },
 
     handleMissingCandidate: function (httpChannel) {
@@ -91,6 +94,9 @@ var Interceptor = new Class({
 
         if (blockMissing) {
             httpChannel.cancel(Cr.NS_ERROR_NOT_AVAILABLE);
+
+            //noinspection JSUnresolvedVariable
+            require('sdk/simple-prefs').prefs.amountBlocked++;
         }
     }
 });
diff --git a/lib/request-analyzer.js b/lib/request-analyzer.js
index 74dc19c41c7aba804c3535adf39b0c86d778aaad..b01e0acc8393fa6d59858c864d34d9e360b53cce 100644
--- a/lib/request-analyzer.js
+++ b/lib/request-analyzer.js
@@ -33,6 +33,20 @@ function isValidCandidate(httpChannel) {
         return false;
     }
 
+    //noinspection JSUnresolvedVariable
+    var whitelistedDomains = require('sdk/simple-prefs').prefs.domainWhitelist.split(";");
+
+    for (var domain in whitelistedDomains) {
+
+        if (whitelistedDomains[domain] === httpChannel.referrer.host) {
+
+            // Remove referer header from request.
+            httpChannel.setRequestHeader('Referer', null, false);
+
+            return false;
+        }
+    }
+
     return httpChannel.requestMethod === 'GET';
 }
 
diff --git a/package.json b/package.json
index ce3ad3f623e214b800d3c315e629ba165a30cde9..604688c0cb966fd12a4052f1b08790e83627dcc1 100644
--- a/package.json
+++ b/package.json
@@ -21,11 +21,25 @@
       "title": "Add comments to locally fetched files"
     },
     {
-      "description": "Cancel the intercepted request if the required resource is not locally available.",
+      "description": "Cancel intercepted request if the required resource is not locally available.",
       "type": "bool",
       "name": "blockMissing",
       "value": false,
       "title": "Block requests for missing resources"
+    },
+    {
+      "description": "Enter domains to whitelist them. Separate multipe entries with semi-colons (;).",
+      "type": "string",
+      "name": "domainWhitelist",
+      "value": "",
+      "title": "Exclude domains from inspections"
+    },
+    {
+      "description": "Amount of requests to Content Delivery Networks blocked since installation.",
+      "type": "integer",
+      "name": "amountBlocked",
+      "value": 0,
+      "title": "Counter for intercepted requests"
     }
   ]
 }