about summary refs log tree commit diff stats
path: root/src/assets/javascripts/medium.js
diff options
context:
space:
mode:
authorBobIsMyManager <bimmgitsignature.nly8m@simplelogin.co>2022-07-22 19:39:08 +0100
committerBobIsMyManager <bimmgitsignature.nly8m@simplelogin.co>2022-07-22 19:39:08 +0100
commit3bc5cafe65caa86734f6ad9ef13d3a70f5effa4c (patch)
treefe0fa3dda40b4499f55ba936216b4d06c5fee0b5 /src/assets/javascripts/medium.js
parentFix workflows issue (diff)
downloadlibredirect-3bc5cafe65caa86734f6ad9ef13d3a70f5effa4c.zip
Make almost all instances follow new protocol structre
Closes https://github.com/libredirect/libredirect/issues/238

Closes https://github.com/libredirect/libredirect/issues/391
Diffstat (limited to 'src/assets/javascripts/medium.js')
-rw-r--r--src/assets/javascripts/medium.js22
1 files changed, 20 insertions, 2 deletions
diff --git a/src/assets/javascripts/medium.js b/src/assets/javascripts/medium.js
index 37a8a3db..d4c81ba8 100644
--- a/src/assets/javascripts/medium.js
+++ b/src/assets/javascripts/medium.js
@@ -61,6 +61,8 @@ let
   scribeNormalCustomRedirects,
   scribeTorRedirectsChecks,
   scribeTorCustomRedirects,
+  scribeI2pCustomRedirects,
+  scribeLokiCustomRedirects,
   protocol,
   protocolFallback;
 
@@ -74,6 +76,8 @@ function init() {
         "scribeNormalCustomRedirects",
         "scribeTorRedirectsChecks",
         "scribeTorCustomRedirects",
+        "scribeI2pCustomRedirects",
+        "scribeLokiCustomRedirects",
         "protocol",
         "protocolFallback"
       ],
@@ -84,6 +88,8 @@ function init() {
         scribeNormalCustomRedirects = r.scribeNormalCustomRedirects;
         scribeTorRedirectsChecks = r.scribeTorRedirectsChecks;
         scribeTorCustomRedirects = r.scribeTorCustomRedirects;
+        scribeI2pCustomRedirects = r.scribeI2pCustomRedirects;
+        scribeLokiCustomRedirects = r.scribeLokiCustomRedirects;
         protocol = r.protocol;
         protocolFallback = r.protocolFallback;
         resolve();
@@ -105,13 +111,17 @@ function redirect(url, type, initiator, disableOverride) {
       ...mediumRedirects.scribe.tor,
       ...scribeNormalCustomRedirects,
       ...scribeTorCustomRedirects,
+      ...scribeI2pCustomRedirects,
+      ...scribeLokiCustomRedirects
     ].includes(initiator.origin))) return;
 
   if (!targets.some(rx => rx.test(url.host))) return;
   if (/^\/(@[a-zA-Z.]{0,}(\/|)$)/.test(url.pathname)) return;
 
   let instancesList = [];
-  if (protocol == 'tor') instancesList = [...scribeTorRedirectsChecks, ...scribeTorCustomRedirects];
+  if (protocol == 'loki') instancesList = [...scribeLokiCustomRedirects];
+  else if (protocol == 'i2p') instancesList = [...scribeI2pCustomRedirects];
+  else if (protocol == 'tor') instancesList = [...scribeTorRedirectsChecks, ...scribeTorCustomRedirects];
   if ((instancesList.length === 0 && protocolFallback) || protocol == 'normal') {
     instancesList = [...scribeNormalRedirectsChecks, ...scribeNormalCustomRedirects];
   }
@@ -132,11 +142,15 @@ function switchInstance(url, disableOverride) {
 
       ...scribeNormalCustomRedirects,
       ...scribeTorCustomRedirects,
+      ...scribeI2pCustomRedirects,
+      ...scribeLokiCustomRedirects
     ];
     if (!all.includes(protocolHost)) { resolve(); return; }
 
     let instancesList = [];
-    if (protocol == 'tor') instancesList = [...scribeTorRedirectsChecks, ...scribeTorCustomRedirects];
+    if (protocol == 'loki') instancesList = [...scribeLokiCustomRedirects];
+    else if (protocol == 'i2p') instancesList = [...scribeI2pCustomRedirects];
+    else if (protocol == 'tor') instancesList = [...scribeTorRedirectsChecks, ...scribeTorCustomRedirects];
     if ((instancesList.length === 0 && protocolFallback) || protocol == 'normal') {
       instancesList = [...scribeNormalRedirectsChecks, ...scribeNormalCustomRedirects];
     }
@@ -173,6 +187,10 @@ function initDefaults() {
 
             scribeTorRedirectsChecks: [...redirects.scribe.tor],
             scribeTorCustomRedirects: [],
+
+            scribeI2pCustomRedirects: [],
+
+            scribeLokiCustomRedirects: []
           }, () => resolve())
         })
     })