diff options
| author | Hygna <hygna@proton.me> | 2022-09-12 18:17:25 +0100 |
|---|---|---|
| committer | Hygna <hygna@proton.me> | 2022-09-12 18:17:25 +0100 |
| commit | d6cad17a15e76635d3e51e03b52414e66ef83ac3 (patch) | |
| tree | d3333f9867e99eea30cc5b67381b07114117de4a /src/assets | |
| parent | Embrace object usage for user-set options (diff) | |
| download | libredirect-d6cad17a15e76635d3e51e03b52414e66ef83ac3.zip | |
Begin work with ejs, created widgets/services.js
Diffstat (limited to 'src/assets')
| -rw-r--r-- | src/assets/javascripts/services.js | 29 | ||||
| -rw-r--r-- | src/assets/javascripts/utils.js | 16 |
2 files changed, 21 insertions, 24 deletions
diff --git a/src/assets/javascripts/services.js b/src/assets/javascripts/services.js index 4dba8a7b..b7ee2205 100644 --- a/src/assets/javascripts/services.js +++ b/src/assets/javascripts/services.js @@ -17,10 +17,6 @@ async function getConfig() { })
}
-function camelCase(str) {
- return str.charAt(0).toUpperCase() + str.slice(1)
-}
-
function init() {
return new Promise(async resolve => {
browser.storage.local.get(["network", "networkFallback"], r => {
@@ -31,8 +27,8 @@ function init() { //cur = current
for (const service in config.services) {
options[service] = {}
- browser.storage.local.get([`disable${camelCase(service)}`, `${service}RedirectType`, `${service}Frontend`], r => {
- options[service].disabled = r["disable" + camelCase(service)]
+ browser.storage.local.get([`disable${utils.camelCase(service)}`, `${service}RedirectType`, `${service}Frontend`], r => {
+ options[service].disabled = r["disable" + utils.camelCase(service)]
options[service].frontend = r[service + "Frontend"]
options[service].redirectType = r[service + "RedirectType"]
// console.log(r)
@@ -42,11 +38,11 @@ function init() { options[frontend].checks = []
options[frontend].custom = []
for (const network in config.networks) {
- browser.storage.local.get([`${frontend}${camelCase(network)}RedirectsChecks`, `${frontend}${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}${camelCase(network)}RedirectsChecks`)
- options[frontend].checks = r[frontend + camelCase(network) + "RedirectsChecks"]
- options[frontend].custom = r[frontend + camelCase(network) + "CustomRedirects"]
+ // 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"]
})
}
}
@@ -72,6 +68,7 @@ function redirect(url, type, initiator) { let frontend = options[service].frontend
let network = options.network
let networkFallback = options.networkFallback
+ let redirectType = options[service].redirectType
if (url.pathname == "/") return
for (const service in config.services) {
if (options[service].disabled && !disableOverride) continue
@@ -82,9 +79,9 @@ function redirect(url, type, initiator) { if (initiator && (all(service).includes(initiator.origin) || targets.includes(initiator.host))) continue
if (!targets.some(rx => rx.test(url.href))) continue
- if (type != options[service].redirectType && type != "both") continue
+ if (type != redirectType && type != "both") continue
// browser.storage.local.get(`${service}Frontend`, (frontend = r[service + "Frontend"]))
- let instanceList = [...[service + camelCase(network) + "RedirectsChecks"], ...[service + camelCase(network) + "CustomRedirects"]]
+ let instanceList = [...[service + utils.camelCase(network) + "RedirectsChecks"], ...[service + utils.camelCase(network) + "CustomRedirects"]]
if (instanceList.length === 0 && networkFallback) instanceList = [...[service + "ClearnetRedirectsChecks"], ...[service + "ClearnetCustomRedirects"]]
if (instanceList.length === 0 && redirects.indexOf(frontend) != -1) return
randomInstance = utils.getRandomInstance(instanceList)
@@ -400,13 +397,13 @@ function initDefaults() { browser.storage.local.set({ [defaultOption]: config.services[service].defaults[defaultOption] })
}
for (const frontend in config.services[service].frontends) {
- let clearnetChecks = redirects[frontend][clearnet]
+ 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])
+ // console.log(redirects[frontend][network])
switch (network) {
case "clearnet":
browser.storage.local.set({
@@ -416,8 +413,8 @@ function initDefaults() { break
default:
browser.storage.local.set({
- [frontend + camelCase(network) + "RedirectsChecks"]: [...redirects[frontend][network]],
- [frontend + camelCase(network) + "CustomRedirects"]: [],
+ [frontend + utils.camelCase(network) + "RedirectsChecks"]: [...redirects[frontend][network]],
+ [frontend + utils.camelCase(network) + "CustomRedirects"]: [],
})
}
}
diff --git a/src/assets/javascripts/utils.js b/src/assets/javascripts/utils.js index 50ada765..9c5947a7 100644 --- a/src/assets/javascripts/utils.js +++ b/src/assets/javascripts/utils.js @@ -123,17 +123,16 @@ async function processDefaultCustomInstances(target, name, protocol, document) { let redirectsChecks = `${name}${camelCase(protocol)}RedirectsChecks` let customRedirects = `${name}${camelCase(protocol)}CustomRedirects` - let redirectsKey = `${target}Redirects` let redirects async function getFromStorage() { return new Promise(async resolve => - browser.storage.local.get([redirectsChecks, customRedirects, redirectsKey, latencyKey], r => { + browser.storage.local.get([redirectsChecks, customRedirects, "redirects", latencyKey], r => { nameDefaultRedirects = r[redirectsChecks] nameCustomInstances = r[customRedirects] instancesLatency = r[latencyKey] ?? [] - redirects = r[redirectsKey] + redirects = r.redirects resolve() }) ) @@ -298,9 +297,9 @@ async function testLatency(element, instances, frontend) { let myList = {} let latencyThreshold let redirectsChecks = [] - browser.storage.local.get(["latencyThreshold", `${frontend}NormalRedirectsChecks`], r => { + browser.storage.local.get(["latencyThreshold", `${frontend}ClearnetRedirectsChecks`], r => { latencyThreshold = r.latencyThreshold - redirectsChecks = r[`${frontend}NormalRedirectsChecks`] + redirectsChecks = r[`${frontend}ClearnetRedirectsChecks`] }) for (const href of instances) await ping(href).then(time => { @@ -315,7 +314,7 @@ async function testLatency(element, instances, frontend) { redirectsChecks.splice(redirectsChecks.indexOf(href), 1) } - browser.storage.local.set({ [`${frontend}NormalRedirectsChecks`]: redirectsChecks }) + browser.storage.local.set({ [`${frontend}ClearnetRedirectsChecks`]: redirectsChecks }) let text if (time == 5000) text = "5000ms+" @@ -516,10 +515,10 @@ function latency(name, frontend, document, location) { let redirects = r[key] const oldHtml = latencyLabel.innerHTML latencyLabel.innerHTML = "..." - testLatency(latencyLabel, redirects[frontend].normal, frontend).then(r => { + testLatency(latencyLabel, redirects[frontend].clearnet, frontend).then(r => { browser.storage.local.set({ [`${frontend}Latency`]: r }) latencyLabel.innerHTML = oldHtml - processDefaultCustomInstances(name, frontend, "normal", document) + processDefaultCustomInstances(name, frontend, "clearnet", document) latencyElement.removeEventListener("click", reloadWindow) }) }) @@ -537,4 +536,5 @@ export default { switchInstance, copyRaw, unify, + camelCase, } |
