about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorSimonBrazell <simon@brazell.com.au>2020-01-14 20:48:37 +1100
committerSimonBrazell <simon@brazell.com.au>2020-01-15 17:29:39 +1100
commite272de67afbc548a0656c11eda253f607bf448af (patch)
tree8e120642eb6d2c5a79ab6c8281f3d1d336c0e42a
parentUpdate screen shots for latest build (diff)
downloadlibredirect-e272de67afbc548a0656c11eda253f607bf448af.zip
Fix embedded video redirects
-rw-r--r--README.md2
-rw-r--r--background.js49
-rw-r--r--manifest.json11
-rw-r--r--pages/options/options.js2
-rw-r--r--pages/popup/popup.html2
-rw-r--r--pages/popup/popup.js4
6 files changed, 25 insertions, 45 deletions
diff --git a/README.md b/README.md
index 4a38b52e..a2703727 100644
--- a/README.md
+++ b/README.md
@@ -5,7 +5,7 @@
 
 A simple browser extension that redirects Twitter & Youtube requests to privacy friendly alternatives - [Nitter](https://github.com/zedeus/nitter) & [Invidious](https://github.com/omarroth/invidious).
 
-No unnecessary permissions required, only listens for and redirects requests made to twitter.com, www.twitter.com, mobile.twitter.com, youtube.com, www.youtube.com, youtube-nocookie.com, www.youtube-nocookie.com, and m.youtube.com, nothing else. 
+Listens for and redirects requests made to `twitter.com`, `www.twitter.com`, `mobile.twitter.com`, `youtube.com`, `www.youtube.com`, `youtube-nocookie.com`, `www.youtube-nocookie.com`, and `m.youtube.com`. 
 
 Allows for setting custom [Nitter](https://github.com/zedeus/nitter/wiki/Instances) & [Invidious](https://github.com/omarroth/invidious/wiki/Invidious-Instances) instances and toggling redirects on & off.
 
diff --git a/background.js b/background.js
index d5c8346a..8d6c6b3b 100644
--- a/background.js
+++ b/background.js
@@ -3,6 +3,7 @@
 const nitterDefault = 'https://nitter.net';
 const invidiousDefault = 'https://invidio.us';
 const youtubeRegex = /((www|m)\.)?youtube(-nocookie)?\.com/;
+const twitterRegex = /((www|mobile)\.)?twitter\.com/;
 const pathRegex = /^https?:\/\/[^\/]+([\S\s]*)/;
 
 let nitterInstance;
@@ -12,7 +13,7 @@ let disableInvidious;
 
 chrome.storage.sync.get(
   ['disableNitter', 'disableInvidious', 'nitterInstance', 'invidiousInstance'],
-  (result) => {
+  result => {
     disableNitter = result.disableNitter;
     disableInvidious = result.disableInvidious;
     nitterInstance = result.nitterInstance || nitterDefault;
@@ -20,7 +21,7 @@ chrome.storage.sync.get(
   }
 );
 
-chrome.storage.onChanged.addListener(function (changes) {
+chrome.storage.onChanged.addListener(changes => {
   if ('nitterInstance' in changes) {
     nitterInstance = changes.nitterInstance.newValue || nitterDefault;
   }
@@ -36,44 +37,30 @@ chrome.storage.onChanged.addListener(function (changes) {
 });
 
 chrome.webRequest.onBeforeRequest.addListener(
-  function (details) {
+  details => {
+    let redirect;
     if (details.url.match(youtubeRegex)) {
       if (!disableInvidious) {
-        return {
-          redirectUrl:
-            invidiousInstance + details.url.match(pathRegex)[1]
+        redirect = {
+          redirectUrl: invidiousInstance + details.url.match(pathRegex)[1]
         };
       }
-    } else {
+    } else if (details.url.match(twitterRegex)) {
       if (!disableNitter) {
-        return {
-          redirectUrl:
-            nitterInstance + details.url.match(pathRegex)[1]
+        redirect = {
+          redirectUrl: nitterInstance + details.url.match(pathRegex)[1]
         };
       }
     }
+    if (redirect) {
+      console.log('Redirecting', `"${details.url}"`, '=>', `"${redirect.redirectUrl}"`);
+      console.log('Details', details);
+    }
+    return redirect;
   },
   {
-    urls: [
-      "*://twitter.com/*",
-      "*://www.twitter.com/*",
-      "*://mobile.twitter.com/*",
-      "*://youtube.com/*",
-      "*://www.youtube.com/*",
-      "*://youtube-nocookie.com/*",
-      "*://www.youtube-nocookie.com/*",
-      "*://m.youtube.com/"
-    ],
-    types: [
-      "main_frame",
-      "sub_frame",
-      "stylesheet",
-      "script",
-      "image",
-      "object",
-      "xmlhttprequest",
-      "other"
-    ]
+    urls: ["<all_urls>"],
+    types: ['main_frame', 'sub_frame',]
   },
-  ["blocking"]
+  ['blocking']
 );
diff --git a/manifest.json b/manifest.json
index 629bfaef..90c8691f 100644
--- a/manifest.json
+++ b/manifest.json
@@ -1,7 +1,7 @@
 {
   "name": "Privacy Redirect",
   "description": "Redirects Twitter & Youtube requests to privacy friendly alternatives (Nitter & Invidious).",
-  "version": "1.1.2",
+  "version": "1.1.3",
   "manifest_version": 2,
   "background": {
     "scripts": [
@@ -19,14 +19,7 @@
     "storage",
     "webRequest",
     "webRequestBlocking",
-    "*://twitter.com/*",
-    "*://www.twitter.com/*",
-    "*://mobile.twitter.com/*",
-    "*://youtube.com/*",
-    "*://www.youtube.com/*",
-    "*://youtube-nocookie.com/*",
-    "*://www.youtube-nocookie.com/*",
-    "*://m.youtube.com/"
+    "<all_urls>"
   ],
   "browser_action": {
     "default_popup": "pages/popup/popup.html",
diff --git a/pages/options/options.js b/pages/options/options.js
index b5c097d7..092a5038 100644
--- a/pages/options/options.js
+++ b/pages/options/options.js
@@ -7,7 +7,7 @@ let invidiousInstance = document.querySelector('#invidiousInstance');
 
 chrome.storage.sync.get(
   ['disableNitter', 'disableInvidious', 'nitterInstance', 'invidiousInstance'],
-  (result) => {
+  result => {
     disableNitter.checked = !result.disableNitter;
     disableInvidious.checked = !result.disableInvidious;
     nitterInstance.value = result.nitterInstance || '';
diff --git a/pages/popup/popup.html b/pages/popup/popup.html
index 22ccb025..b5285de0 100644
--- a/pages/popup/popup.html
+++ b/pages/popup/popup.html
@@ -14,7 +14,7 @@
       <img src="../../images/logo.png" alt="Privacy Redirect logo">
     </div>
     <small>
-      <span>Version</span>: 1.1.2</span>
+      <span>Version</span>: 1.1.3</span>
     </small>
   </header>
 
diff --git a/pages/popup/popup.js b/pages/popup/popup.js
index 799b5ea3..cc1aa567 100644
--- a/pages/popup/popup.js
+++ b/pages/popup/popup.js
@@ -17,9 +17,9 @@ chrome.storage.sync.get(
 
 function debounce(func, wait, immediate) {
   let timeout;
-  return function () {
+  return () => {
     let context = this, args = arguments;
-    let later = function () {
+    let later = () => {
       timeout = null;
       if (!immediate) func.apply(context, args);
     };