From 3bc5cafe65caa86734f6ad9ef13d3a70f5effa4c Mon Sep 17 00:00:00 2001 From: BobIsMyManager Date: Fri, 22 Jul 2022 19:39:08 +0100 Subject: Make almost all instances follow new protocol structre Closes https://github.com/libredirect/libredirect/issues/238 Closes https://github.com/libredirect/libredirect/issues/391 --- src/assets/javascripts/maps.js | 38 +++++++++++++++++++++++++++++++++++--- 1 file changed, 35 insertions(+), 3 deletions(-) (limited to 'src/assets/javascripts/maps.js') 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()) ) -- cgit 1.4.1