about summary refs log tree commit diff stats
path: root/src/assets/javascripts
diff options
context:
space:
mode:
authorHygna <hygna@proton.me>2022-09-12 18:17:25 +0100
committerHygna <hygna@proton.me>2022-09-12 18:17:25 +0100
commitd6cad17a15e76635d3e51e03b52414e66ef83ac3 (patch)
treed3333f9867e99eea30cc5b67381b07114117de4a /src/assets/javascripts
parentEmbrace object usage for user-set options (diff)
downloadlibredirect-d6cad17a15e76635d3e51e03b52414e66ef83ac3.zip
Begin work with ejs, created widgets/services.js
Diffstat (limited to 'src/assets/javascripts')
-rw-r--r--src/assets/javascripts/services.js29
-rw-r--r--src/assets/javascripts/utils.js16
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,
 }