diff options
Diffstat (limited to '')
| -rw-r--r-- | src/assets/javascripts/services.js | 61 | ||||
| -rw-r--r-- | src/instances/get_instances.py | 28 | ||||
| -rw-r--r-- | src/pages/options/widgets/services.js | 6 |
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) { |
