aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--.prettierignore9
-rw-r--r--package.json13
-rw-r--r--src/assets/javascripts/services.js14
-rw-r--r--src/config/config.json1
-rw-r--r--src/pages/background/background.js1
-rw-r--r--src/pages/options/widgets/services.js34
6 files changed, 31 insertions, 41 deletions
diff --git a/.prettierignore b/.prettierignore
deleted file mode 100644
index d789b742..00000000
--- a/.prettierignore
+++ /dev/null
@@ -1,9 +0,0 @@
-web-ext-artifacts/
-.DS_Store
-nod
-node_modules
-package-lock.json
-src/instances/data.json
-src/instances/blacklist.json
-src/_locales/
-.vscode
diff --git a/package.json b/package.json
index 98351dad..ade219b1 100644
--- a/package.json
+++ b/package.json
@@ -10,7 +10,7 @@
"build": "web-ext build",
"test": "web-ext lint",
"instances": "python3 src/instances/get_instances.py && git update-index --assume-unchanged src/instances/blacklist.json src/instances/data.json",
- "ejs": "ejs src/pages/options/index.ejs -f src/config/config.json -o src/pages/options/index.html && ejs src/pages/popup/popup.ejs -f src/config/config.json -o src/pages/popup/popup.html && prettier -w src/pages/options/index.html src/pages/popup/popup.html"
+ "ejs": "ejs src/pages/options/index.ejs -f src/config/config.json -o src/pages/options/index.html && ejs src/pages/popup/popup.ejs -f src/config/config.json -o src/pages/popup/popup.html"
},
"repository": {
"type": "git",
@@ -24,19 +24,8 @@
"homepage": "https://libredirect.codeberg.page",
"devDependencies": {
"ejs": "^3.1.8",
- "prettier": "^2.7.1",
"web-ext": "^7.2.0"
},
- "prettier": {
- "semi": false,
- "tabWidth": 2,
- "useTabs": true,
- "arrowParens": "avoid",
- "printWidth": 200,
- "bracketSameLine": true,
- "endOfLine": "lf",
- "singleQuote": false
- },
"webExt": {
"ignoreFiles": [
"instances/get_instances.py",
diff --git a/src/assets/javascripts/services.js b/src/assets/javascripts/services.js
index bcf35822..9d80e17a 100644
--- a/src/assets/javascripts/services.js
+++ b/src/assets/javascripts/services.js
@@ -59,15 +59,17 @@ function regexArray(service, url, config) {
}
function redirect(url, type, initiator, forceRedirection) {
- if (type != "main_frame" && type != "sub_frame") return
+ if (type != "main_frame" && type != "sub_frame" && type != "image") return
let randomInstance
let frontend
for (const service in config.services) {
+
if (!forceRedirection && !options[service].enabled) continue
+
if (config.services[service].embeddable && type != options[service].redirectType && options[service].redirectType != "both") continue
if (!config.services[service].embeddable && type != "main_frame") continue
- // let targets = new RegExp(config.services[service].targets.join("|"), "i")
+ // let targets = new RegExp(config.services[service].targets.join("|"), "i")
if (!regexArray(service, url, config)) continue
// if (initiator) {
// console.log(initiator.host)
@@ -75,11 +77,17 @@ function redirect(url, type, initiator, forceRedirection) {
// //if (all(service, null, options, config, redirects).includes(initiator.origin) && reverse(initiator) == url) return "BYPASSTAB"
// }
+
if (Object.keys(config.services[service].frontends).length > 1) {
- if (type == "sub_frame" && config.services[service].embeddable && !config.services[service].frontends[options[service].frontend].embeddable) frontend = options[service].embedFrontend
+ if (
+ type == "sub_frame" && config.services[service].embeddable
+ &&
+ !config.services[service].frontends[options[service].frontend].embeddable
+ ) frontend = options[service].embedFrontend
else frontend = options[service].frontend
} else frontend = Object.keys(config.services[service].frontends)[0]
+
if (config.services[service].frontends[frontend].instanceList) {
let instanceList = [...options[frontend][options.network].enabled, ...options[frontend][options.network].custom]
if (instanceList.length === 0 && options.networkFallback) instanceList = [...options[frontend].clearnet.enabled, ...options[frontend].clearnet.custom]
diff --git a/src/config/config.json b/src/config/config.json
index 7b81d9f2..8b99423a 100644
--- a/src/config/config.json
+++ b/src/config/config.json
@@ -309,7 +309,6 @@
"frontends": {
"rimgo": {
"name": "rimgo",
- "embeddable": true,
"instanceList": true
}
},
diff --git a/src/pages/background/background.js b/src/pages/background/background.js
index 71fff06c..3a695048 100644
--- a/src/pages/background/background.js
+++ b/src/pages/background/background.js
@@ -56,7 +56,6 @@ browser.webRequest.onBeforeRequest.addListener(
} catch {
return null
}
-
if (tabIdRedirects[details.tabId] == false) return null
let newUrl = servicesHelper.redirect(url, details.type, initiator, tabIdRedirects[details.tabId])
diff --git a/src/pages/options/widgets/services.js b/src/pages/options/widgets/services.js
index 37385faa..12904130 100644
--- a/src/pages/options/widgets/services.js
+++ b/src/pages/options/widgets/services.js
@@ -31,28 +31,32 @@ function changeFrontendsSettings(service) {
for (const frontend in config.services[service].frontends) {
if (config.services[service].frontends[frontend].instanceList) {
const frontendDiv = document.getElementById(frontend)
- if (frontend == divs[service].frontend.value) {
- frontendDiv.style.display = "block"
- } else {
- frontendDiv.style.display = "none"
+ if (typeof divs[service].frontend !== "undefined") {
+ if (frontend == divs[service].frontend.value) {
+ frontendDiv.style.display = "block"
+ } else {
+ frontendDiv.style.display = "none"
+ }
}
}
}
if (config.services[service].embeddable) {
- if (!config.services[service].frontends[divs[service].frontend.value].embeddable) {
- divs[service].embedFrontend.disabled = false
- for (const frontend in config.services[service].frontends) {
- if (config.services[service].frontends[frontend].embeddable) {
- const frontendDiv = document.getElementById(frontend)
- if (frontend == divs[service].embedFrontend.value) {
- frontendDiv.style.display = "block"
- } else {
- frontendDiv.style.display = "none"
+ if (typeof divs[service].frontend !== "undefined") {
+ if (!config.services[service].frontends[divs[service].frontend.value].embeddable) {
+ divs[service].embedFrontend.disabled = false
+ for (const frontend in config.services[service].frontends) {
+ if (config.services[service].frontends[frontend].embeddable) {
+ const frontendDiv = document.getElementById(frontend)
+ if (frontend == divs[service].embedFrontend.value) {
+ frontendDiv.style.display = "block"
+ } else {
+ frontendDiv.style.display = "none"
+ }
}
}
- }
- } else if (Object.keys(config.services[service].frontends).length > 1) divs[service].embedFrontend.disabled = true
+ } else if (Object.keys(config.services[service].frontends).length > 1) divs[service].embedFrontend.disabled = true
+ }
}
}