aboutsummaryrefslogtreecommitdiffstats
path: root/src/assets/javascripts
diff options
context:
space:
mode:
authorManeraKai <manerakai@protonmail.com>2022-02-27 23:34:40 +0300
committerManeraKai <manerakai@protonmail.com>2022-02-27 23:34:40 +0300
commit92d8d683c84c91e777d45ae6b22ec6a3db1401f7 (patch)
treef9236b380dd51a87405676e70b1a13dde8d681b4 /src/assets/javascripts
parentRefined design. Bump version to 1.4.4 (diff)
downloadlibredirect-92d8d683c84c91e777d45ae6b22ec6a3db1401f7.zip
Fixed settings for youtube #69
Diffstat (limited to 'src/assets/javascripts')
-rw-r--r--src/assets/javascripts/helpers/twitter.js15
-rw-r--r--src/assets/javascripts/remove-twitter-sw.js73
2 files changed, 7 insertions, 81 deletions
diff --git a/src/assets/javascripts/helpers/twitter.js b/src/assets/javascripts/helpers/twitter.js
index 4465aba4..73d5ee20 100644
--- a/src/assets/javascripts/helpers/twitter.js
+++ b/src/assets/javascripts/helpers/twitter.js
@@ -3,12 +3,12 @@ window.browser = window.browser || window.chrome;
import commonHelper from './common.js'
const targets = [
- "twitter.com",
- "www.twitter.com",
- "mobile.twitter.com",
- "pbs.twimg.com",
- "video.twimg.com",
- "platform.twitter.com"
+ /https?:\/\/twitter\.com/,
+ /https?:\/\/www\.twitter\.com/,
+ /https?:\/\/mobile\.twitter\.com/,
+ /https?:\/\/pbs\.twimg\.com/,
+ /https?:\/\/video\.twimg\.com/,
+ /https?:\/\/platform\.twitter\.com\/embed/
];
let redirects = {
@@ -79,7 +79,6 @@ function setNitterTorCustomRedirects(val) {
console.log("nitterTorCustomRedirects: ", val)
}
-
let disable;
const getDisable = () => disable;
function setDisable(val) {
@@ -109,7 +108,7 @@ function isTwitter(url, initiator) {
].includes(initiator.origin) || targets.includes(initiator.host))
) return false;
- return targets.includes(url.host)
+ return targets.some((rx) => rx.test(url.href));
}
function redirect(url) {
diff --git a/src/assets/javascripts/remove-twitter-sw.js b/src/assets/javascripts/remove-twitter-sw.js
deleted file mode 100644
index 2a4bb46a..00000000
--- a/src/assets/javascripts/remove-twitter-sw.js
+++ /dev/null
@@ -1,73 +0,0 @@
-"use strict";
-
-let disableTwitter;
-let nitterInstance;
-let redirectBypassFlag;
-let exceptions;
-
-window.browser = window.browser || window.chrome;
-
-Promise.all([
- import(browser.runtime.getURL("src/assets/javascripts/helpers/common.js")),
- import(browser.runtime.getURL("src/assets/javascripts/helpers/twitter.js")),
-]).then(
- (helpers) => {
- let commonHelper;
- let twitterHelper;
- [commonHelper, twitterHelper] = helpers;
-
- function shouldRedirect(url) {
- return (
- !redirectBypassFlag &&
- !disableTwitter &&
- url.host !== nitterInstance &&
- !url.pathname.includes("/home")
- );
- }
-
- function redirectTwitter(url) {
- if (url.host.split(".")[0] === "pbs")
- return `${nitterInstance}/pic/${encodeURIComponent(url.href)}`;
- else if (url.host.split(".")[0] === "video")
- return `${nitterInstance}/gif/${encodeURIComponent(url.href)}`;
- else
- return `${nitterInstance}${url.pathname}${url.search}`;
- }
-
- browser.storage.local.get(
- [
- "nitterInstance",
- "disableTwitter",
- "removeTwitterSW",
- "redirectBypassFlag",
- "exceptions",
- ],
- (result) => {
- redirectBypassFlag = result.redirectBypassFlag;
- browser.storage.local.set({ redirectBypassFlag: false });
- if (!result.removeTwitterSW) {
- disableTwitter = result.disableTwitter;
- nitterInstance = result.nitterInstance ?? commonHelper.default.getRandomInstance(twitterHelper.default.redirects);
- exceptions = result.exceptions ? result.exceptions.map((e) => new RegExp(e)) : [];
- navigator.serviceWorker.getRegistrations().then((registrations) => {
- for (let registration of registrations) {
- if (registration.scope === "https://twitter.com/") {
- registration.unregister();
- console.log("Unregistered Twitter SW", registration);
- }
- }
- });
- const url = new URL(window.location);
- if (shouldRedirect(url)) {
- const redirect = redirectTwitter(url);
- console.info("Redirecting", `"${url.href}"`, "=>", `"${redirect}"`);
- window.location = redirect;
- }
- }
- }
- );
- },
- (error) => {
- console.error(error);
- }
-);