diff options
author | BobIsMyManager <bimmgitsignature.nly8m@simplelogin.co> | 2022-08-03 14:12:03 +0100 |
---|---|---|
committer | BobIsMyManager <bimmgitsignature.nly8m@simplelogin.co> | 2022-08-03 14:12:03 +0100 |
commit | 0cd1947ad90b7a3ea16dcab41f11b5be0c5a47fd (patch) | |
tree | 6a244841969355dfec34e9cbc334e184d0fac71d /src/assets | |
parent | Merge pull request 'Latency threshold and offline instances' (https://codeber... (diff) | |
download | libredirect-0cd1947ad90b7a3ea16dcab41f11b5be0c5a47fd.zip |
Update blacklist pt1
Diffstat (limited to 'src/assets')
-rw-r--r-- | src/assets/javascripts/search.js | 2 | ||||
-rw-r--r-- | src/assets/javascripts/utils.js | 46 |
2 files changed, 45 insertions, 3 deletions
diff --git a/src/assets/javascripts/search.js b/src/assets/javascripts/search.js index 64b56caa..8e92e9c6 100644 --- a/src/assets/javascripts/search.js +++ b/src/assets/javascripts/search.js @@ -7,7 +7,7 @@ const targets = [/^https?:\/{2}search\.libredirect\.invalid/] const frontends = new Array("searx", "searxng", "whoogle", "librex") const protocols = new Array("normal", "tor", "i2p", "loki") -const redirects = {} +let redirects = {} for (let i = 0; i < frontends.length; i++) { redirects[frontends[i]] = {} diff --git a/src/assets/javascripts/utils.js b/src/assets/javascripts/utils.js index 50ada765..81fb181f 100644 --- a/src/assets/javascripts/utils.js +++ b/src/assets/javascripts/utils.js @@ -28,14 +28,56 @@ let authenticateBlackList = [] let offlineBlackList = [] async function initBlackList() { return new Promise(resolve => { + browser.storage.local.get([ + "cloudflareBlackList", + "authenticateBlackList", + "offlineBlackList" + ], + r => { + cloudflareBlackList = r.cloudflareBlackList + authenticateBlackList = r.authenticateBlackList + offlineBlackList = r.offlineBlackList + }) + if (cloudflareBlackList.length == 0) { fetch("/instances/blacklist.json") .then(response => response.text()) .then(data => { cloudflareBlackList = JSON.parse(data).cloudflare authenticateBlackList = JSON.parse(data).authenticate offlineBlackList = JSON.parse(data).offline - resolve() }) + } + console.log(offlineBlackList) + resolve() + }) +} + +function updateBlackList() { + return new Promise(async resolve => { + let http = new XMLHttpRequest() + let fallback = new XMLHttpRequest() + http.open("GET", "https://codeberg.org/LibRedirect/libredirect/raw/branch/master/src/instances/blacklist.json", false) + http.send(null) + if (http.status != 200) { + fallback.open("GET", "https://raw.githubusercontent.com/libredirect/libredirect/master/src/instances/blacklist.json", false) + fallback.send(null) + if (fallback.status === 200) { + http = fallback + } else { + resolve() + return + } + } + const blackList = JSON.parse(http.responseText) + browser.storage.local.set({ + cloudflareBlackList: blackList.cloudflare, + authenticateBlackList: blackList.authenticate, + offlineBlackList: blackList.offline + }) + cloudflareBlackList = blackList.cloudflare, + authenticateBlackList = blackList.authenticate, + offlineBlackList = blackList.offline + resolve() }) } @@ -55,7 +97,7 @@ function updateInstances() { return } } - await initBlackList() + await updateBlackList() const instances = JSON.parse(http.responseText) youtubeHelper.setRedirects({ |