diff options
| author | Hygna <hygna@proton.me> | 2022-09-10 20:48:57 +0100 |
|---|---|---|
| committer | Hygna <hygna@proton.me> | 2022-09-10 20:48:57 +0100 |
| commit | 25de09a9359eda0c038640b2a792cd3c753f5511 (patch) | |
| tree | f5740022220596687b39ccc6eeda63eadc91ffb5 /src/assets | |
| parent | Make config.json fetching work (diff) | |
| download | libredirect-25de09a9359eda0c038640b2a792cd3c753f5511.zip | |
Further progress
Diffstat (limited to 'src/assets')
| -rw-r--r-- | src/assets/javascripts/general.js | 4 | ||||
| -rw-r--r-- | src/assets/javascripts/services.js | 31 |
2 files changed, 24 insertions, 11 deletions
diff --git a/src/assets/javascripts/general.js b/src/assets/javascripts/general.js index a8360bd5..072ff3c1 100644 --- a/src/assets/javascripts/general.js +++ b/src/assets/javascripts/general.js @@ -30,8 +30,8 @@ async function initDefaults() { popupFrontends: ["youtube", "twitter", "instagram", "tiktok", "imgur", "reddit", "quora", "translate", "maps"], autoRedirect: false, firstPartyIsolate: false, - protocol: "normal", - protocolFallback: true, + network: "clearnet", + networkFallback: true, latencyThreshold: 1000, }, () => resolve() diff --git a/src/assets/javascripts/services.js b/src/assets/javascripts/services.js index 1781c4e6..7dc93470 100644 --- a/src/assets/javascripts/services.js +++ b/src/assets/javascripts/services.js @@ -35,11 +35,14 @@ function init() { options[service].disabled = r["disable" + camelCase(service)]
options[service].redirects = r[service + "Redirects"]
options[service].frontend = r[service + "Frontend"]
+ // console.log(r)
})
for (const frontend in config.services[service].frontends) {
redirects[frontend] = {}
for (const network in config.networks) {
browser.storage.local.get([`${frontend}${camelCase(network)}RedirectsChecks`, `${frontend}${camelCase(network)}CustomRedirects`], r => {
+ console.log(r)
+ // console.log(`${frontend}${camelCase(network)}RedirectsChecks`)
redirects[frontend][network] = [...r[frontend + camelCase(network) + "RedirectsChecks"], ...r[frontend + camelCase(network) + "CustomRedirects"]]
})
}
@@ -49,9 +52,15 @@ function init() { })
}
+function all(service) {
+ let tmp = []
+ for (frontend in config.services[service].frontends) {
+ for (network in config.networks) tmp.push([...redirects[frontend][network]])
+ }
+}
+
await getConfig()
-console.log(config)
-init()
+await init()
browser.storage.onChanged.addListener(init)
function redirect(url, type, initiator) {
@@ -64,7 +73,7 @@ function redirect(url, type, initiator) { browser.storage.local.get(`${service}Targets`, (targets = r[service + "Targets"]))
}
- if (initiator && (all().includes(initiator.origin) || targets.includes(initiator.host))) continue
+ if (initiator && (all(service).includes(initiator.origin) || targets.includes(initiator.host))) continue
if (!targets.some(rx => rx.test(url.href))) continue
if (type != redirectType && type != "both") continue
browser.storage.local.get(`${service}Frontend`, (frontend = r[service + "Frontend"]))
@@ -363,20 +372,24 @@ function redirect(url, type, initiator) { }
function initDefaults() {
- return new Promise(resolve => {
+ return new Promise(async resolve => {
fetch("/instances/data.json")
.then(response => response.text())
- .then(data => {
+ .then(async data => {
let dataJson = JSON.parse(data)
redirects = dataJson
+ console.log(redirects)
+ console.log(config)
browser.storage.local.get(["cloudflareBlackList", "authenticateBlackList", "offlineBlackList"], async r => {
for (const service in config.services) {
for (const defaultOption in service.defaults) {
- browser.storage.local.set({
- [defaultOption]: service.defaults[defaultOption],
- })
+ browser.storage.local.set({ [defaultOption]: service.defaults[defaultOption] })
}
- for (const frontend in service.frontends) {
+ for (const frontend in config.services[service].frontends) {
+ if ((config.services[service].targets = "datajson")) {
+ browser.storage.local.set({ [service + "Targets"]: redirects[service] })
+ continue
+ }
for (const instance of [...r.cloudflareBlackList, ...r.authenticateBlackList, ...r.offlineBlackList]) {
let i = redirects[frontend]["clearnet"].indexOf(instance)
if (i > -1) redirects[frontend]["clearnet"].splice(i, 1)
|
