aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/assets/javascripts/helpers/twitter.js16
-rw-r--r--src/pages/background/background.js10
2 files changed, 26 insertions, 0 deletions
diff --git a/src/assets/javascripts/helpers/twitter.js b/src/assets/javascripts/helpers/twitter.js
index 3ad01b7f..bacbdcfc 100644
--- a/src/assets/javascripts/helpers/twitter.js
+++ b/src/assets/javascripts/helpers/twitter.js
@@ -184,6 +184,20 @@ function switchInstance(url) {
return `${randomInstance}${url.pathname}${url.search}`;
}
+function removeXFrameOptions(e) {
+ let url = new URL(e.url);
+ let protocolHost = `${url.protocol}//${url.host}`;
+ let twitterList = [
+ ...redirects.nitter.normal,
+ ...redirects.nitter.tor,
+ ...nitterNormalCustomRedirects,
+ ...nitterTorCustomRedirects,
+ ];
+ if (!twitterList.includes(protocolHost) && e.type != 'sub_frame') return;
+ for (const i in e.responseHeaders) if (e.responseHeaders[i].name = 'x-frame-options') e.responseHeaders.splice(i, 1);
+ return { responseHeaders: e.responseHeaders };
+}
+
function isNitter(url, type) {
let protocolHost = `${url.protocol}//${url.host}`;
@@ -299,6 +313,8 @@ export default {
getBypassWatchOnTwitter,
setBypassWatchOnTwitter,
+ removeXFrameOptions,
+
getProtocol,
setProtocol,
diff --git a/src/pages/background/background.js b/src/pages/background/background.js
index 9b32bbdf..0d92e934 100644
--- a/src/pages/background/background.js
+++ b/src/pages/background/background.js
@@ -131,6 +131,16 @@ browser.tabs.onRemoved.addListener(
}
);
+
+// Set "blocking" and "responseHeaders".
+browser.webRequest.onHeadersReceived.addListener(
+ e => {
+ return twitterHelper.removeXFrameOptions(e);
+ },
+ { urls: ["<all_urls>"], },
+ ["blocking", "responseHeaders"]
+);
+
function redirectOfflineInstance(url, tabId) {
let newUrl;