diff options
author | ManeraKai <manerakai@protonmail.com> | 2022-07-24 11:34:39 +0300 |
---|---|---|
committer | ManeraKai <manerakai@protonmail.com> | 2022-07-24 11:34:39 +0300 |
commit | ccfcccd53ed6a7a5cc56adc0d7f027e475f0665a (patch) | |
tree | be58876ebca99733cf54a297d22e2117a176f001 /src/assets/javascripts/search.js | |
parent | Merge pull request 'No more trailing slashes' (#9) from BobIsMyManager/libred... (diff) | |
parent | fix some typos (diff) | |
download | libredirect-ccfcccd53ed6a7a5cc56adc0d7f027e475f0665a.zip |
Merge branch 'BobIsMyManager-librex'
Diffstat (limited to 'src/assets/javascripts/search.js')
-rw-r--r-- | src/assets/javascripts/search.js | 300 |
1 files changed, 256 insertions, 44 deletions
diff --git a/src/assets/javascripts/search.js b/src/assets/javascripts/search.js index 5a91ff89..7644ad4b 100644 --- a/src/assets/javascripts/search.js +++ b/src/assets/javascripts/search.js @@ -5,8 +5,12 @@ import utils from './utils.js' const targets = [ /^https?:\/{2}search\.libredirect\.invalid/, ]; +// Ill optimise all of assets/javascripts at a later date. For now, I'll just add librex and optimse options javascript +const frontends = new Array("searx", "searxng", "whoogle", "librex") +const protocols = new Array("normal", "tor", "i2p", "loki") -let redirects = { +const redirects = {} + /* "searx": { "normal": [], "tor": [], @@ -22,7 +26,27 @@ let redirects = { "tor": [], "i2p": [] } -}; + */ +//}; + +//let tmp = "{" + +for (let i = 0; i < frontends.length; i++) { + //redirects.frontends[i] = {} + //redirects.push(frontends[i]) + //tmp = frontends[i] + //tmp = tmp + '\n"' + frontends[i] + '": {' + redirects[frontends[i]] = {} + for (let x = 0; x < protocols.length; x++) { + //redirects.frontends[i].protocols = [] + //tmp = tmp + '\n"' + protocols[x] + '": [],' + redirects[frontends[i]][protocols[x]] = [] + } + //tmp = tmp + "\n}," +} +//tmp = tmp + "\n}" + +//const redirects = JSON.parse(tmp) function setRedirects(val) { browser.storage.local.get('cloudflareBlackList', r => { @@ -30,6 +54,7 @@ function setRedirects(val) { searxNormalRedirectsChecks = [...redirects.searx.normal]; searxngNormalRedirectsChecks = [...redirects.searxng.normal]; whoogleNormalRedirectsChecks = [...redirects.whoogle.normal]; + librexNormalRedirectsChecks = [...redirects.librex.normal]; for (const instance of r.cloudflareBlackList) { const a = searxNormalRedirectsChecks.indexOf(instance); if (a > -1) searxNormalRedirectsChecks.splice(a, 1); @@ -39,12 +64,16 @@ function setRedirects(val) { const c = whoogleNormalRedirectsChecks.indexOf(instance); if (c > -1) whoogleNormalRedirectsChecks.splice(c, 1); + + const d = librexNormalRedirectsChecks.indexOf(instance); + if (d > -1) librexNormalRedirectsChecks.splice(d, 1); } browser.storage.local.set({ searchRedirects: redirects, searxNormalRedirectsChecks, searxngNormalRedirectsChecks, whoogleNormalRedirectsChecks, + librexNormalRedirectsChecks, }); }) } @@ -53,25 +82,36 @@ let disableSearch, searchFrontend, searchRedirects, - searchProtocol, + protocol, + protocolFallback, whoogleNormalRedirectsChecks, whoogleNormalCustomRedirects, whoogleTorRedirectsChecks, whoogleTorCustomRedirects, whoogleI2pRedirectsChecks, whoogleI2pCustomRedirects, + whoogleLokiCustomRedirects, searxNormalRedirectsChecks, searxNormalCustomRedirects, searxTorRedirectsChecks, searxTorCustomRedirects, searxI2pRedirectsChecks, searxI2pCustomRedirects, + searxLokiCustomRedirects, searxngNormalRedirectsChecks, searxngNormalCustomRedirects, searxngTorRedirectsChecks, searxngTorCustomRedirects, searxngI2pRedirectsChecks, - searxngI2pCustomRedirects; + searxngI2pCustomRedirects, + searxngLokiCustomRedirects, + librexNormalRedirectsChecks, + librexNormalCustomRedirects, + librexTorRedirectsChecks, + librexTorCustomRedirects, + librexI2pRedirectsChecks, + librexI2pCustomRedirects, + librexLokiCustomRedirects; function init() { return new Promise(async resolve => { @@ -80,49 +120,71 @@ function init() { "disableSearch", "searchFrontend", "searchRedirects", - "searchProtocol", + "protocol", + "protocolFallback", "whoogleNormalRedirectsChecks", "whoogleNormalCustomRedirects", "whoogleTorRedirectsChecks", "whoogleTorCustomRedirects", "whoogleI2pRedirectsChecks", "whoogleI2pCustomRedirects", + "whoogleLokiCustomRedirects", "searxNormalRedirectsChecks", "searxNormalCustomRedirects", "searxTorRedirectsChecks", "searxTorCustomRedirects", "searxI2pRedirectsChecks", "searxI2pCustomRedirects", + "searxLokiCustomRedirects", "searxngNormalRedirectsChecks", "searxngNormalCustomRedirects", "searxngTorRedirectsChecks", "searxngTorCustomRedirects", "searxngI2pRedirectsChecks", "searxngI2pCustomRedirects", + "searxngLokiCustomRedirects", + "librexNormalRedirectsChecks", + "librexNormalCustomRedirects", + "librexTorRedirectsChecks", + "librexTorCustomRedirects", + "librexI2pRedirectsChecks", + "librexI2pCustomRedirects", + "librexLokiCustomRedirects" ], r => { disableSearch = r.disableSearch; searchFrontend = r.searchFrontend; searchRedirects = r.searchRedirects; - searchProtocol = r.searchProtocol; + protocol = r.protocol; + protocolFallback = r.protocolFallback; whoogleNormalRedirectsChecks = r.whoogleNormalRedirectsChecks; whoogleNormalCustomRedirects = r.whoogleNormalCustomRedirects; whoogleTorRedirectsChecks = r.whoogleTorRedirectsChecks; whoogleTorCustomRedirects = r.whoogleTorCustomRedirects; whoogleI2pRedirectsChecks = r.whoogleI2pRedirectsChecks; whoogleI2pCustomRedirects = r.whoogleI2pCustomRedirects; + whoogleLokiCustomRedirects = r.whoogleLokiCustomRedirects; searxNormalRedirectsChecks = r.searxNormalRedirectsChecks; searxNormalCustomRedirects = r.searxNormalCustomRedirects; searxTorRedirectsChecks = r.searxTorRedirectsChecks; searxTorCustomRedirects = r.searxTorCustomRedirects; searxI2pRedirectsChecks = r.searxI2pRedirectsChecks; searxI2pCustomRedirects = r.searxI2pCustomRedirects; + searxLokiCustomRedirects = r.searxLokiCustomRedirects; searxngNormalRedirectsChecks = r.searxngNormalRedirectsChecks; searxngNormalCustomRedirects = r.searxngNormalCustomRedirects; searxngTorRedirectsChecks = r.searxngTorRedirectsChecks; searxngTorCustomRedirects = r.searxngTorCustomRedirects; searxngI2pRedirectsChecks = r.searxngI2pRedirectsChecks; searxngI2pCustomRedirects = r.searxngI2pCustomRedirects; + searxngLokiCustomRedirects = r.searxngLokiCustomRedirects; + librexNormalRedirectsChecks = r.librexNormalRedirectsChecks; + librexNormalCustomRedirects = r.librexNormalCustomRedirects; + librexTorRedirectsChecks = r.librexTorRedirectsChecks; + librexTorCustomRedirects = r.librexTorCustomRedirects; + librexI2pRedirectsChecks = r.librexI2pRedirectsChecks; + librexI2pCustomRedirects = r.librexI2pCustomRedirects; + librexLokiCustomRedirects = r.librexLokiCustomRedirects; resolve(); } ) @@ -143,13 +205,17 @@ function initSearxCookies(test, from) { ...searxTorCustomRedirects, ...searxI2pRedirectsChecks, ...searxI2pCustomRedirects, + ...searxLokiCustomRedirects ].includes(protocolHost)) { resolve(); return; } if (!test) { - let checkedInstances; - if (searchProtocol == 'normal') checkedInstances = [...searxNormalRedirectsChecks, ...searxNormalCustomRedirects]; - else if (searchProtocol == 'tor') checkedInstances = [...searxTorRedirectsChecks, ...searxTorCustomRedirects]; - else if (searchProtocol == 'i2p') checkedInstances = [...searxI2pRedirectsChecks, ...searxI2pCustomRedirects]; + let checkedInstances = []; + if (protocol == 'loki') checkedInstances = [...searxLokiCustomRedirects]; + else if (protocol == 'i2p') checkedInstances = [...searxI2pCustomRedirects, ...searxI2pRedirectsChecks]; + else if (protocol == 'tor') checkedInstances = [...searxTorRedirectsChecks, ...searxTorCustomRedirects]; + if ((checkedInstances.length === 0 && protocolFallback) || protocol == 'normal') { + checkedInstances = [...searxNormalRedirectsChecks, ...searxNormalCustomRedirects]; + } await utils.copyCookie('searx', from, checkedInstances, 'advanced_search'); await utils.copyCookie('searx', from, checkedInstances, 'autocomplete'); await utils.copyCookie('searx', from, checkedInstances, 'categories'); @@ -176,9 +242,13 @@ function pasteSearxCookies() { return new Promise(async resolve => { await init(); if (disableSearch || searchFrontend != 'searx') { resolve(); return; } - let checkedInstances; - if (searchProtocol == 'normal') checkedInstances = [...searxNormalRedirectsChecks, ...searxNormalCustomRedirects] - else if (searchProtocol == 'tor') checkedInstances = [...searxTorRedirectsChecks, ...searxTorCustomRedirects] + let checkedInstances = []; + if (protocol == 'loki') checkedInstances = [...searxLokiCustomRedirects]; + else if (protocol == 'i2p') checkedInstances = [...searxI2pCustomRedirects, ...searxI2pRedirectsChecks]; + else if (protocol == 'tor') checkedInstances = [...searxTorRedirectsChecks, ...searxTorCustomRedirects]; + if ((checkedInstances.length === 0 && protocolFallback) || protocol == 'normal') { + checkedInstances = [...searxNormalRedirectsChecks, ...searxNormalCustomRedirects]; + } utils.getCookiesFromStorage('searx', checkedInstances, 'advanced_search'); utils.getCookiesFromStorage('searx', checkedInstances, 'autocomplete'); utils.getCookiesFromStorage('searx', checkedInstances, 'categories'); @@ -211,13 +281,17 @@ function initSearxngCookies(test, from) { ...searxngTorCustomRedirects, ...searxngI2pRedirectsChecks, ...searxngI2pCustomRedirects, + ...searxngLokiCustomRedirects, ].includes(protocolHost)) { resolve(); return; } if (!test) { - let checkedInstances; - if (searchProtocol == 'normal') checkedInstances = [...searxngNormalRedirectsChecks, ...searxngNormalCustomRedirects]; - else if (searchProtocol == 'tor') checkedInstances = [...searxngTorRedirectsChecks, ...searxngTorCustomRedirects]; - else if (searchProtocol == 'i2p') checkedInstances = [...searxngI2pRedirectsChecks, ...searxngI2pCustomRedirects]; + let checkedInstances = []; + if (protocol == 'loki') checkedInstances = [...searxngLokiCustomRedirects]; + else if (protocol == 'i2p') checkedInstances = [...searxngI2pCustomRedirects, ...searxngI2pRedirectsChecks]; + else if (protocol == 'tor') checkedInstances = [...searxngTorRedirectsChecks, ...searxngTorCustomRedirects]; + if ((checkedInstances.length === 0 && protocolFallback) || protocol == 'normal') { + checkedInstances = [...searxngNormalRedirectsChecks, ...searxngNormalCustomRedirects]; + } await utils.copyCookie('searxng', from, checkedInstances, 'autocomplete'); await utils.copyCookie('searxng', from, checkedInstances, 'categories'); await utils.copyCookie('searxng', from, checkedInstances, 'disabled_engines'); @@ -245,10 +319,14 @@ function initSearxngCookies(test, from) { function pasteSearxngCookies() { return new Promise(async resolve => { await init(); - if (disableSearch || searchFrontend != 'searxng', searchProtocol === undefined) { resolve(); return; } - let checkedInstances; - if (searchProtocol == 'normal') checkedInstances = [...searxngNormalRedirectsChecks, ...searxngNormalCustomRedirects] - else if (searchProtocol == 'tor') checkedInstances = [...searxngTorRedirectsChecks, ...searxngTorCustomRedirects] + if (disableSearch || searchFrontend != 'searxng', protocol === undefined) { resolve(); return; } + let checkedInstances = []; + if (protocol == 'loki') checkedInstances = [...searxngLokiCustomRedirects]; + else if (protocol == 'i2p') checkedInstances = [...searxngI2pCustomRedirects, ...searxngI2pRedirectsChecks]; + else if (protocol == 'tor') checkedInstances = [...searxngTorRedirectsChecks, ...searxngTorCustomRedirects]; + if ((checkedInstances.length === 0 && protocolFallback) || protocol == 'normal') { + checkedInstances = [...searxngNormalRedirectsChecks, ...searxngNormalCustomRedirects]; + } utils.getCookiesFromStorage('searxng', checkedInstances, 'autocomplete'); utils.getCookiesFromStorage('searxng', checkedInstances, 'categories'); utils.getCookiesFromStorage('searxng', checkedInstances, 'disabled_engines'); @@ -272,6 +350,63 @@ function pasteSearxngCookies() { }) } +function initLibrexCookies(test, from) { + return new Promise(async resolve => { + await init(); + let protocolHost = utils.protocolHost(from); + if (![ + ...librexNormalRedirectsChecks, + ...librexNormalCustomRedirects, + ...librexTorRedirectsChecks, + ...librexTorCustomRedirects, + ...librexI2pRedirectsChecks, + ...librexI2pCustomRedirects, + ...librexLokiCustomRedirects + ].includes(protocolHost)) { resolve(); return; } + + if(!test) { + let checkedInstances = []; + if (protocol == 'loki') checkedInstances = [...librexLokiCustomRedirects]; + else if (protocol == 'i2p') checkedInstances = [...librexI2pCustomRedirects, ...librexI2pRedirectsChecks]; + else if (protocol == 'tor') checkedInstances = [...librexTorRedirectsChecks, ...librexTorCustomRedirects]; + if ((checkedInstances.length === 0 && protocolFallback) || protocol == 'normal') { + checkedInstances = [...librexNormalRedirectsChecks, ...librexNormalCustomRedirects]; + } + await utils.copyCookie('librex', from, checkedInstances, 'bibliogram'); + await utils.copyCookie('librex', from, checkedInstances, 'disable_special'); + await utils.copyCookie('librex', from, checkedInstances, 'invidious'); + await utils.copyCookie('librex', from, checkedInstances, 'libreddit'); + await utils.copyCookie('librex', from, checkedInstances, 'nitter'); + await utils.copyCookie('librex', from, checkedInstances, 'proxitok'); + await utils.copyCookie('librex', from, checkedInstances, 'theme'); + await utils.copyCookie('librex', from, checkedInstances, 'wikiless'); + } + resolve(true); + }) +} + +function pasteLibrexCookies() { + return new Promise(async resolve => { + await init(); + if (disableSearch || searchFrontend != 'librex', protocol === undefined) { resolve(); return; } + let checkedInstances = []; + if (protocol == 'loki') checkedInstances = [...librexLokiCustomRedirects]; + else if (protocol == 'i2p') checkedInstances = [...librexI2pCustomRedirects, ...librexI2pRedirectsChecks]; + else if (protocol == 'tor') checkedInstances = [...librexTorRedirectsChecks, ...librexTorCustomRedirects]; + if ((checkedInstances.length === 0 && protocolFallback) || protocol == 'normal') { + checkedInstances = [...librexNormalRedirectsChecks, ...librexNormalCustomRedirects]; + } + utils.getCookiesFromStorage('librex', checkedInstances, 'bibliogram'); + utils.getCookiesFromStorage('librex', checkedInstances, 'disable_special'); + utils.getCookiesFromStorage('librex', checkedInstances, 'invidious'); + utils.getCookiesFromStorage('librex', checkedInstances, 'libreddit'); + utils.getCookiesFromStorage('librex', checkedInstances, 'nitter'); + utils.getCookiesFromStorage('librex', checkedInstances, 'proxitok'); + utils.getCookiesFromStorage('librex', checkedInstances, 'theme'); + utils.getCookiesFromStorage('librex', checkedInstances, 'wikiless'); + resolve(); + }) +} function redirect(url, disableOverride) { if (disableSearch && !disableOverride) return; @@ -281,32 +416,57 @@ function redirect(url, disableOverride) { let randomInstance; let path; if (searchFrontend == 'searx') { - let instancesList; - if (searchProtocol == 'normal') instancesList = [...searxNormalRedirectsChecks, ...searxNormalCustomRedirects]; - else if (searchProtocol == 'tor') instancesList = [...searxTorRedirectsChecks, ...searxTorCustomRedirects]; - else if (searchProtocol == 'i2p') instancesList = [...searxI2pRedirectsChecks, ...searxI2pCustomRedirects]; - if (instancesList.length === 0) return; + let instancesList = []; + if (protocol == 'loki') instancesList = [...searxLokiCustomRedirects]; + else if (protocol == 'i2p') instancesList = [...searxI2pCustomRedirects, ...searxI2pRedirectsChecks]; + else if (protocol == 'tor') instancesList = [...searxTorRedirectsChecks, ...searxTorCustomRedirects]; + if ((instancesList.length === 0 && protocolFallback) || protocol == 'normal') { + instancesList = [...searxNormalRedirectsChecks, ...searxNormalCustomRedirects]; + } + if (instancesList.length === 0) { return; } + randomInstance = utils.getRandomInstance(instancesList) path = "/"; } else if (searchFrontend == 'searxng') { - let instancesList; - if (searchProtocol == 'normal') instancesList = [...searxngNormalRedirectsChecks, ...searxngNormalCustomRedirects]; - else if (searchProtocol == 'tor') instancesList = [...searxngTorRedirectsChecks, ...searxngTorCustomRedirects]; - else if (searchProtocol == 'i2p') instancesList = [...searxngI2pRedirectsChecks, ...searxngI2pCustomRedirects]; - if (instancesList.length === 0) return; + let instancesList = []; + if (protocol == 'loki') instancesList = [...searxngLokiCustomRedirects]; + else if (protocol == 'i2p') instancesList = [...searxngI2pCustomRedirects, ...searxngI2pRedirectsChecks]; + else if (protocol == 'tor') instancesList = [...searxngTorRedirectsChecks, ...searxngTorCustomRedirects]; + if ((instancesList.length === 0 && protocolFallback) || protocol == 'normal') { + instancesList = [...searxngNormalRedirectsChecks, ...searxngNormalCustomRedirects]; + } + if (instancesList.length === 0) { return; } + randomInstance = utils.getRandomInstance(instancesList) path = "/"; } else if (searchFrontend == 'whoogle') { - let instancesList; - if (searchProtocol == 'normal') instancesList = [...whoogleNormalRedirectsChecks, ...whoogleNormalCustomRedirects]; - if (searchProtocol == 'tor') instancesList = [...whoogleTorRedirectsChecks, ...whoogleTorCustomRedirects]; - if (searchProtocol == 'i2p') instancesList = [...whoogleI2pRedirectsChecks, ...whoogleI2pCustomRedirects]; - if (instancesList.length === 0) return; + let instancesList = []; + if (protocol == 'loki') instancesList = [...whoogleLokiCustomRedirects]; + else if (protocol == 'i2p') instancesList = [...whoogleI2pCustomRedirects, ...whoogleI2pRedirectsChecks]; + else if (protocol == 'tor') instancesList = [...whoogleTorRedirectsChecks, ...whoogleTorCustomRedirects]; + if ((instancesList.length === 0 && protocolFallback) || protocol == 'normal') { + instancesList = [...whoogleNormalRedirectsChecks, ...whoogleNormalCustomRedirects]; + } + if (instancesList.length === 0) { return; } + randomInstance = utils.getRandomInstance(instancesList) path = "/search"; } + else if (searchFrontend == 'librex') { + let instancesList = []; + if (protocol == 'loki') instancesList = [...librexLokiCustomRedirects]; + else if (protocol == 'i2p') instancesList = [...librexI2pCustomRedirects, ...librexI2pRedirectsChecks]; + else if (protocol == 'tor') instancesList = [...librexTorRedirectsChecks, ...librexTorCustomRedirects]; + if ((instancesList.length === 0 && protocolFallback) || protocol == 'normal') { + instancesList = [...librexNormalRedirectsChecks, ...librexNormalCustomRedirects]; + } + if (instancesList.length === 0) { return; } + + randomInstance = utils.getRandomInstance(instancesList) + path = "/search.php"; + } if ( ((url.hostname.includes('google') || url.hostname.includes('bing')) && !url.searchParams.has('q')) || @@ -345,36 +505,57 @@ function switchInstance(url, disableOverride) { ...searchRedirects.whoogle.tor, ...searchRedirects.whoogle.i2p, + ...searchRedirects.librex.normal, + ...searchRedirects.librex.tor, + ...searchRedirects.librex.i2p, + ...searxNormalCustomRedirects, ...searxTorCustomRedirects, ...searxI2pCustomRedirects, + ...searxLokiCustomRedirects, ...searxngNormalCustomRedirects, ...searxngTorCustomRedirects, ...searxngI2pCustomRedirects, + ...searxngLokiCustomRedirects, ...whoogleNormalCustomRedirects, ...whoogleTorCustomRedirects, ...whoogleI2pCustomRedirects, + ...whoogleLokiCustomRedirects, + + ...librexNormalCustomRedirects, + ...librexTorCustomRedirects, + ...librexI2pCustomRedirects, + ...librexLokiCustomRedirects ].includes(protocolHost)) { resolve(); return; } let instancesList; - if (searchProtocol == 'normal') { - if (searchFrontend == 'searx') instancesList = [...searxNormalRedirectsChecks, ...searxNormalCustomRedirects]; - else if (searchFrontend == 'searxng') instancesList = [...searxngNormalRedirectsChecks, ...searxngNormalCustomRedirects]; - else if (searchFrontend == 'whoogle') instancesList = [...whoogleNormalRedirectsChecks, ...whoogleNormalCustomRedirects]; + + if (protocol == 'loki') { + if (searchFrontend == 'searx') instancesList = [...searxLokiCustomRedirects]; + else if (searchFrontend == 'searxng') instancesList = [...searxngLokiCustomRedirects]; + else if (searchFrontend == 'whoogle') instancesList = [...whoogleLokiCustomRedirects]; + else if (searchFrontend == 'librex') instancesList = [...librexLokiCustomRedirects]; } - else if (searchProtocol == 'tor') { + else if (protocol == 'tor') { if (searchFrontend == 'searx') instancesList = [...searxTorRedirectsChecks, ...searxTorCustomRedirects]; else if (searchFrontend == 'searxng') instancesList = [...searxngTorRedirectsChecks, ...searxngTorCustomRedirects]; else if (searchFrontend == 'whoogle') instancesList = [...whoogleTorRedirectsChecks, ...whoogleTorCustomRedirects]; + else if (searchFrontend == 'librex') instancesList = [...librexTorRedirectsChecks, ...librexTorCustomRedirects]; } - else if (searchProtocol == 'i2p') { + else if (protocol == 'i2p') { if (searchFrontend == 'searx') instancesList = [...searxI2pRedirectsChecks, ...searxI2pCustomRedirects]; else if (searchFrontend == 'searxng') instancesList = [...searxngI2pRedirectsChecks, ...searxngI2pCustomRedirects]; else if (searchFrontend == 'whoogle') instancesList = [...whoogleI2pRedirectsChecks, ...whoogleI2pCustomRedirects]; + else if (searchFrontend == 'librex') instancesList = [...librexI2pRedirectsChecks, ...librexI2pCustomRedirects]; + } + if ((instancesList.length === 0 && protocolFallback) || protocol == 'normal') { + if (searchFrontend == 'searx') instancesList = [...searxNormalRedirectsChecks, ...searxNormalCustomRedirects]; + else if (searchFrontend == 'searxng') instancesList = [...searxngNormalRedirectsChecks, ...searxngNormalCustomRedirects]; + else if (searchFrontend == 'whoogle') instancesList = [...whoogleNormalRedirectsChecks, ...whoogleNormalCustomRedirects]; + else if (searchFrontend == 'librex') instancesList = [...librexNormalRedirectsChecks, ...librexNormalCustomRedirects]; } - const i = instancesList.indexOf(protocolHost); if (i > -1) instancesList.splice(i, 1); if (instancesList.length === 0) { resolve(); return; } @@ -388,14 +569,20 @@ function initDefaults() { return new Promise(async resolve => { fetch('/instances/data.json').then(response => response.text()).then(async data => { let dataJson = JSON.parse(data); + /* redirects.searx = dataJson.searx; redirects.searxng = dataJson.searxng; redirects.whoogle = dataJson.whoogle; + */ + for (let i = 0; i < frontends.length; i++) { + redirects[frontends[i]] = dataJson[frontends[i]] + } browser.storage.local.get('cloudflareBlackList', async r => { whoogleNormalRedirectsChecks = [...redirects.whoogle.normal]; searxNormalRedirectsChecks = [...redirects.searx.normal]; searxngNormalRedirectsChecks = [...redirects.searxng.normal]; + librexNormalRedirectsChecks = [...redirects.librex.normal]; for (const instance of r.cloudflareBlackList) { let i; @@ -407,13 +594,15 @@ function initDefaults() { i = searxngNormalRedirectsChecks.indexOf(instance); if (i > -1) searxngNormalRedirectsChecks.splice(i, 1); + + i = librexNormalRedirectsChecks.indexOf(instance); + if (i > -1) librexNormalRedirectsChecks.splice(i, 1) } browser.storage.local.set({ disableSearch: false, searchFrontend: 'searxng', searchRedirects: redirects, searxngCustomSettings: false, - searchProtocol: 'normal', whoogleNormalRedirectsChecks: whoogleNormalRedirectsChecks, whoogleNormalCustomRedirects: [], @@ -424,6 +613,9 @@ function initDefaults() { whoogleI2pRedirectsChecks: [...redirects.whoogle.i2p], whoogleI2pCustomRedirects: [], + whoogleLokiRedirectsChecks: [...redirects.whoogle.loki], + whoogleLokiCustomRedirects: [], + searxNormalRedirectsChecks: searxNormalRedirectsChecks, searxNormalCustomRedirects: [], @@ -433,6 +625,9 @@ function initDefaults() { searxI2pRedirectsChecks: [...redirects.searx.i2p], searxI2pCustomRedirects: [], + searxLokiRedirectsChecks: [...redirects.searx.loki], + searxLokiCustomRedirects: [], + searxngNormalRedirectsChecks: searxngNormalRedirectsChecks, searxngNormalCustomRedirects: [], @@ -441,6 +636,21 @@ function initDefaults() { searxngI2pRedirectsChecks: [...redirects.searxng.i2p], searxngI2pCustomRedirects: [], + + searxngLokiRedirectsChecks: [...redirects.searxng.loki], + searxngLokiCustomRedirects: [], + + librexNormalRedirectsChecks: librexNormalRedirectsChecks, + librexNormalCustomRedirects: [], + + librexTorRedirectsChecks: [...redirects.librex.tor], + librexTorCustomRedirects: [], + + librexI2pRedirectsChecks: [...redirects.librex.i2p], + librexI2pCustomRedirects: [], + + librexLokiRedirectsChecks: [...redirects.librex.loki], + librexLokiCustomRedirects: [] }, () => resolve()) }) }) @@ -453,6 +663,8 @@ export default { pasteSearxCookies, initSearxngCookies, pasteSearxngCookies, + initLibrexCookies, + pasteLibrexCookies, redirect, initDefaults, switchInstance, |