about summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--src/assets/javascripts/helpers/imgur.js70
-rw-r--r--src/assets/javascripts/helpers/instagram.js2
-rw-r--r--src/assets/javascripts/helpers/medium.js2
-rw-r--r--src/assets/javascripts/helpers/search.js2
-rw-r--r--src/assets/javascripts/helpers/translate.js3
-rw-r--r--src/assets/javascripts/helpers/twitter.js2
-rw-r--r--src/assets/javascripts/helpers/wikipedia.js19
-rw-r--r--src/assets/javascripts/helpers/youtube/youtube.js9
-rw-r--r--src/pages/options/youtube/youtube.html1
-rw-r--r--src/pages/popup/popup.js36
10 files changed, 75 insertions, 71 deletions
diff --git a/src/assets/javascripts/helpers/imgur.js b/src/assets/javascripts/helpers/imgur.js
index 927ce4a7..e3e21ecc 100644
--- a/src/assets/javascripts/helpers/imgur.js
+++ b/src/assets/javascripts/helpers/imgur.js
@@ -141,43 +141,45 @@ function changeInstance(url) {
     if (instancesList.length === 0) return null;
 
     let randomInstance = commonHelper.getRandomInstance(instancesList);
-    return randomInstance;
+    return `${randomInstance}${url.pathname}${url.search}`;
 }
 
 async function init() {
-    return new Promise((resolve) => {
-        fetch('/instances/data.json').then(response => response.text()).then(data => {
-            let dataJson = JSON.parse(data);
-            browser.storage.local.get(
-                [
-                    "disableImgur",
-                    "imgurRedirects",
-
-                    "rimgoNormalRedirectsChecks",
-                    "rimgoNormalCustomRedirects",
-                    "rimgoTorRedirectsChecks",
-                    "rimgoTorCustomRedirects",
-
-                    "imgurProtocol",
-                ],
-                (result) => {
-                    disable = result.disableImgur ?? false;
-
-                    protocol = result.imgurProtocol ?? "normal";
-
-                    redirects.rimgo = dataJson.rimgo;
-                    if (result.imgurRedirects) redirects = result.imgurRedirects;
-
-                    rimgoNormalRedirectsChecks = result.rimgoNormalRedirectsChecks ?? [...redirects.rimgo.normal];
-                    rimgoNormalCustomRedirects = result.rimgoNormalCustomRedirects ?? [];
-
-                    rimgoTorRedirectsChecks = result.rimgoTorRedirectsChecks ?? [...redirects.rimgo.tor];
-                    rimgoTorCustomRedirects = result.rimgoTorCustomRedirects ?? [];
-
-                    resolve();
-                }
-            )
-        });
+    return new Promise(resolve => {
+        fetch('/instances/data.json')
+            .then(response => response.text())
+            .then(text => {
+                let data = JSON.parse(text);
+                browser.storage.local.get(
+                    [
+                        "disableImgur",
+                        "imgurRedirects",
+
+                        "rimgoNormalRedirectsChecks",
+                        "rimgoNormalCustomRedirects",
+                        "rimgoTorRedirectsChecks",
+                        "rimgoTorCustomRedirects",
+
+                        "imgurProtocol",
+                    ],
+                    r => { // r = result
+                        disable = r.disableImgur ?? false;
+
+                        protocol = r.imgurProtocol ?? "normal";
+
+                        redirects.rimgo = data.rimgo;
+                        if (r.imgurRedirects) redirects = r.imgurRedirects;
+
+                        rimgoNormalRedirectsChecks = r.rimgoNormalRedirectsChecks ?? [...redirects.rimgo.normal];
+                        rimgoNormalCustomRedirects = r.rimgoNormalCustomRedirects ?? [];
+
+                        rimgoTorRedirectsChecks = r.rimgoTorRedirectsChecks ?? [...redirects.rimgo.tor];
+                        rimgoTorCustomRedirects = r.rimgoTorCustomRedirects ?? [];
+
+                        resolve();
+                    }
+                )
+            });
     });
 }
 
diff --git a/src/assets/javascripts/helpers/instagram.js b/src/assets/javascripts/helpers/instagram.js
index 410d6377..c837bd2c 100644
--- a/src/assets/javascripts/helpers/instagram.js
+++ b/src/assets/javascripts/helpers/instagram.js
@@ -158,7 +158,7 @@ function changeInstance(url) {
   if (instancesList.length === 0) return null;
 
   let randomInstance = commonHelper.getRandomInstance(instancesList);
-  return randomInstance;
+  return `${randomInstance}${url.pathname}${url.search}`;
 }
 
 
diff --git a/src/assets/javascripts/helpers/medium.js b/src/assets/javascripts/helpers/medium.js
index 0c0455c0..f1425afa 100644
--- a/src/assets/javascripts/helpers/medium.js
+++ b/src/assets/javascripts/helpers/medium.js
@@ -152,7 +152,7 @@ function changeInstance(url) {
   if (instancesList.length === 0) return null;
 
   let randomInstance = commonHelper.getRandomInstance(instancesList);
-  return randomInstance;
+  return `${randomInstance}${url.pathname}${url.search}`;
 }
 
 async function init() {
diff --git a/src/assets/javascripts/helpers/search.js b/src/assets/javascripts/helpers/search.js
index dd425f27..dfbfd0e4 100644
--- a/src/assets/javascripts/helpers/search.js
+++ b/src/assets/javascripts/helpers/search.js
@@ -222,7 +222,7 @@ function changeInstance(url) {
   if (instancesList.length === 0) return null;
 
   let randomInstance = commonHelper.getRandomInstance(instancesList);
-  return randomInstance;
+  return `${randomInstance}${url.pathname}${url.search}`;
 }
 
 async function init() {
diff --git a/src/assets/javascripts/helpers/translate.js b/src/assets/javascripts/helpers/translate.js
index 43da9ef6..de70657f 100644
--- a/src/assets/javascripts/helpers/translate.js
+++ b/src/assets/javascripts/helpers/translate.js
@@ -265,8 +265,7 @@ function changeInstance(url) {
   if (instancesList.length === 0) return null;
 
   let randomInstance = commonHelper.getRandomInstance(instancesList);
-  return randomInstance;
-
+  return `${randomInstance}${url.pathname}${url.search}`;
 }
 
 async function init() {
diff --git a/src/assets/javascripts/helpers/twitter.js b/src/assets/javascripts/helpers/twitter.js
index d389f0e7..9c85fa1b 100644
--- a/src/assets/javascripts/helpers/twitter.js
+++ b/src/assets/javascripts/helpers/twitter.js
@@ -179,7 +179,7 @@ function changeInstance(url) {
   if (instancesList.length === 0) return null;
 
   let randomInstance = commonHelper.getRandomInstance(instancesList);
-  return randomInstance;
+  return `${randomInstance}${url.pathname}${url.search}`;
 }
 
 async function init() {
diff --git a/src/assets/javascripts/helpers/wikipedia.js b/src/assets/javascripts/helpers/wikipedia.js
index 402b3009..299e6cde 100644
--- a/src/assets/javascripts/helpers/wikipedia.js
+++ b/src/assets/javascripts/helpers/wikipedia.js
@@ -157,7 +157,7 @@ function changeInstance(url) {
   if (instancesList.length === 0) return null;
 
   let randomInstance = commonHelper.getRandomInstance(instancesList);
-  return randomInstance;
+  return `${randomInstance}${url.pathname}${url.search}`;
 }
 
 async function init() {
@@ -173,20 +173,19 @@ async function init() {
           "wikilessNormalCustomRedirects",
           "wikilessTorCustomRedirects",
           "wikipediaProtocol"
+        ], r => { // r = result
+          disable = r.disableWikipedia ?? false;
 
-        ], (result) => {
-          disable = result.disableWikipedia ?? false;
-
-          protocol = result.wikipediaProtocol ?? "normal";
+          protocol = r.wikipediaProtocol ?? "normal";
 
           redirects.wikiless = dataJson.wikiless;
-          if (result.wikipediaRedirects) redirects = result.wikipediaRedirects;
+          if (r.wikipediaRedirects) redirects = r.wikipediaRedirects;
 
-          wikilessNormalRedirectsChecks = result.wikilessNormalRedirectsChecks ?? [...redirects.wikiless.normal];
-          wikilessNormalCustomRedirects = result.wikilessNormalCustomRedirects ?? [];
+          wikilessNormalRedirectsChecks = r.wikilessNormalRedirectsChecks ?? [...redirects.wikiless.normal];
+          wikilessNormalCustomRedirects = r.wikilessNormalCustomRedirects ?? [];
 
-          wikilessTorRedirectsChecks = result.wikilessTorRedirectsChecks ?? [...redirects.wikiless.tor];
-          wikilessTorCustomRedirects = result.wikilessTorCustomRedirects ?? [];
+          wikilessTorRedirectsChecks = r.wikilessTorRedirectsChecks ?? [...redirects.wikiless.tor];
+          wikilessTorCustomRedirects = r.wikilessTorCustomRedirects ?? [];
 
           resolve();
         }
diff --git a/src/assets/javascripts/helpers/youtube/youtube.js b/src/assets/javascripts/helpers/youtube/youtube.js
index b33c258b..0277221c 100644
--- a/src/assets/javascripts/helpers/youtube/youtube.js
+++ b/src/assets/javascripts/helpers/youtube/youtube.js
@@ -32,6 +32,13 @@ let redirects = {
     "tor": [
       "http://piped2bbch4xslbl2ckr6k62q56kon56ffowxaqzy42ai22a4sash3ad.onion"
     ]
+  },
+  "pipedMaterial": {
+    "normal": [
+      "https://piped-material.১.net/",
+      "https://piped-material.ftp.sh/",
+    ],
+    "tor": []
   }
 };
 
@@ -418,7 +425,7 @@ function changeInstance(url) {
 
   if (instancesList.length === 0) return null;
   let randomInstance = commonHelper.getRandomInstance(instancesList);
-  return randomInstance;
+  return `${randomInstance}${url.pathname}${url.search}`;
 }
 
 function isPipedorInvidious(url, type) {
diff --git a/src/pages/options/youtube/youtube.html b/src/pages/options/youtube/youtube.html
index e0774c0a..add3276c 100644
--- a/src/pages/options/youtube/youtube.html
+++ b/src/pages/options/youtube/youtube.html
@@ -98,6 +98,7 @@
       <select id="youtube-frontend">
         <option value="invidious">Invidious</option>
         <option value="piped">Piped</option>
+        <option value="pipedMaterial">Piped-Material</option>
         <option value="freetube">FreeTube</option>
         <option value="yatte">Yattee</option>
       </select>
diff --git a/src/pages/popup/popup.js b/src/pages/popup/popup.js
index 9c5f28f3..3d62dcd4 100644
--- a/src/pages/popup/popup.js
+++ b/src/pages/popup/popup.js
@@ -114,33 +114,29 @@ document.getElementById("change-instance").addEventListener("click",
   () => browser.tabs.query({ active: true, currentWindow: true }, function (tabs) {
     let currTab = tabs[0];
     if (currTab) {
-      changeInstance(currTab.url)
-    }
-  })
-);
-
-function changeInstance(url) {
-  var tabUrl = new URL(url);
-  var protocolHost = `${tabUrl.protocol}//${tabUrl.host}`;
-  var newUrl;
+      let url = currTab.url;
+      let tabUrl = new URL(url);
+      let newUrl;
 
-  newUrl = youtubeHelper.changeInstance(tabUrl);
+      newUrl = youtubeHelper.changeInstance(tabUrl);
 
-  if (!newUrl) newUrl = twitterHelper.changeInstance(tabUrl);
+      if (!newUrl) newUrl = twitterHelper.changeInstance(tabUrl);
 
-  if (!newUrl) newUrl = instagramHelper.changeInstance(tabUrl);
+      if (!newUrl) newUrl = instagramHelper.changeInstance(tabUrl);
 
-  if (!newUrl) newUrl = redditHelper.changeInstance(tabUrl);
+      if (!newUrl) newUrl = redditHelper.changeInstance(tabUrl);
 
-  if (!newUrl) newUrl = searchHelper.changeInstance(tabUrl);
+      if (!newUrl) newUrl = searchHelper.changeInstance(tabUrl);
 
-  if (!newUrl) newUrl = translateHelper.changeInstance(tabUrl);
+      if (!newUrl) newUrl = translateHelper.changeInstance(tabUrl);
 
-  if (!newUrl) newUrl = mediumHelper.changeInstance(tabUrl);
+      if (!newUrl) newUrl = mediumHelper.changeInstance(tabUrl);
 
-  if (!newUrl) newUrl = imgurHelper.changeInstance(tabUrl);
+      if (!newUrl) newUrl = imgurHelper.changeInstance(tabUrl);
 
-  if (!newUrl) newUrl = wikipediaHelper.changeInstance(tabUrl)
+      if (!newUrl) newUrl = wikipediaHelper.changeInstance(tabUrl)
 
-  if (newUrl) browser.tabs.update({ url: tabUrl.href.replace(protocolHost, newUrl) });
-}
+      if (newUrl) browser.tabs.update({ url: newUrl });
+    }
+  })
+);