From 72ee64fdb982b30acdbeba0d4e8dad8f7749b5fd Mon Sep 17 00:00:00 2001 From: ManeraKai Date: Sat, 12 Nov 2022 11:54:34 +0300 Subject: Fixed not redirecting https://github.com/libredirect/libredirect/issues/525 --- src/assets/javascripts/services.js | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) (limited to 'src/assets/javascripts') 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] -- cgit 1.4.1