aboutsummaryrefslogtreecommitdiffstats
path: root/src/assets
diff options
context:
space:
mode:
authorManeraKai <manerakai@protonmail.com>2023-04-19 21:35:21 +0300
committerManeraKai <manerakai@protonmail.com>2023-04-19 21:35:21 +0300
commitd7848d6730e57c813eaf8546d73e9172ef301592 (patch)
tree105cc2745d2ccac8015bd61e71f1a39b8c136190 /src/assets
parentFixed typo in mikuInvidious Redirect https://github.com/libredirect/libredire... (diff)
downloadlibredirect-d7848d6730e57c813eaf8546d73e9172ef301592.zip
Added option for localhost frontends
Diffstat (limited to 'src/assets')
-rw-r--r--src/assets/javascripts/services.js42
1 files changed, 4 insertions, 38 deletions
diff --git a/src/assets/javascripts/services.js b/src/assets/javascripts/services.js
index 173bec58..12a08d32 100644
--- a/src/assets/javascripts/services.js
+++ b/src/assets/javascripts/services.js
@@ -83,6 +83,10 @@ function redirect(url, type, initiator, forceRedirection) {
) return "BYPASSTAB"
randomInstance = utils.getRandomInstance(instanceList)
+ console.log(options[service].localhost)
+ if (config.services[service].frontends[frontend].localhost && options[service].instance == "localhost") {
+ randomInstance = `http://${frontend}.localhost:8080`
+ }
break
}
@@ -795,43 +799,6 @@ function processUpdate() {
})
}
-// For websites that have a strict policy that would not normally allow these frontends to be embedded within the website.
-function modifyContentSecurityPolicy(details) {
- let isChanged = false
- if (details.type != "main_frame") return
-
- for (const header in details.responseHeaders) {
- if (details.responseHeaders[header].name == "content-security-policy") {
- let instancesList = []
- for (const service in config.services) {
- if (config.services[service].embeddable) {
- for (const frontend in config.services[service].frontends) {
- if (config.services[service].frontends[frontend].embeddable) {
- for (const network in config.networks) {
- instancesList.push(...options[frontend])
- }
- }
- }
- }
- }
- let securityPolicyList = details.responseHeaders[header].value.split(";")
- for (const i in securityPolicyList) securityPolicyList[i] = securityPolicyList[i].trim()
- let newSecurity = ""
- for (const item of securityPolicyList) {
- if (item.trim() == "") continue
- let regex = item.match(/([a-z-]{0,}) (.*)/)
- if (regex == null) continue
- let [, key, vals] = regex
- if (key == "frame-src") vals = vals + " " + instancesList.join(" ")
- newSecurity += key + " " + vals + "; "
- }
- details.responseHeaders[header].value = newSecurity
- isChanged = true
- }
- }
- if (isChanged) return { details }
-}
-
async function copyRaw(url, test) {
const newUrl = await reverse(url)
if (newUrl) {
@@ -860,7 +827,6 @@ export default {
initDefaults,
upgradeOptions,
processUpdate,
- modifyContentSecurityPolicy,
copyRaw,
switchInstance
}