aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/assets/javascripts/services.js61
-rw-r--r--src/instances/get_instances.py28
-rw-r--r--src/pages/options/widgets/services.js6
3 files changed, 45 insertions, 50 deletions
diff --git a/src/assets/javascripts/services.js b/src/assets/javascripts/services.js
index affe0d1a..fff32275 100644
--- a/src/assets/javascripts/services.js
+++ b/src/assets/javascripts/services.js
@@ -25,14 +25,12 @@ function init() {
options.networkFallback = r.networkFallback
options.redirects = r.redirects
})
- //cur = current
for (const service in config.services) {
options[service] = {}
browser.storage.local.get([`${utils.camelCase(service)}Enable`, `${service}RedirectType`, `${service}Frontend`], r => {
options[service].enabled = r[utils.camelCase(service) + "Enable"]
options[service].frontend = r[service + "Frontend"]
options[service].redirectType = r[service + "RedirectType"]
- // console.log(r)
})
for (const frontend in config.services[service].frontends) {
options[frontend] = {}
@@ -40,8 +38,6 @@ function init() {
options[frontend].custom = []
for (const network in config.networks) {
browser.storage.local.get([`${frontend}${utils.camelCase(network)}RedirectsChecks`, `${frontend}${utils.camelCase(network)}CustomRedirects`], r => {
- // console.log(r)
- // console.log(`${frontend}${utils.camelCase(network)}RedirectsChecks`)
options[frontend].checks = r[frontend + utils.camelCase(network) + "RedirectsChecks"]
options[frontend].custom = r[frontend + utils.camelCase(network) + "CustomRedirects"]
})
@@ -390,46 +386,45 @@ function initDefaults() {
.then(async data => {
let dataJson = JSON.parse(data)
redirects = dataJson
- // console.log(redirects)
- // console.log(config)
- browser.storage.local.set({
- redirects: redirects.invidious,
- })
browser.storage.local.get(["cloudflareBlackList", "authenticateBlackList", "offlineBlackList"], async r => {
- // console.log(r)
for (const service in config.services) {
if (config.services[service].targets == "datajson") {
- browser.storage.local.set({ [service + "Targets"]: redirects[service] })
+ browser.storage.local.set({ [service + "Targets"]: [...dataJson[service]] })
+ delete redirects[service]
}
- for (const defaultOption in config.services[service].defaults) {
- browser.storage.local.set({ [service + camelCase(defaultOption)]: config.services[service].defaults[defaultOption] })
+ for (const defaultOption in config.services[service].options) {
+ browser.storage.local.set({ [service + utils.camelCase(defaultOption)]: config.services[service].options[defaultOption] })
}
for (const frontend in config.services[service].frontends) {
- let clearnetChecks = redirects[frontend].clearnet
- for (const instance of [...r.cloudflareBlackList, ...r.authenticateBlackList, ...r.offlineBlackList]) {
- let i = clearnetChecks.indexOf(instance)
- if (i > -1) clearnetChecks.splice(i, 1)
- }
- for (const network in config.networks) {
- // console.log(redirects[frontend][network])
- switch (network) {
- case "clearnet":
- browser.storage.local.set({
- [frontend + "ClearnetRedirectsChecks"]: [clearnetChecks],
- [frontend + "ClearnetCustomRedirects"]: [],
- })
- break
- default:
- browser.storage.local.set({
- [frontend + utils.camelCase(network) + "RedirectsChecks"]: [...redirects[frontend][network]],
- [frontend + utils.camelCase(network) + "CustomRedirects"]: [],
- })
+ if (config.services[service].frontends[frontend].instanceList) {
+ let clearnetChecks = redirects[frontend].clearnet
+ for (const instance of [...r.cloudflareBlackList, ...r.authenticateBlackList, ...r.offlineBlackList]) {
+ let i = clearnetChecks.indexOf(instance)
+ if (i > -1) clearnetChecks.splice(i, 1)
+ }
+ for (const network in config.networks) {
+ switch (network) {
+ case "clearnet":
+ browser.storage.local.set({
+ [frontend + "ClearnetRedirectsChecks"]: [...clearnetChecks],
+ [frontend + "ClearnetCustomRedirects"]: [],
+ })
+ break
+ default:
+ browser.storage.local.set({
+ [frontend + utils.camelCase(network) + "RedirectsChecks"]: [...redirects[frontend][network]],
+ [frontend + utils.camelCase(network) + "CustomRedirects"]: [],
+ })
+ }
}
}
}
}
- ;() => resolve()
})
+ browser.storage.local.set({
+ redirects,
+ })
+ ;() => resolve()
})
})
}
diff --git a/src/instances/get_instances.py b/src/instances/get_instances.py
index 3dcb42b4..2547917a 100644
--- a/src/instances/get_instances.py
+++ b/src/instances/get_instances.py
@@ -22,7 +22,6 @@ with open('./src/config/config.json', 'rt') as tmp:
config['networks'] = json.load(tmp)['config']['networks']
-
def filterLastSlash(urlList):
tmp = {}
for x in urlList:
@@ -106,7 +105,7 @@ def is_offline(url):
except:
return False
-def fetchCache(frontend, name) :
+def fetchCache(frontend, name):
# json_object = json.dumps(mightyList, ensure_ascii=False, indent=2)
with open('./src/instances/data.json') as file:
mightyList[frontend] = json.load(file)[frontend]
@@ -125,7 +124,16 @@ def fetchJsonList(frontend, name, url, urlItem):
_list = {}
for network in config['networks']:
_list[network] = []
- if type(urlItem) == 'str':
+ if type(urlItem) == dict:
+ for item in rJson:
+ for network in config['networks']:
+ if urlItem[network] != None:
+ if urlItem[network] in item:
+ if item[urlItem[network]].strip() != '':
+ _list[network].append(item[urlItem[network]])
+ else:
+ if frontend == 'librarian':
+ rJson = rJson['instances'] # I got lazy :p Might fix this at some point...
for item in rJson:
tmpItem = item
if urlItem is not None:
@@ -140,14 +148,6 @@ def fetchJsonList(frontend, name, url, urlItem):
_list['loki'].append(tmpItem)
else:
_list['clearnet'].append(tmpItem)
- else:
- for i in range(len(config['networks']) - 1):
- # The expected order is the same as in config.json. If the frontend doesn't have any instances for a specified network, use None
- if urlItem != None:
- for item in rJson:
- if network in item:
- if item[network].strip() != '':
- _list[config['networks'][i]].append(item[urlItem[i]])
mightyList[frontend] = _list
print(Fore.GREEN + 'Fetched ' + Style.RESET_ALL + name)
@@ -322,11 +322,11 @@ def libreddit():
def teddit():
- fetchJsonList('teddit', 'Teddit', 'https://codeberg.org/teddit/teddit/raw/branch/main/instances.json', ['url', 'onion', 'i2p', None])
+ fetchJsonList('teddit', 'Teddit', 'https://codeberg.org/teddit/teddit/raw/branch/main/instances.json', { 'clearnet': 'url', 'tor': 'onion', 'i2p': 'i2p', 'loki': None })
def wikiless():
- fetchJsonList('wikiless', 'Wikiless', 'https://wikiless.org/instances.json', ['url', 'onion', 'i2p', None])
+ fetchJsonList('wikiless', 'Wikiless', 'https://wikiless.org/instances.json', { 'clearnet': 'url', 'tor': 'onion', 'i2p': 'i2p', 'loki': None})
def scribe():
@@ -419,7 +419,7 @@ def librex():
def rimgo():
- fetchJsonList('rimgo', 'rimgo', 'https://codeberg.org/video-prize-ranch/rimgo/raw/branch/main/instances.json', ['url', 'onion', 'i2p', None])
+ fetchJsonList('rimgo', 'rimgo', 'https://codeberg.org/video-prize-ranch/rimgo/raw/branch/main/instances.json', {'clearnet': 'url', 'tor': 'onion', 'i2p': 'i2p', 'loki': None})
def librarian():
diff --git a/src/pages/options/widgets/services.js b/src/pages/options/widgets/services.js
index 4a53a749..33c174f9 100644
--- a/src/pages/options/widgets/services.js
+++ b/src/pages/options/widgets/services.js
@@ -1,7 +1,7 @@
import utils from "../../../assets/javascripts/utils.js"
let config,
- network,
+ selectedNetwork,
divs = {}
function getConfig() {
@@ -19,7 +19,7 @@ function getConfig() {
await getConfig()
browser.storage.local.get("network", r => {
- network = r.network
+ selectedNetwork = r.network
})
function changeFrontendsSettings(service) {
@@ -54,6 +54,7 @@ function changeNetworkSettings(selectedNetwork) {
}
}
+changeNetworkSettings(selectedNetwork)
for (const service in config.services) {
divs[service] = {}
divs[service][service] = document.getElementById(`${service}_page`)
@@ -73,7 +74,6 @@ for (const service in config.services) {
}
changeFrontendsSettings(service)
- changeNetworkSettings(network)
for (const frontend in config.services[service].frontends) {
if (config.services[service].frontends[frontend].instanceList) {