about summary refs log tree commit diff stats
path: root/src/assets
diff options
context:
space:
mode:
authorManeraKai <manerakai@protonmail.com>2022-05-19 03:46:38 +0300
committerManeraKai <manerakai@protonmail.com>2022-05-19 03:46:42 +0300
commitd88a4afd6b0b5738a7feea12020c812c147f305a (patch)
tree6b96299b6edcfa672c7850eeae648b18dd479e04 /src/assets
parentCleaned privacy policy. Added warning for 404, etc... instances for latency t... (diff)
downloadlibredirect-d88a4afd6b0b5738a7feea12020c812c147f305a.zip
Added removeXFrameOptions to Piped, Invidious #263
Diffstat (limited to 'src/assets')
-rw-r--r--src/assets/javascripts/helpers/youtube/youtube.js26
1 files changed, 25 insertions, 1 deletions
diff --git a/src/assets/javascripts/helpers/youtube/youtube.js b/src/assets/javascripts/helpers/youtube/youtube.js
index cf6f9074..96f9959b 100644
--- a/src/assets/javascripts/helpers/youtube/youtube.js
+++ b/src/assets/javascripts/helpers/youtube/youtube.js
@@ -433,6 +433,29 @@ async function initInvidiousCookies(from) {
   )
 }
 
+function removeXFrameOptions(e) {
+  const url = new URL(e.url);
+  let protocolHost = commonHelper.protocolHost(url);
+  const list = [
+    ...redirects.invidious.normal,
+    ...invidiousNormalCustomRedirects,
+    ...redirects.invidious.tor,
+    ...invidiousTorCustomRedirects,
+
+    ...redirects.piped.normal,
+    ...redirects.piped.tor,
+    ...pipedNormalCustomRedirects,
+    ...pipedTorCustomRedirects
+  ];
+  if (!list.includes(protocolHost) || e.type != 'sub_frame') return;
+  let isChanged = false;
+  for (const i in e.responseHeaders) if (e.responseHeaders[i].name == 'x-frame-options') {
+    e.responseHeaders.splice(i, 1);
+    isChanged = true;
+  }
+  if (isChanged) return { responseHeaders: e.responseHeaders };
+}
+
 let
   initPipedLocalStorage = piped.initPipedLocalStorage,
   initPipedMaterialLocalStorage = pipedMaterial.initPipedMaterialLocalStorage,
@@ -454,6 +477,7 @@ export default {
   copyPipedLocalStorage,
 
   initDefaults,
-
   init,
+
+  removeXFrameOptions,
 };