about summary refs log tree commit diff stats
path: root/src/assets/javascripts/maps.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/maps.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/maps.js')
-rw-r--r--src/assets/javascripts/maps.js38
1 files changed, 35 insertions, 3 deletions
diff --git a/src/assets/javascripts/maps.js b/src/assets/javascripts/maps.js
index 57add6f8..7714e17d 100644
--- a/src/assets/javascripts/maps.js
+++ b/src/assets/javascripts/maps.js
@@ -14,7 +14,10 @@ let redirects = {
   'facil': {
     "normal": [
       "https://facilmap.org"
-    ]
+    ],
+    "tor": [],
+    "i2p": [],
+    "loki": []
   }
 };
 
@@ -22,22 +25,37 @@ let redirects = {
 let
   disableMaps,
   mapsFrontend,
+  protocol,
+  protocolFallback,
   facilNormalRedirectsChecks,
-  facilNormalCustomRedirects;
+  facilNormalCustomRedirects,
+  facilTorCustomRedirects,
+  facilI2pCustomRedirects,
+  facilLokiCustomRedirects;
 
 function init() {
   browser.storage.local.get(
     [
       "disableMaps",
       "mapsFrontend",
+      "protocol",
+      "protocolFallback",
       "facilNormalRedirectsChecks",
       "facilNormalCustomRedirects",
+      "facilTorCustomRedirects",
+      "facilI2pCustomRedirects",
+      "facilLokiCustomRedirects"
     ],
     r => {
       disableMaps = r.disableMaps;
       mapsFrontend = r.mapsFrontend;
+      protocol = r.protocol;
+      protocolFallback = r.protocolFallback;
       facilNormalRedirectsChecks = r.facilNormalRedirectsChecks;
       facilNormalCustomRedirects = r.facilNormalCustomRedirects;
+      facilTorCustomRedirects = r.facilTorCustomRedirects;
+      facilI2pCustomRedirects = r.facilI2pCustomRedirects;
+      facilLokiCustomRedirects = r.facilLokiCustomRedirects;
     }
   )
 }
@@ -89,7 +107,15 @@ function redirect(url, initiator) {
 
   let randomInstance;
   if (mapsFrontend == 'osm') randomInstance = utils.getRandomInstance(redirects.osm.normal);
-  if (mapsFrontend == 'facil') randomInstance = utils.getRandomInstance([...facilNormalRedirectsChecks, ...facilNormalCustomRedirects]);
+
+  if (mapsFrontend == 'facil') {
+    if (protocol == 'loki') randomInstance = utils.getRandomInstance(...facilLokiCustomRedirects);
+    else if (protocol == 'i2p') randomInstance = utils.getRandomInstance(...facilI2pCustomRedirects);
+    else if (protocol == 'tor') randomInstance = utils.getRandomInstance(...facilTorCustomRedirects);
+    if ((randomInstance == "" && protocolFallback) || protocol == 'normal') {
+      randomInstance = utils.getRandomInstance([...facilNormalRedirectsChecks, ...facilNormalCustomRedirects]);
+    }
+  }
 
   let mapCentre = "#";
   let prefs = {};
@@ -201,6 +227,12 @@ async function initDefaults() {
       mapsRedirects: redirects,
       facilNormalRedirectsChecks: [...redirects.facil.normal],
       facilNormalCustomRedirects: [],
+
+      facilTorCustomRedirects: [],
+
+      facilI2pCustomRedirects: [],
+
+      facilLokiCustomRedirects: []
     }, () => resolve())
   )