Fixed settings for youtube #69

This commit is contained in:
ManeraKai 2022-02-27 23:34:40 +03:00
parent a6fb964e99
commit 92d8d683c8
No known key found for this signature in database
GPG Key ID: 5ABC31FFD562E337
10 changed files with 20 additions and 94 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 530 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 971 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

@ -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) {

View File

@ -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);
}
);

View File

@ -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": {

View File

@ -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();

View File

@ -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>

View File

@ -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)
};
});