Fixed more bugs

This commit is contained in:
Hygna 2022-09-20 22:24:19 +01:00
parent 098e7368a7
commit 8f05957ffa
3 changed files with 45 additions and 50 deletions

View File

@ -25,14 +25,12 @@ function init() {
options.networkFallback = r.networkFallback options.networkFallback = r.networkFallback
options.redirects = r.redirects options.redirects = r.redirects
}) })
//cur = current
for (const service in config.services) { for (const service in config.services) {
options[service] = {} options[service] = {}
browser.storage.local.get([`${utils.camelCase(service)}Enable`, `${service}RedirectType`, `${service}Frontend`], r => { browser.storage.local.get([`${utils.camelCase(service)}Enable`, `${service}RedirectType`, `${service}Frontend`], r => {
options[service].enabled = r[utils.camelCase(service) + "Enable"] options[service].enabled = r[utils.camelCase(service) + "Enable"]
options[service].frontend = r[service + "Frontend"] options[service].frontend = r[service + "Frontend"]
options[service].redirectType = r[service + "RedirectType"] options[service].redirectType = r[service + "RedirectType"]
// console.log(r)
}) })
for (const frontend in config.services[service].frontends) { for (const frontend in config.services[service].frontends) {
options[frontend] = {} options[frontend] = {}
@ -40,8 +38,6 @@ function init() {
options[frontend].custom = [] options[frontend].custom = []
for (const network in config.networks) { for (const network in config.networks) {
browser.storage.local.get([`${frontend}${utils.camelCase(network)}RedirectsChecks`, `${frontend}${utils.camelCase(network)}CustomRedirects`], r => { 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].checks = r[frontend + utils.camelCase(network) + "RedirectsChecks"]
options[frontend].custom = r[frontend + utils.camelCase(network) + "CustomRedirects"] options[frontend].custom = r[frontend + utils.camelCase(network) + "CustomRedirects"]
}) })
@ -390,46 +386,45 @@ function initDefaults() {
.then(async data => { .then(async data => {
let dataJson = JSON.parse(data) let dataJson = JSON.parse(data)
redirects = dataJson redirects = dataJson
// console.log(redirects)
// console.log(config)
browser.storage.local.set({
redirects: redirects.invidious,
})
browser.storage.local.get(["cloudflareBlackList", "authenticateBlackList", "offlineBlackList"], async r => { browser.storage.local.get(["cloudflareBlackList", "authenticateBlackList", "offlineBlackList"], async r => {
// console.log(r)
for (const service in config.services) { for (const service in config.services) {
if (config.services[service].targets == "datajson") { 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) { for (const defaultOption in config.services[service].options) {
browser.storage.local.set({ [service + camelCase(defaultOption)]: config.services[service].defaults[defaultOption] }) browser.storage.local.set({ [service + utils.camelCase(defaultOption)]: config.services[service].options[defaultOption] })
} }
for (const frontend in config.services[service].frontends) { for (const frontend in config.services[service].frontends) {
let clearnetChecks = redirects[frontend].clearnet if (config.services[service].frontends[frontend].instanceList) {
for (const instance of [...r.cloudflareBlackList, ...r.authenticateBlackList, ...r.offlineBlackList]) { let clearnetChecks = redirects[frontend].clearnet
let i = clearnetChecks.indexOf(instance) for (const instance of [...r.cloudflareBlackList, ...r.authenticateBlackList, ...r.offlineBlackList]) {
if (i > -1) clearnetChecks.splice(i, 1) let i = clearnetChecks.indexOf(instance)
} if (i > -1) clearnetChecks.splice(i, 1)
for (const network in config.networks) { }
// console.log(redirects[frontend][network]) for (const network in config.networks) {
switch (network) { switch (network) {
case "clearnet": case "clearnet":
browser.storage.local.set({ browser.storage.local.set({
[frontend + "ClearnetRedirectsChecks"]: [clearnetChecks], [frontend + "ClearnetRedirectsChecks"]: [...clearnetChecks],
[frontend + "ClearnetCustomRedirects"]: [], [frontend + "ClearnetCustomRedirects"]: [],
}) })
break break
default: default:
browser.storage.local.set({ browser.storage.local.set({
[frontend + utils.camelCase(network) + "RedirectsChecks"]: [...redirects[frontend][network]], [frontend + utils.camelCase(network) + "RedirectsChecks"]: [...redirects[frontend][network]],
[frontend + utils.camelCase(network) + "CustomRedirects"]: [], [frontend + utils.camelCase(network) + "CustomRedirects"]: [],
}) })
}
} }
} }
} }
} }
;() => resolve()
}) })
browser.storage.local.set({
redirects,
})
;() => resolve()
}) })
}) })
} }

