aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/assets/javascripts/search.js2
-rw-r--r--src/assets/javascripts/utils.js46
-rw-r--r--src/instances/get_instances.py2
3 files changed, 46 insertions, 4 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({
diff --git a/src/instances/get_instances.py b/src/instances/get_instances.py
index eab4a924..085d7273 100644
--- a/src/instances/get_instances.py
+++ b/src/instances/get_instances.py
@@ -661,7 +661,7 @@ for k1, v1 in mightyList.items():
cloudflare.append(instance)
if not instance.endswith('.onion') and not instance.endswith('.i2p') and not instance.endswith('.loki') and is_authenticate(instance):
authenticate.append(instance)
- if not instance.endswith('.onion') and not instance.endswith('.i2p') and not instance.endswith('.loki') and is_offline(instance):
+ elif not instance.endswith('.onion') and not instance.endswith('.i2p') and not instance.endswith('.loki') and is_offline(instance):
offline.append(instance)
peertube()