Fixed settings for youtube #69
This commit is contained in:
parent
a6fb964e99
commit
92d8d683c8
BIN
src/assets/images/libredirect-128.png
Normal file
BIN
src/assets/images/libredirect-128.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 3.5 KiB |
BIN
src/assets/images/libredirect-16.png
Normal file
BIN
src/assets/images/libredirect-16.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 530 B |
BIN
src/assets/images/libredirect-32.png
Normal file
BIN
src/assets/images/libredirect-32.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 971 B |
BIN
src/assets/images/libredirect-48.png
Normal file
BIN
src/assets/images/libredirect-48.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.4 KiB |
@ -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) {
|
||||
|
@ -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);
|
||||
}
|
||||
);
|
@ -9,10 +9,10 @@
|
||||
},
|
||||
"default_locale": "en",
|
||||
"icons": {
|
||||
"16": "assets/images/libredirect.png",
|
||||
"32": "assets/images/libredirect.png",
|
||||
"48": "assets/images/libredirect.png",
|
||||
"128": "assets/images/libredirect.png"
|
||||
"16": "assets/images/libredirect-16.png",
|
||||
"32": "assets/images/libredirect-32.png",
|
||||
"48": "assets/images/libredirect-48.png",
|
||||
"128": "assets/images/libredirect-128.png"
|
||||
},
|
||||
"permissions": [
|
||||
"storage",
|
||||
@ -25,10 +25,10 @@
|
||||
"browser_style": false,
|
||||
"default_popup": "pages/popup/popup.html",
|
||||
"default_icon": {
|
||||
"16": "assets/images/libredirect.png",
|
||||
"32": "assets/images/libredirect.png",
|
||||
"48": "assets/images/libredirect.png",
|
||||
"128": "assets/images/libredirect.png"
|
||||
"16": "assets/images/libredirect-16.png",
|
||||
"32": "assets/images/libredirect-32.png",
|
||||
"48": "assets/images/libredirect-48.png",
|
||||
"128": "assets/images/libredirect-128.png"
|
||||
}
|
||||
},
|
||||
"options_ui": {
|
||||
|
@ -29,7 +29,8 @@ persistInvidiousPrefsElement.addEventListener("change",
|
||||
|
||||
youtubeHelper.init().then(() => {
|
||||
invidiousPlayerStyleElement.value = youtubeHelper.getInvidiousPlayerStyle();
|
||||
invidiousAlwaysProxyElement.checked = youtubeHelper.getInvidiousAlwaysProxy();
|
||||
invidiousAlwaysProxyElement.value = youtubeHelper.getInvidiousAlwaysProxy();
|
||||
console.log("youtubeHelper.getInvidiousAlwaysProxy()", youtubeHelper.getInvidiousAlwaysProxy())
|
||||
invidiousVideoQualityElement.value = youtubeHelper.getInvidiousVideoQuality();
|
||||
invidiousSubtitlesElement.value = youtubeHelper.getInvidiousSubtitles();
|
||||
persistInvidiousPrefsElement.checked = youtubeHelper.getPersistInvidiousPrefs();
|
||||
|
@ -192,7 +192,7 @@
|
||||
<select id="invidious-always-proxy">
|
||||
<option value="DEFAULT">Default</option>
|
||||
<option value="true">True</option>
|
||||
<option value="true">False</option>
|
||||
<option value="false">False</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
|
@ -144,13 +144,13 @@ function changeProtocolSettings(protocol) {
|
||||
|
||||
youtubeHelper.init().then(() => {
|
||||
disableYoutubeElement.checked = !youtubeHelper.getDisable();
|
||||
themeElement.checked = youtubeHelper.getTheme();
|
||||
themeElement.value = youtubeHelper.getTheme();
|
||||
volumeElement.value = youtubeHelper.getVolume();
|
||||
volumeValueElement.textContent = `${youtubeHelper.getVolume()}%`;
|
||||
OnlyEmbeddedVideoElement.value = youtubeHelper.getOnlyEmbeddedVideo();
|
||||
alwaysUsePreferredElement.checked = youtubeHelper.getAlwaysusePreferred();
|
||||
bypassWatchOnYoutubeElement.checked = youtubeHelper.getBypassWatchOnYoutube();
|
||||
autoplayElement.checked = youtubeHelper.getAutoplay();
|
||||
autoplayElement.value = youtubeHelper.getAutoplay();
|
||||
let frontend = youtubeHelper.getFrontend();
|
||||
youtubeFrontendElement.value = frontend;
|
||||
changeFrontendsSettings(frontend);
|
||||
@ -162,7 +162,6 @@ youtubeHelper.init().then(() => {
|
||||
let youtubeEmbedFrontend = youtubeHelper.getYoutubeEmbedFrontend()
|
||||
youtubeEmbedFrontendElement.value = youtubeEmbedFrontend
|
||||
if (frontend == "freetube" || frontend == "yatte") {
|
||||
console.log("youtubeEmbedFrontend", youtubeEmbedFrontend);
|
||||
changeYoutubeEmbedFrontendsSettings(youtubeEmbedFrontend)
|
||||
};
|
||||
});
|
||||
|
Loading…
x
Reference in New Issue
Block a user