View File

@ -22,7 +22,6 @@ with open('./src/config/config.json', 'rt') as tmp:
config['networks'] = json.load(tmp)['config']['networks'] config['networks'] = json.load(tmp)['config']['networks']
def filterLastSlash(urlList): def filterLastSlash(urlList):
tmp = {} tmp = {}
for x in urlList: for x in urlList:
@ -106,7 +105,7 @@ def is_offline(url):
except: except:
return False return False
def fetchCache(frontend, name) : def fetchCache(frontend, name):
# json_object = json.dumps(mightyList, ensure_ascii=False, indent=2) # json_object = json.dumps(mightyList, ensure_ascii=False, indent=2)
with open('./src/instances/data.json') as file: with open('./src/instances/data.json') as file:
mightyList[frontend] = json.load(file)[frontend] mightyList[frontend] = json.load(file)[frontend]
@ -125,7 +124,16 @@ def fetchJsonList(frontend, name, url, urlItem):
_list = {} _list = {}
for network in config['networks']: for network in config['networks']:
_list[network] = [] _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: for item in rJson:
tmpItem = item tmpItem = item
if urlItem is not None: if urlItem is not None:
@ -140,14 +148,6 @@ def fetchJsonList(frontend, name, url, urlItem):
_list['loki'].append(tmpItem) _list['loki'].append(tmpItem)
else: else:
_list['clearnet'].append(tmpItem) _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 mightyList[frontend] = _list
print(Fore.GREEN + 'Fetched ' + Style.RESET_ALL + name) print(Fore.GREEN + 'Fetched ' + Style.RESET_ALL + name)
@ -322,11 +322,11 @@ def libreddit():
def teddit(): 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(): 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(): def scribe():
@ -419,7 +419,7 @@ def librex():
def rimgo(): 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(): def librarian():

View File

@ -1,7 +1,7 @@
import utils from "../../../assets/javascripts/utils.js" import utils from "../../../assets/javascripts/utils.js"
let config, let config,
network, selectedNetwork,
divs = {} divs = {}
function getConfig() { function getConfig() {
@ -19,7 +19,7 @@ function getConfig() {
await getConfig() await getConfig()
browser.storage.local.get("network", r => { browser.storage.local.get("network", r => {
network = r.network selectedNetwork = r.network
}) })
function changeFrontendsSettings(service) { function changeFrontendsSettings(service) {
@ -54,6 +54,7 @@ function changeNetworkSettings(selectedNetwork) {
} }
} }
changeNetworkSettings(selectedNetwork)
for (const service in config.services) { for (const service in config.services) {
divs[service] = {} divs[service] = {}
divs[service][service] = document.getElementById(`${service}_page`) divs[service][service] = document.getElementById(`${service}_page`)
@ -73,7 +74,6 @@ for (const service in config.services) {
} }
changeFrontendsSettings(service) changeFrontendsSettings(service)
changeNetworkSettings(network)
for (const frontend in config.services[service].frontends) { for (const frontend in config.services[service].frontends) {
if (config.services[service].frontends[frontend].instanceList) { if (config.services[service].frontends[frontend].instanceList) {