about summary refs log tree commit diff stats
path: root/src/assets/javascripts/imdb.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/assets/javascripts/imdb.js')
-rw-r--r--src/assets/javascripts/imdb.js26
1 files changed, 22 insertions, 4 deletions
diff --git a/src/assets/javascripts/imdb.js b/src/assets/javascripts/imdb.js
index de1293af..681f6754 100644
--- a/src/assets/javascripts/imdb.js
+++ b/src/assets/javascripts/imdb.js
@@ -41,7 +41,9 @@ let
     libremdbNormalRedirectsChecks,
     libremdbNormalCustomRedirects,
     libremdbTorRedirectsChecks,
-    libremdbTorCustomRedirects;
+    libremdbTorCustomRedirects,
+    libremdbI2pCustomRedirects,
+    libremdbLokiCustomRedirects;
 
 function init() {
     return new Promise(async resolve => {
@@ -55,6 +57,8 @@ function init() {
                 "libremdbNormalCustomRedirects",
                 "libremdbTorRedirectsChecks",
                 "libremdbTorCustomRedirects",
+                "libremdbI2pCustomRedirects",
+                "libremdbLokiCustomRedirects"
             ],
             r => {
                 disableImdb = r.disableImdb;
@@ -65,6 +69,8 @@ function init() {
                 libremdbNormalCustomRedirects = r.libremdbNormalCustomRedirects;
                 libremdbTorRedirectsChecks = r.libremdbTorRedirectsChecks;
                 libremdbTorCustomRedirects = r.libremdbTorCustomRedirects;
+                libremdbI2pCustomRedirects = r.libremdbI2pCustomRedirects;
+                libremdbLokiCustomRedirects = r.libremdbLokiCustomRedirects;
                 resolve();
             }
         )
@@ -86,7 +92,9 @@ function redirect(url, type, initiator, disableOverride) {
     if (!targets.some(rx => rx.test(url.href))) return;
 
     let instancesList = [];
-    if (protocol == 'tor') instancesList = [...libremdbTorRedirectsChecks, ...libremdbTorCustomRedirects];
+    if (protocol == 'loki') instancesList = [...libremdbLokiCustomRedirects];
+    else if (protocol == 'i2p') instancesList = [...libremdbI2pCustomRedirects];
+    else if (protocol == 'tor') instancesList = [...libremdbTorRedirectsChecks, ...libremdbTorCustomRedirects];
     if ((instancesList.length === 0 && protocolFallback) || protocol == 'normal') {
         instancesList = [...libremdbNormalRedirectsChecks, ...libremdbNormalCustomRedirects];
     }
@@ -104,7 +112,9 @@ function reverse(url) {
             ...imdbRedirects.libremdb.normal,
             ...imdbRedirects.libremdb.tor,
             ...libremdbNormalCustomRedirects,
-            ...libremdbTorCustomRedirects
+            ...libremdbTorCustomRedirects,
+            ...libremdbI2pCustomRedirects,
+            ...libremdbLokiCustomRedirects
         ];
         if (!all.includes(protocolHost)) { resolve(); return; }
 
@@ -123,11 +133,15 @@ function switchInstance(url, disableOverride) {
 
             ...libremdbNormalCustomRedirects,
             ...libremdbTorCustomRedirects,
+            ...libremdbI2pCustomRedirects,
+            ...libremdbLokiCustomRedirects
         ];
         if (!all.includes(protocolHost)) { resolve(); return; }
 
         let instancesList = [];
-        if (protocol == 'tor') instancesList = [...libremdbTorRedirectsChecks, ...libremdbTorCustomRedirects];
+        if (protocol == 'loki') instancesList = [...libremdbLokiCustomRedirects];
+        else if (protocol == 'i2p') instancesList = [...libremdbI2pCustomRedirects];
+        else if (protocol == 'tor') instancesList = [...libremdbTorRedirectsChecks, ...libremdbTorCustomRedirects];
         if ((instancesList.length === 0 && protocolFallback) || protocol == 'normal') {
             instancesList = [...libremdbNormalRedirectsChecks, ...libremdbNormalCustomRedirects];
         }
@@ -157,6 +171,10 @@ function initDefaults() {
 
                 libremdbTorRedirectsChecks: [...redirects.libremdb.tor],
                 libremdbTorCustomRedirects: [],
+
+                libremdbI2pCustomRedirects: [],
+
+                libremdbLokiCustomRedirects: []
             }, () => resolve());
         });
     })