about summary refs log tree commit diff stats
path: root/background.js
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 /background.js
parentUpdate screen shots for latest build (diff)
downloadlibredirect-e272de67afbc548a0656c11eda253f607bf448af.zip
Fix embedded video redirects
Diffstat (limited to '')
-rw-r--r--background.js49
1 files changed, 18 insertions, 31 deletions
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']
 );