about summary refs log tree commit diff stats
path: root/src/pages/options
diff options
context:
space:
mode:
authorManeraKai <manerakai@protonmail.com>2022-02-20 00:48:51 +0300
committerManeraKai <manerakai@protonmail.com>2022-02-20 00:48:51 +0300
commitef222d2ca5ad753446adb98800e9640b0c602381 (patch)
tree2fe30dd48711b25bdb0b8d8461d983489877db63 /src/pages/options
parentFixed cookies not working in invidious #44 (diff)
downloadlibredirect-ef222d2ca5ad753446adb98800e9640b0c602381.zip
Adding tor to twitter and youtube #32
Diffstat (limited to 'src/pages/options')
-rw-r--r--src/pages/options/imgur/imgur.js1
-rw-r--r--src/pages/options/instagram/instagram.js1
-rw-r--r--src/pages/options/medium/medium.js1
-rw-r--r--src/pages/options/reddit/reddit.js2
-rw-r--r--src/pages/options/search/search.js2
-rw-r--r--src/pages/options/tiktok/tiktok.js1
-rw-r--r--src/pages/options/translate/translate.js2
-rw-r--r--src/pages/options/twitter/twitter.html70
-rw-r--r--src/pages/options/twitter/twitter.js48
-rw-r--r--src/pages/options/wikipedia/wikipedia.js1
-rw-r--r--src/pages/options/youtube/invidious.js23
-rw-r--r--src/pages/options/youtube/piped.js21
-rw-r--r--src/pages/options/youtube/youtube.html138
-rw-r--r--src/pages/options/youtube/youtube.js33
14 files changed, 276 insertions, 68 deletions
diff --git a/src/pages/options/imgur/imgur.js b/src/pages/options/imgur/imgur.js
index 1d4a8263..1ff9bae0 100644
--- a/src/pages/options/imgur/imgur.js
+++ b/src/pages/options/imgur/imgur.js
@@ -11,6 +11,7 @@ imgurHelper.init().then(() => {
 
     commonHelper.processDefaultCustomInstances(
         'rimgo',
+        'normal',
         imgurHelper,
         document,
         imgurHelper.getRimgoRedirectsChecks,
diff --git a/src/pages/options/instagram/instagram.js b/src/pages/options/instagram/instagram.js
index 0b4193df..632ee0bb 100644
--- a/src/pages/options/instagram/instagram.js
+++ b/src/pages/options/instagram/instagram.js
@@ -11,6 +11,7 @@ instagramHelper.init().then(() => {
 
     commonHelper.processDefaultCustomInstances(
         'bibliogram',
+        'normal',
         instagramHelper,
         document,
         instagramHelper.getBibliogramRedirectsChecks,
diff --git a/src/pages/options/medium/medium.js b/src/pages/options/medium/medium.js
index d9574e0d..cb69fecb 100644
--- a/src/pages/options/medium/medium.js
+++ b/src/pages/options/medium/medium.js
@@ -11,6 +11,7 @@ mediumHelper.init().then(() => {
 
     commonHelper.processDefaultCustomInstances(
         'scribe',
+        'normal',
         mediumHelper,
         document,
         mediumHelper.getScribeRedirectsChecks,
diff --git a/src/pages/options/reddit/reddit.js b/src/pages/options/reddit/reddit.js
index dd14b8e2..e84f3a6e 100644
--- a/src/pages/options/reddit/reddit.js
+++ b/src/pages/options/reddit/reddit.js
@@ -37,6 +37,7 @@ redditHelper.init().then(() => {
 
     commonHelper.processDefaultCustomInstances(
         'libreddit',
+        'normal',
         redditHelper,
         document,
         redditHelper.getLibredditRedirectsChecks,
@@ -47,6 +48,7 @@ redditHelper.init().then(() => {
 
     commonHelper.processDefaultCustomInstances(
         'teddit',
+        'normal',
         redditHelper,
         document,
         redditHelper.getTedditRedirectsChecks,
diff --git a/src/pages/options/search/search.js b/src/pages/options/search/search.js
index 30128e96..d52c8600 100644
--- a/src/pages/options/search/search.js
+++ b/src/pages/options/search/search.js
@@ -38,6 +38,7 @@ searchHelper.init().then(() => {
 
   commonHelper.processDefaultCustomInstances(
     'searx',
+    'normal',
     searchHelper,
     document,
     searchHelper.getSearxRedirectsChecks,
@@ -48,6 +49,7 @@ searchHelper.init().then(() => {
 
   commonHelper.processDefaultCustomInstances(
     'whoogle',
+    'normal',
     searchHelper,
     document,
     searchHelper.getWhoogleRedirectsChecks,
diff --git a/src/pages/options/tiktok/tiktok.js b/src/pages/options/tiktok/tiktok.js
index f6153e51..34db3dd9 100644
--- a/src/pages/options/tiktok/tiktok.js
+++ b/src/pages/options/tiktok/tiktok.js
@@ -11,6 +11,7 @@ tiktokHelper.init().then(() => {
 
     commonHelper.processDefaultCustomInstances(
         'proxiTok',
+        'normal',
         tiktokHelper,
         document,
         tiktokHelper.getProxiTokRedirectsChecks,
diff --git a/src/pages/options/translate/translate.js b/src/pages/options/translate/translate.js
index 4db80072..ad9e52a5 100644
--- a/src/pages/options/translate/translate.js
+++ b/src/pages/options/translate/translate.js
@@ -58,6 +58,7 @@ translateHelper.init().then(() => {
 
     commonHelper.processDefaultCustomInstances(
         'simplyTranslate',
+        'normal',
         translateHelper,
         document,
         translateHelper.getSimplyTranslateRedirectsChecks,
@@ -68,6 +69,7 @@ translateHelper.init().then(() => {
 
     commonHelper.processDefaultCustomInstances(
         'lingva',
+        'normal',
         translateHelper,
         document,
         translateHelper.getLingvaRedirectsChecks,
diff --git a/src/pages/options/twitter/twitter.html b/src/pages/options/twitter/twitter.html
index 948f0be1..40f79407 100644
--- a/src/pages/options/twitter/twitter.html
+++ b/src/pages/options/twitter/twitter.html
@@ -115,29 +115,65 @@
             <input id="disable-nitter" type="checkbox" checked />
         </div>
 
-        <hr>
-
         <div class="some-block option-block">
-            <h4>Default Instances</h4>
+            <h4>Protocol</h4>
+            <select id="protocol">
+                <option value="normal">Normal</option>
+                <option value="tor">Tor</option>
+            </select>
         </div>
-        <div class="checklist" id="nitter-checklist"></div>
+
         <hr>
-        <div class="some-block option-block">
-            <h4>Custom Instances</h4>
+
+        <div id="normal">
+
+            <div class="some-block option-block">
+                <h4>Default Instances</h4>
+            </div>
+            <div class="checklist" id="nitter-normal-checklist"></div>
+            <hr>
+            <div class="some-block option-block">
+                <h4>Custom Instances</h4>
+            </div>
+            <form id="custom-nitter-normal-instance-form">
+                <div class="some-block option-block">
+                    <input id="nitter-normal-custom-instance" placeholder="https://nitter.com" type="url" />
+                    <button type="submit" class="add" id="nitter-normal-add-instance">
+                        <svg xmlns="http://www.w3.org/2000/svg" height="20px" viewBox="0 0 24 24" width="20px"
+                            fill="currentColor">
+                            <path d="M0 0h24v24H0V0z" fill="none" />
+                            <path d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z" />
+                        </svg>
+                    </button>
+                </div>
+            </form>
+            <div class="checklist" id="nitter-normal-custom-checklist"></div>
+
         </div>
-        <form id="custom-nitter-instance-form">
+
+        <div id="tor">
             <div class="some-block option-block">
-                <input id="nitter-custom-instance" placeholder="https://nitter.com" type="url" />
-                <button type="submit" class="add" id="nitter-add-instance">
-                    <svg xmlns="http://www.w3.org/2000/svg" height="20px" viewBox="0 0 24 24" width="20px"
-                        fill="currentColor">
-                        <path d="M0 0h24v24H0V0z" fill="none" />
-                        <path d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z" />
-                    </svg>
-                </button>
+                <h4>Default Tor Instances</h4>
             </div>
-        </form>
-        <div class="checklist" id="nitter-custom-checklist"></div>
+            <div class="checklist" id="nitter-tor-checklist"></div>
+            <hr>
+            <div class="some-block option-block">
+                <h4>Custom Instances</h4>
+            </div>
+            <form id="custom-nitter-tor-instance-form">
+                <div class="some-block option-block">
+                    <input id="nitter-tor-custom-instance" placeholder="https://nitter.com" type="url" />
+                    <button type="submit" class="add" id="nitter-tor-add-instance">
+                        <svg xmlns="http://www.w3.org/2000/svg" height="20px" viewBox="0 0 24 24" width="20px"
+                            fill="currentColor">
+                            <path d="M0 0h24v24H0V0z" fill="none" />
+                            <path d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z" />
+                        </svg>
+                    </button>
+                </div>
+            </form>
+            <div class="checklist" id="nitter-tor-custom-checklist"></div>
+        </div>
 
     </section>
 
diff --git a/src/pages/options/twitter/twitter.js b/src/pages/options/twitter/twitter.js
index 759ad573..88fadb7b 100644
--- a/src/pages/options/twitter/twitter.js
+++ b/src/pages/options/twitter/twitter.js
@@ -6,16 +6,54 @@ disableTwitterElement.addEventListener("change",
     (event) => twitterHelper.setDisable(!event.target.checked)
 );
 
+let protocolElement = document.getElementById("protocol")
+protocolElement.addEventListener("change",
+    (event) => {
+        let protocol = event.target.options[protocolElement.selectedIndex].value
+        twitterHelper.setProtocol(protocol);
+        changeProtocolSettings(protocol);
+    }
+);
+
+
+function changeProtocolSettings(protocol) {
+    let normalDiv = document.getElementById("normal");
+    let torDiv = document.getElementById("tor");
+    if (protocol == 'normal') {
+        normalDiv.style.display = 'block';
+        torDiv.style.display = 'none';
+    }
+    else if (protocol == 'tor') {
+        normalDiv.style.display = 'none';
+        torDiv.style.display = 'block';
+    }
+}
+
 twitterHelper.init().then(() => {
-    disableTwitterElement.checked = !twitterHelper.getDisable(); 
+    disableTwitterElement.checked = !twitterHelper.getDisable();
+
+    let protocol = twitterHelper.getprotocol();
+    protocolElement.value = protocol;
+    changeProtocolSettings(protocol);
 
     commonHelper.processDefaultCustomInstances(
         'nitter',
+        'normal',
+        twitterHelper,
+        document,
+        twitterHelper.getNitterNormalRedirectsChecks,
+        twitterHelper.setNitterNormalRedirectsChecks,
+        twitterHelper.getNitterNormalCustomRedirects,
+        twitterHelper.setNitterNormalCustomRedirects
+    )
+    commonHelper.processDefaultCustomInstances(
+        'nitter',
+        'tor',
         twitterHelper,
         document,
-        twitterHelper.getNitterRedirectsChecks,
-        twitterHelper.setNitterRedirectsChecks,
-        twitterHelper.getNitterCustomRedirects,
-        twitterHelper.setNitterCustomRedirects
+        twitterHelper.getNitterTorRedirectsChecks,
+        twitterHelper.setNitterTorRedirectsChecks,
+        twitterHelper.getNitterTorCustomRedirects,
+        twitterHelper.setNitterTorCustomRedirects
     )
 });
\ No newline at end of file
diff --git a/src/pages/options/wikipedia/wikipedia.js b/src/pages/options/wikipedia/wikipedia.js
index 5abaed6f..161f0af4 100644
--- a/src/pages/options/wikipedia/wikipedia.js
+++ b/src/pages/options/wikipedia/wikipedia.js
@@ -10,6 +10,7 @@ wikipediaHelper.init().then(() => {
 
     commonHelper.processDefaultCustomInstances(
         'wikiless',
+        'normal',
         wikipediaHelper,
         document,
         wikipediaHelper.getWikilessRedirectsChecks,
diff --git a/src/pages/options/youtube/invidious.js b/src/pages/options/youtube/invidious.js
index 70b25428..17cbda37 100644
--- a/src/pages/options/youtube/invidious.js
+++ b/src/pages/options/youtube/invidious.js
@@ -26,6 +26,7 @@ persistInvidiousPrefsElement.addEventListener("change",
     (event) => youtubeHelper.setPersistInvidiousPrefs(event.target.checked)
 );
 
+
 youtubeHelper.init().then(() => {
     invidiousPlayerStyleElement.value = youtubeHelper.getInvidiousPlayerStyle();
     invidiousAlwaysProxyElement.checked = youtubeHelper.getInvidiousAlwaysProxy();
@@ -35,12 +36,24 @@ youtubeHelper.init().then(() => {
 
     commonHelper.processDefaultCustomInstances(
         'invidious',
+        'normal',
+        youtubeHelper,
+        document,
+        youtubeHelper.getInvidiousNormalRedirectsChecks,
+        youtubeHelper.setInvidiousNormalRedirectsChecks,
+        youtubeHelper.getInvidiousNormalCustomRedirects,
+        youtubeHelper.setInvidiousNormalCustomRedirects
+    );
+
+    commonHelper.processDefaultCustomInstances(
+        'invidious',
+        'tor',
         youtubeHelper,
         document,
-        youtubeHelper.getInvidiousRedirectsChecks,
-        youtubeHelper.setInvidiousRedirectsChecks,
-        youtubeHelper.getInvidiousCustomRedirects,
-        youtubeHelper.setInvidiousCustomRedirects
-    )
+        youtubeHelper.getInvidiousTorRedirectsChecks,
+        youtubeHelper.setInvidiousTorRedirectsChecks,
+        youtubeHelper.getInvidiousTorCustomRedirects,
+        youtubeHelper.setInvidiousTorCustomRedirects
+    );
 });
 
diff --git a/src/pages/options/youtube/piped.js b/src/pages/options/youtube/piped.js
index ed425237..6c541a8d 100644
--- a/src/pages/options/youtube/piped.js
+++ b/src/pages/options/youtube/piped.js
@@ -4,13 +4,24 @@ import commonHelper from "../../../assets/javascripts/helpers/common.js";
 youtubeHelper.init().then(() => {
     commonHelper.processDefaultCustomInstances(
         'piped',
+        'normal',
         youtubeHelper,
         document,
-        youtubeHelper.getPipedRedirectsChecks,
-        youtubeHelper.setPipedRedirectsChecks,
-        youtubeHelper.getPipedCustomRedirects,
-        youtubeHelper.setPipedCustomRedirects
-    )
+        youtubeHelper.getPipedNormalRedirectsChecks,
+        youtubeHelper.setPipedNormalRedirectsChecks,
+        youtubeHelper.getPipedNormalCustomRedirects,
+        youtubeHelper.setPipedNormalCustomRedirects
+    );
+    commonHelper.processDefaultCustomInstances(
+        'piped',
+        'tor',
+        youtubeHelper,
+        document,
+        youtubeHelper.getPipedTorRedirectsChecks,
+        youtubeHelper.setPipedTorRedirectsChecks,
+        youtubeHelper.getPipedTorCustomRedirects,
+        youtubeHelper.setPipedTorCustomRedirects
+    );
 });
 
 
diff --git a/src/pages/options/youtube/youtube.html b/src/pages/options/youtube/youtube.html
index 2d8c75e9..cc5cf05a 100644
--- a/src/pages/options/youtube/youtube.html
+++ b/src/pages/options/youtube/youtube.html
@@ -138,6 +138,15 @@
     </div>
 
     <div id="invidious-piped">
+
+      <div class="some-block option-block">
+        <h4>Protocol</h4>
+        <select id="protocol">
+          <option value="normal">Normal</option>
+          <option value="tor">Tor</option>
+        </select>
+      </div>
+
       <div class="some-block option-block">
         <h4>Redirect Type</h4>
         <select id="only-embed">
@@ -225,54 +234,111 @@
 
       <hr>
 
-      <div class="some-block option-block">
-        <h4>Default Instances</h4>
-      </div>
-      <div class="checklist" id="invidious-checklist">
-      </div>
-      <hr>
-      <div class="some-block option-block">
-        <h4>Custom Instances</h4>
+
+      <div id="invidious-normal">
+        <div class="some-block option-block">
+          <h4>Default Instances</h4>
+        </div>
+        <div class="checklist" id="invidious-normal-checklist">
+        </div>
+        <hr>
+        <div class="some-block option-block">
+          <h4>Custom Instances</h4>
+        </div>
+        <form id="custom-invidious-normal-instance-form">
+          <div class="some-block option-block">
+            <input id="invidious-normal-custom-instance" placeholder="https://invidious.com" type="url" />
+            <button type="submit" class="add" id="invidious-normal-add-instance">
+              <svg xmlns="http://www.w3.org/2000/svg" height="20px" viewBox="0 0 24 24" width="20px"
+                fill="currentColor">
+                <path d="M0 0h24v24H0V0z" fill="none" />
+                <path d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z" />
+              </svg>
+            </button>
+          </div>
+        </form>
+        <div class="checklist" id="invidious-normal-custom-checklist"></div>
       </div>
-      <form id="custom-invidious-instance-form">
+
+      <div id="invidious-tor">
+        <div class="some-block option-block">
+          <h4>Default Instances</h4>
+        </div>
+        <div class="checklist" id="invidious-tor-checklist">
+        </div>
+        <hr>
         <div class="some-block option-block">
-          <input id="invidious-custom-instance" placeholder="https://invidious.com" type="url" />
-          <button type="submit" class="add" id="invidious-add-instance">
-            <svg xmlns="http://www.w3.org/2000/svg" height="20px" viewBox="0 0 24 24" width="20px" fill="currentColor">
-              <path d="M0 0h24v24H0V0z" fill="none" />
-              <path d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z" />
-            </svg>
-          </button>
+          <h4>Custom Instances</h4>
         </div>
-      </form>
-      <div class="checklist" id="invidious-custom-checklist"></div>
+        <form id="custom-invidious-tor-instance-form">
+          <div class="some-block option-block">
+            <input id="invidious-tor-custom-instance" placeholder="https://invidious.com" type="url" />
+            <button type="submit" class="add" id="invidious-tor-add-instance">
+              <svg xmlns="http://www.w3.org/2000/svg" height="20px" viewBox="0 0 24 24" width="20px"
+                fill="currentColor">
+                <path d="M0 0h24v24H0V0z" fill="none" />
+                <path d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z" />
+              </svg>
+            </button>
+          </div>
+        </form>
+        <div class="checklist" id="invidious-tor-custom-checklist"></div>
+      </div>
 
     </div>
 
     <div id="piped">
       <hr>
 
-      <div class="some-block option-block">
-        <h4>Default Instances</h4>
-      </div>
-      <div class="checklist" id="piped-checklist">
-      </div>
-      <hr>
-      <div class="some-block option-block">
-        <h4>Custom Instances</h4>
+      <div id="piped-normal">
+        <div class="some-block option-block">
+          <h4>Default Instances</h4>
+        </div>
+        <div class="checklist" id="piped-normal-checklist">
+        </div>
+        <hr>
+        <div class="some-block option-block">
+          <h4>Custom Instances</h4>
+        </div>
+        <form id="custom-piped-normal-instance-form">
+          <div class="some-block option-block">
+            <input id="piped-normal-custom-instance" placeholder="https://piped.com" type="url" />
+            <button type="submit" class="add" id="piped-normal-add-instance">
+              <svg xmlns="http://www.w3.org/2000/svg" height="20px" viewBox="0 0 24 24" width="20px"
+                fill="currentColor">
+                <path d="M0 0h24v24H0V0z" fill="none" />
+                <path d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z" />
+              </svg>
+            </button>
+          </div>
+        </form>
+        <div class="checklist" id="piped-normal-custom-checklist"></div>
       </div>
-      <form id="custom-piped-instance-form">
+
+      <div id="piped-tor">
         <div class="some-block option-block">
-          <input id="piped-custom-instance" placeholder="https://piped.com" type="url" />
-          <button type="submit" class="add" id="piped-add-instance">
-            <svg xmlns="http://www.w3.org/2000/svg" height="20px" viewBox="0 0 24 24" width="20px" fill="currentColor">
-              <path d="M0 0h24v24H0V0z" fill="none" />
-              <path d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z" />
-            </svg>
-          </button>
+          <h4>Default Instances</h4>
         </div>
-      </form>
-      <div class="checklist" id="piped-custom-checklist"></div>
+        <div class="checklist" id="piped-tor-checklist">
+        </div>
+        <hr>
+        <div class="some-block option-block">
+          <h4>Custom Instances</h4>
+        </div>
+        <form id="custom-piped-tor-instance-form">
+          <div class="some-block option-block">
+            <input id="piped-tor-custom-instance" placeholder="https://piped.com" type="url" />
+            <button type="submit" class="add" id="piped-tor-add-instance">
+              <svg xmlns="http://www.w3.org/2000/svg" height="20px" viewBox="0 0 24 24" width="20px"
+                fill="currentColor">
+                <path d="M0 0h24v24H0V0z" fill="none" />
+                <path d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z" />
+              </svg>
+            </button>
+          </div>
+        </form>
+        <div class="checklist" id="piped-tor-custom-checklist"></div>
+      </div>
     </div>
 
   </section>
diff --git a/src/pages/options/youtube/youtube.js b/src/pages/options/youtube/youtube.js
index 61d2ec53..d62bdad6 100644
--- a/src/pages/options/youtube/youtube.js
+++ b/src/pages/options/youtube/youtube.js
@@ -103,6 +103,35 @@ alwaysUsePreferredElement.addEventListener("change",
     (event) => youtubeHelper.setAlwaysusePreferred(event.target.checked)
 );
 
+let protocolElement = document.getElementById("protocol")
+protocolElement.addEventListener("change",
+    (event) => {
+        let protocol = event.target.options[protocolElement.selectedIndex].value
+        youtubeHelper.setProtocol(protocol);
+        changeProtocolSettings(protocol);
+    }
+);
+
+function changeProtocolSettings(protocol) {
+    let normalPipedDiv = document.getElementById("piped-normal");
+    let torPipedDiv = document.getElementById("piped-tor");
+
+    let normalInvidiousDiv = document.getElementById("invidious-normal");
+    let torInvidiousDiv = document.getElementById("invidious-tor");
+    if (protocol == 'normal') {
+        normalPipedDiv.style.display = 'block';
+        normalInvidiousDiv.style.display = 'block';
+        torInvidiousDiv.style.display = 'none';
+        torPipedDiv.style.display = 'none';
+    }
+    else if (protocol == 'tor') {
+        normalPipedDiv.style.display = 'none';
+        normalInvidiousDiv.style.display = 'none';
+        torInvidiousDiv.style.display = 'block';
+        torPipedDiv.style.display = 'block';
+    }
+}
+
 youtubeHelper.init().then(() => {
     disableYoutubeElement.checked = !youtubeHelper.getDisable();
     themeElement.checked = youtubeHelper.getTheme();
@@ -115,6 +144,10 @@ youtubeHelper.init().then(() => {
     youtubeFrontendElement.value = frontend;
     changeFrontendsSettings(frontend);
 
+    let protocol = youtubeHelper.getprotocol();
+    protocolElement.value = protocol;
+    changeProtocolSettings(protocol);
+
     let freetubeFrontend = youtubeHelper.getFreetubeFrontend()
     freetubeFrontendElement.value = freetubeFrontend
     if (frontend == "freetube") changeFreetubeFrontendsSettings(freetubeFrontend);