aboutsummaryrefslogtreecommitdiffstats
path: root/src/assets
diff options
context:
space:
mode:
authorManeraKai <manerakai@protonmail.com>2022-11-12 11:54:34 +0300
committerManeraKai <manerakai@protonmail.com>2022-11-12 11:54:34 +0300
commit72ee64fdb982b30acdbeba0d4e8dad8f7749b5fd (patch)
tree07b82384c25e67072e65d6e00e3e576caeff7edf /src/assets
parentfixed medium archive links redirecting https://github.com/libredirect/libredi... (diff)
downloadlibredirect-72ee64fdb982b30acdbeba0d4e8dad8f7749b5fd.zip
Fixed <img> not redirecting https://github.com/libredirect/libredirect/issues/525
Diffstat (limited to 'src/assets')
-rw-r--r--src/assets/javascripts/services.js14
1 files changed, 11 insertions, 3 deletions
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]