aboutsummaryrefslogtreecommitdiffstats
path: root/src/assets
diff options
context:
space:
mode:
Diffstat (limited to 'src/assets')
-rw-r--r--src/assets/javascripts/helpers/common.js26
-rw-r--r--src/assets/javascripts/helpers/imgur.js2
-rw-r--r--src/assets/javascripts/helpers/reddit.js2
-rw-r--r--src/assets/javascripts/helpers/search.js2
-rw-r--r--src/assets/javascripts/helpers/translate.js2
-rw-r--r--src/assets/javascripts/helpers/twitter.js105
-rw-r--r--src/assets/javascripts/helpers/wikipedia.js2
-rw-r--r--src/assets/javascripts/helpers/youtube/invidious-cookies.js4
-rw-r--r--src/assets/javascripts/helpers/youtube/youtube.js263
9 files changed, 305 insertions, 103 deletions
diff --git a/src/assets/javascripts/helpers/common.js b/src/assets/javascripts/helpers/common.js
index 05ad60ff..4c27f169 100644
--- a/src/assets/javascripts/helpers/common.js
+++ b/src/assets/javascripts/helpers/common.js
@@ -90,6 +90,7 @@ function isFirefox() {
function processDefaultCustomInstances(
name,
+ protocol,
nameHelper,
document,
getNameRedirectsChecks,
@@ -99,32 +100,33 @@ function processDefaultCustomInstances(
) {
let nameCustomInstances = [];
- let nameCheckListElement = document.getElementById(`${name}-checklist`);
+ let nameCheckListElement = document.getElementById(`${name}-${protocol}-checklist`);
let nameDefaultRedirects;
function calcNameCheckBoxes() {
let isTrue = true;
- for (const item of nameHelper.getRedirects()[name].normal)
+ for (const item of nameHelper.getRedirects()[name][protocol])
if (!nameDefaultRedirects.includes(item)) {
isTrue = false;
break;
}
for (const element of nameCheckListElement.getElementsByTagName('input'))
element.checked = nameDefaultRedirects.includes(element.id)
- document.getElementById(`${name}-toogle-all`).checked = isTrue;
+ document.getElementById(`${name}-${protocol}-toogle-all`).checked = isTrue;
}
nameDefaultRedirects = getNameRedirectsChecks();
+
nameCheckListElement.innerHTML =
[
- `<div>Toggle All<input type="checkbox" id="${name}-toogle-all" /></div>`,
- ...nameHelper.getRedirects()[name].normal.map((x) => `<div>${x}<input type="checkbox" id="${x}" /></div>`),
+ `<div>Toggle All<input type="checkbox" id="${name}-${protocol}-toogle-all" /></div>`,
+ ...nameHelper.getRedirects()[name][protocol].map((x) => `<div>${x}<input type="checkbox" id="${x}" /></div>`),
].join('\n<hr>\n');
calcNameCheckBoxes();
- document.getElementById(`${name}-toogle-all`).addEventListener("change", (event) => {
+ document.getElementById(`${name}-${protocol}-toogle-all`).addEventListener("change", (event) => {
if (event.target.checked)
- nameDefaultRedirects = [...nameHelper.getRedirects()[name].normal];
+ nameDefaultRedirects = [...nameHelper.getRedirects()[name][protocol]];
else
nameDefaultRedirects = [];
setNameRedirectsChecks(nameDefaultRedirects);
@@ -132,7 +134,7 @@ function processDefaultCustomInstances(
});
for (let element of nameCheckListElement.getElementsByTagName('input')) {
- if (element.id != `${name}-toogle-all`)
+ if (element.id != `${name}-${protocol}-toogle-all`)
document.getElementById(element.id).addEventListener("change", (event) => {
if (event.target.checked)
nameDefaultRedirects.push(element.id)
@@ -147,7 +149,7 @@ function processDefaultCustomInstances(
nameCustomInstances = getNameCustomRedirects();
function calcNameCustomInstances() {
- document.getElementById(`${name}-custom-checklist`).innerHTML =
+ document.getElementById(`${name}-${protocol}-custom-checklist`).innerHTML =
nameCustomInstances.map(
(x) => `<div>${x}<button class="add" id="clear-${x}">
<svg xmlns="http://www.w3.org/2000/svg" height="20px" viewBox="0 0 24 24" width="20px"
@@ -170,12 +172,12 @@ function processDefaultCustomInstances(
}
}
calcNameCustomInstances();
- document.getElementById(`custom-${name}-instance-form`).addEventListener("submit", (event) => {
+ document.getElementById(`custom-${name}-${protocol}-instance-form`).addEventListener("submit", (event) => {
event.preventDefault();
- let nameCustomInstanceInput = document.getElementById(`${name}-custom-instance`);
+ let nameCustomInstanceInput = document.getElementById(`${name}-${protocol}-custom-instance`);
let url = new URL(nameCustomInstanceInput.value);
let protocolHost = `${url.protocol}//${url.host}`;
- if (nameCustomInstanceInput.validity.valid && !nameHelper.getRedirects()[name].normal.includes(protocolHost)) {
+ if (nameCustomInstanceInput.validity.valid && !nameHelper.getRedirects()[name][protocol].includes(protocolHost)) {
if (!nameCustomInstances.includes(protocolHost)) {
nameCustomInstances.push(protocolHost)
setNameCustomRedirects(nameCustomInstances);
diff --git a/src/assets/javascripts/helpers/imgur.js b/src/assets/javascripts/helpers/imgur.js
index a4db5b22..3d9c7ed7 100644
--- a/src/assets/javascripts/helpers/imgur.js
+++ b/src/assets/javascripts/helpers/imgur.js
@@ -16,7 +16,7 @@ let redirects = {
"https://rimgo.totaldarkness.net",
"https://rimgo.bus-hit.me"
],
- "onion": [
+ "tor": [
"http://l4d4owboqr6xcmd6lf64gbegel62kbudu3x3jnldz2mx6mhn3bsv3zyd.onion",
"http://jx3dpcwedpzu2mh54obk5gvl64i2ln7pt5mrzd75s4jnndkqwzaim7ad.onion"
]
diff --git a/src/assets/javascripts/helpers/reddit.js b/src/assets/javascripts/helpers/reddit.js
index 099898a4..0f454d63 100644
--- a/src/assets/javascripts/helpers/reddit.js
+++ b/src/assets/javascripts/helpers/reddit.js
@@ -47,7 +47,7 @@ let redirects = {
"https://teddit.adminforge.de",
"https://teddit.bus-hit.me"
],
- "onion": [
+ "tor": [
"http://teddit4w6cmzmj5kimhfcavs7yo5s7alszvsi2khqutqtlaanpcftfyd.onion",
"http://snoo.ioensistjs7wd746zluwixvojbbkxhr37lepdvwtdfeav673o64iflqd.onion",
"http://ibarajztopxnuhabfu7fg6gbudynxofbnmvis3ltj6lfx47b6fhrd5qd.onion",
diff --git a/src/assets/javascripts/helpers/search.js b/src/assets/javascripts/helpers/search.js
index 323fe856..01c47178 100644
--- a/src/assets/javascripts/helpers/search.js
+++ b/src/assets/javascripts/helpers/search.js
@@ -100,7 +100,7 @@ let redirects = {
"https://xeek.com",
"https://searx.roflcopter.fr",
],
- "onion": [
+ "tor": [
"http://3afisqjw2rxm6z7mmstyt5rx75qfqrgxnkzftknbp2vhipr2nrmrjdyd.onion",
"http://searxbgetrkiwxhdwi6svpgh7eotopqyxhbqiokrwzg7dcte44t36kyd.onion",
"http://suche.xyzco456vwisukfg.onion",
diff --git a/src/assets/javascripts/helpers/translate.js b/src/assets/javascripts/helpers/translate.js
index 9aae8da7..c543559d 100644
--- a/src/assets/javascripts/helpers/translate.js
+++ b/src/assets/javascripts/helpers/translate.js
@@ -20,7 +20,7 @@ let redirects = {
"https://simplytranslate.pussthecat.org",
"https://translate.northboot.xyz"
],
- "onion": [
+ "tor": [
"http://fyng2tsmzmvxmojzbbwmfnsn2lrcyftf4cw6rk5j2v2huliazud3fjid.onion",
"http://xxtbwyb5z5bdvy2f6l2yquu5qilgkjeewno4qfknvb3lkg3nmoklitid.onion"
]
diff --git a/src/assets/javascripts/helpers/twitter.js b/src/assets/javascripts/helpers/twitter.js
index ba0b0974..f3511bf7 100644
--- a/src/assets/javascripts/helpers/twitter.js
+++ b/src/assets/javascripts/helpers/twitter.js
@@ -63,7 +63,7 @@ let redirects = {
"https://tw.artemislena.eu",
"https://nitter.eu.org"
],
- "onion": [
+ "tor": [
"http://3nzoldnxplag42gqjs23xvghtzf6t6yzssrtytnntc6ppc7xxuoneoad.onion",
"http://nitter.l4qlywnpwqsluw65ts7md3khrivpirse744un3x7mlskqauz5pyuzgqd.onion",
"http://nitter7bryz3jv7e3uekphigvmoyoem4al3fynerxkj22dmoxoq553qd.onion",
@@ -83,13 +83,15 @@ let redirects = {
},
};
const getRedirects = () => redirects;
-const getCustomRedirects = function () {
+
+function getCustomRedirects() {
return {
"nitter": {
- "normal": [...nitterRedirectsChecks, ...nitterCustomRedirects]
+ "normal": [...nitterNormalRedirectsChecks, ...nitterNormalCustomRedirects]
},
};
};
+
function setRedirects(val) {
redirects.nitter = val;
browser.storage.sync.set({ twitterRedirects: redirects })
@@ -102,22 +104,39 @@ function setRedirects(val) {
setNitterRedirectsChecks(nitterRedirectsChecks);
}
-let nitterRedirectsChecks;
-const getNitterRedirectsChecks = () => nitterRedirectsChecks;
-function setNitterRedirectsChecks(val) {
- nitterRedirectsChecks = val;
- browser.storage.sync.set({ nitterRedirectsChecks })
- console.log("nitterRedirectsChecks: ", val)
+let nitterNormalRedirectsChecks;
+const getNitterNormalRedirectsChecks = () => nitterNormalRedirectsChecks;
+function setNitterNormalRedirectsChecks(val) {
+ nitterNormalRedirectsChecks = val;
+ browser.storage.sync.set({ nitterNormalRedirectsChecks })
+ console.log("nitterNormalRedirectsChecks: ", val)
+}
+
+let nitterNormalCustomRedirects = [];
+const getNitterNormalCustomRedirects = () => nitterNormalCustomRedirects;
+function setNitterNormalCustomRedirects(val) {
+ nitterNormalCustomRedirects = val;
+ browser.storage.sync.set({ nitterNormalCustomRedirects })
+ console.log("nitterNormalCustomRedirects: ", val)
}
-let nitterCustomRedirects = [];
-const getNitterCustomRedirects = () => nitterCustomRedirects;
-function setNitterCustomRedirects(val) {
- nitterCustomRedirects = val;
- browser.storage.sync.set({ nitterCustomRedirects })
- console.log("nitterCustomRedirects: ", val)
+let nitterTorRedirectsChecks;
+const getNitterTorRedirectsChecks = () => nitterTorRedirectsChecks;
+function setNitterTorRedirectsChecks(val) {
+ nitterTorRedirectsChecks = val;
+ browser.storage.sync.set({ nitterTorRedirectsChecks })
+ console.log("nitterTorRedirectsChecks: ", val)
}
+let nitterTorCustomRedirects = [];
+const getNitterTorCustomRedirects = () => nitterTorCustomRedirects;
+function setNitterTorCustomRedirects(val) {
+ nitterTorCustomRedirects = val;
+ browser.storage.sync.set({ nitterTorCustomRedirects })
+ console.log("nitterTorCustomRedirects: ", val)
+}
+
+
let disable;
const getDisable = () => disable;
function setDisable(val) {
@@ -125,19 +144,38 @@ function setDisable(val) {
browser.storage.sync.set({ disableTwitter: disable })
}
+let protocol;
+const getprotocol = () => protocol;
+function setProtocol(val) {
+ protocol = val;
+ browser.storage.sync.set({ nitterProtocol: val })
+ console.log("nitterProtocol: ", val)
+}
+
function isTwitter(url, initiator) {
if (disable) return false;
if (url.pathname.split("/").includes("home")) return null;
if (
commonHelper.isFirefox() &&
- initiator && ([...redirects.nitter.normal, ...nitterCustomRedirects].includes(initiator.origin) || targets.includes(initiator.host))
+ initiator && (
+ [
+ ...redirects.nitter.normal,
+ ...redirects.nitter.tor,
+ ...nitterTorCustomRedirects,
+ ...nitterNormalCustomRedirects
+ ].includes(initiator.origin) || targets.includes(initiator.host))
) return false;
return targets.includes(url.host)
}
function redirect(url) {
- let instancesList = [...nitterRedirectsChecks, ...nitterCustomRedirects];
+ let instancesList;
+ if (protocol == 'normal')
+ instancesList = [...nitterNormalRedirectsChecks, ...nitterNormalCustomRedirects];
+ else if (protocol == 'tor')
+ instancesList = [...nitterTorRedirectsChecks, ...nitterTorCustomRedirects];
+
if (instancesList.length === 0) return null;
let randomInstance = commonHelper.getRandomInstance(instancesList)
@@ -157,16 +195,24 @@ async function init() {
[
"disableTwitter",
"twitterRedirects",
- "nitterRedirectsChecks",
- "nitterCustomRedirects",
+ "nitterNormalRedirectsChecks",
+ "nitterNormalCustomRedirects",
+ "nitterTorRedirectsChecks",
+ "nitterTorCustomRedirects",
+ "nitterProtocol",
],
(result) => {
disable = result.disableTwitter ?? false;
if (result.twitterRedirects) redirects = result.twitterRedirects;
- nitterRedirectsChecks = result.nitterRedirectsChecks ?? [...redirects.nitter.normal];
- nitterCustomRedirects = result.nitterCustomRedirects ?? [];
+ nitterNormalRedirectsChecks = result.nitterNormalRedirectsChecks ?? [...redirects.nitter.normal];
+ nitterNormalCustomRedirects = result.nitterNormalCustomRedirects ?? [];
+
+ nitterTorRedirectsChecks = result.nitterTorRedirectsChecks ?? [...redirects.nitter.tor];
+ nitterTorCustomRedirects = result.nitterTorCustomRedirects ?? [];
+
+ protocol = result.nitterProtocol ?? "normal";
resolve();
}
@@ -182,11 +228,20 @@ export default {
getDisable,
setDisable,
- getNitterRedirectsChecks,
- setNitterRedirectsChecks,
+ getNitterNormalRedirectsChecks,
+ setNitterNormalRedirectsChecks,
+
+ getNitterNormalCustomRedirects,
+ setNitterNormalCustomRedirects,
+
+ getNitterTorRedirectsChecks,
+ setNitterTorRedirectsChecks,
+
+ getNitterTorCustomRedirects,
+ setNitterTorCustomRedirects,
- getNitterCustomRedirects,
- setNitterCustomRedirects,
+ getprotocol,
+ setProtocol,
redirect,
isTwitter,
diff --git a/src/assets/javascripts/helpers/wikipedia.js b/src/assets/javascripts/helpers/wikipedia.js
index a7091386..22584c63 100644
--- a/src/assets/javascripts/helpers/wikipedia.js
+++ b/src/assets/javascripts/helpers/wikipedia.js
@@ -12,7 +12,7 @@ let redirects = {
"https://wikiless.sethforprivacy.com",
"https://wiki.604kph.xyz"
],
- "onion": [
+ "tor": [
"http://dj2tbh2nqfxyfmvq33cjmhuw7nb6am7thzd3zsjvizeqf374fixbrxyd.onion"
]
}
diff --git a/src/assets/javascripts/helpers/youtube/invidious-cookies.js b/src/assets/javascripts/helpers/youtube/invidious-cookies.js
index cefbddd8..59cb7e04 100644
--- a/src/assets/javascripts/helpers/youtube/invidious-cookies.js
+++ b/src/assets/javascripts/helpers/youtube/invidious-cookies.js
@@ -24,8 +24,8 @@ browser.storage.sync.get(
let prefs = getCookie();
let changed = false;
- if (result.invidiousAlwaysProxy !== undefined && prefs.local !== result.invidiousAlwaysProxy) {
- prefs.local = result.invidiousAlwaysProxy;
+ if (result.invidiousAlwaysProxy !== undefined && prefs.sync !== result.invidiousAlwaysProxy) {
+ prefs.sync = result.invidiousAlwaysProxy;
changed = true;
}
if (result.invidiousVideoQuality !== undefined && prefs.quality !== result.invidiousVideoQuality) {
diff --git a/src/assets/javascripts/helpers/youtube/youtube.js b/src/assets/javascripts/helpers/youtube/youtube.js
index 802a73d0..6077124d 100644
--- a/src/assets/javascripts/helpers/youtube/youtube.js
+++ b/src/assets/javascripts/helpers/youtube/youtube.js
@@ -32,7 +32,7 @@ let redirects = {
"https://youtube.076.ne.jp",
"https://invidious.namazso.eu"
],
- "onion": [
+ "tor": [
"http://c7hqkpkpemu6e7emz5b4vyz7idjgdvgaaa3dyimmeojqbgpea3xqjoid.onion",
"http://w6ijuptxiku4xpnnaetxvnkc5vqcdu7mgns2u77qefoixi63vbvnpnqd.onion",
"http://kbjggqkzv65ivcqj6bumvp337z6264huv5kpkwuv6gu5yjiskvan7fad.onion",
@@ -48,7 +48,8 @@ let redirects = {
"https://piped.silkky.cloud",
"https://piped.tokhmi.xyz",
"https://piped.mint.lgbt",
- ]
+ ],
+ "tor": []
}
};
@@ -57,10 +58,12 @@ const getRedirects = () => redirects;
const getCustomRedirects = function () {
return {
"invidious": {
- "normal": [...invidiousRedirectsChecks, ...invidiousCustomRedirects]
+ "normal": [...invidiousNormalRedirectsChecks, ...invidiousNormalCustomRedirects],
+ "tor": [...invidiousTorRedirectsChecks, ...invidiousTorCustomRedirects]
},
"piped": {
- "normal": [...pipedRedirectsChecks, ...pipedCustomRedirects]
+ "normal": [...pipedNormalRedirectsChecks, ...pipedNormalCustomRedirects],
+ "tor": [...pipedTorRedirectsChecks, ...pipedTorCustomRedirects]
}
};
};
@@ -71,38 +74,76 @@ function setInvidiousRedirects(val) {
console.log("invidiousRedirects: ", val)
}
-let invidiousRedirectsChecks;
-const getInvidiousRedirectsChecks = () => invidiousRedirectsChecks;
-function setInvidiousRedirectsChecks(val) {
- invidiousRedirectsChecks = val;
- browser.storage.sync.set({ invidiousRedirectsChecks })
- console.log("invidiousRedirectsChecks: ", val)
+let invidiousNormalRedirectsChecks;
+const getInvidiousNormalRedirectsChecks = () => invidiousNormalRedirectsChecks;
+function setInvidiousNormalRedirectsChecks(val) {
+ invidiousNormalRedirectsChecks = val;
+ browser.storage.sync.set({ invidiousNormalRedirectsChecks })
+ console.log("invidiousNormalRedirectsChecks: ", val)
+}
+
+let invidiousNormalCustomRedirects = [];
+const getInvidiousNormalCustomRedirects = () => invidiousNormalCustomRedirects;
+function setInvidiousNormalCustomRedirects(val) {
+ invidiousNormalCustomRedirects = val;
+ browser.storage.sync.set({ invidiousNormalCustomRedirects })
+ console.log("invidiousNormalCustomRedirects: ", val)
}
-let invidiousCustomRedirects = [];
-const getInvidiousCustomRedirects = () => invidiousCustomRedirects;
-function setInvidiousCustomRedirects(val) {
- invidiousCustomRedirects = val;
- browser.storage.sync.set({ invidiousCustomRedirects })
- console.log("invidiousCustomRedirects: ", val)
+
+let invidiousTorRedirectsChecks;
+const getInvidiousTorRedirectsChecks = () => invidiousTorRedirectsChecks;
+function setInvidiousTorRedirectsChecks(val) {
+ invidiousTorRedirectsChecks = val;
+ browser.storage.sync.set({ invidiousTorRedirectsChecks })
+ console.log("invidiousTorRedirectsChecks: ", val)
}
-let pipedRedirectsChecks;
-const getPipedRedirectsChecks = () => pipedRedirectsChecks;
-function setPipedRedirectsChecks(val) {
- pipedRedirectsChecks = val;
- browser.storage.sync.set({ pipedRedirectsChecks })
- console.log("pipedRedirectsChecks: ", val)
+let invidiousTorCustomRedirects = [];
+const getInvidiousTorCustomRedirects = () => invidiousTorCustomRedirects;
+function setInvidiousTorCustomRedirects(val) {
+ invidiousTorCustomRedirects = val;
+ browser.storage.sync.set({ invidiousTorCustomRedirects })
+ console.log("invidiousTorCustomRedirects: ", val)
}
-let pipedCustomRedirects = [];
-const getPipedCustomRedirects = () => pipedCustomRedirects;
-function setPipedCustomRedirects(val) {
- pipedCustomRedirects = val;
- browser.storage.sync.set({ pipedCustomRedirects })
- console.log("pipedCustomRedirects: ", val)
+
+let pipedNormalRedirectsChecks;
+const getPipedNormalRedirectsChecks = () => pipedNormalRedirectsChecks;
+function setPipedNormalRedirectsChecks(val) {
+ pipedNormalRedirectsChecks = val;
+ browser.storage.sync.set({ pipedNormalRedirectsChecks })
+ console.log("pipedNormalRedirectsChecks: ", val)
+}
+
+let pipedNormalCustomRedirects = [];
+const getPipedNormalCustomRedirects = () => pipedNormalCustomRedirects;
+function setPipedNormalCustomRedirects(val) {
+ pipedNormalCustomRedirects = val;
+ browser.storage.sync.set({ pipedNormalCustomRedirects })
+ console.log("pipedNormalCustomRedirects: ", val)
+}
+
+
+let pipedTorRedirectsChecks;
+const getPipedTorRedirectsChecks = () => pipedTorRedirectsChecks;
+function setPipedTorRedirectsChecks(val) {
+ pipedTorRedirectsChecks = val;
+ browser.storage.sync.set({ pipedTorRedirectsChecks })
+ console.log("pipedTorRedirectsChecks: ", val)
}
+let pipedTorCustomRedirects = [];
+const getPipedTorCustomRedirects = () => pipedTorCustomRedirects;
+function setPipedTorCustomRedirects(val) {
+ pipedTorCustomRedirects = val;
+ browser.storage.sync.set({ pipedTorCustomRedirects })
+ console.log("pipedTorCustomRedirects: ", val)
+}
+
+
+
+
function setPipedRedirects(val) {
redirects.piped = val;
browser.storage.sync.set({ youtubeRedirects: redirects })
@@ -117,6 +158,15 @@ function setDisable(val) {
console.log("disableYoutube: ", disable)
}
+
+let protocol;
+const getprotocol = () => protocol;
+function setProtocol(val) {
+ protocol = val;
+ browser.storage.sync.set({ youtubeProtocol: val })
+ console.log("youtubeProtocol: ", val)
+}
+
let invidiousAlwaysProxy;
function setInvidiousAlwaysProxy(val) {
invidiousAlwaysProxy = val;
@@ -215,11 +265,19 @@ function setAlwaysusePreferred(val) {
function isYoutube(url, initiator) {
if (disable) return false;
-
if (
initiator && (
- [...redirects.invidious.normal, ...invidiousCustomRedirects].includes(initiator.origin) ||
- [...redirects.piped.normal, ...pipedCustomRedirects].includes(initiator.origin) ||
+ [
+ ...redirects.invidious.normal,
+ ...invidiousNormalCustomRedirects,
+ ...redirects.invidious.tor,
+ ...invidiousTorCustomRedirects,
+
+ ...redirects.piped.normal,
+ ...redirects.piped.tor,
+ ...pipedNormalCustomRedirects,
+ ...pipedTorCustomRedirects
+ ].includes(initiator.origin) ||
targets.includes(initiator.host)
)
) return false;
@@ -227,15 +285,27 @@ function isYoutube(url, initiator) {
let isTargets = targets.some((rx) => rx.test(url.href));
let protocolHost = `${url.protocol}//${url.host}`;
- let isInvidious = redirects.invidious.normal.includes(protocolHost);
+ let isInvidious = [...redirects.invidious.normal, ...redirects.invidious.tor].includes(protocolHost);
if (isInvidious) {
- let myInvidiousInstances = [...invidiousRedirectsChecks, ...invidiousCustomRedirects];
+ let myInvidiousInstances = [
+ ...invidiousNormalRedirectsChecks,
+ ...invidiousNormalCustomRedirects,
+
+ ...invidiousTorRedirectsChecks,
+ ...invidiousTorCustomRedirects,
+ ];
for (const item of myInvidiousInstances) if (item == protocolHost) isInvidious = false;
}
- let isPiped = redirects.piped.normal.includes(protocolHost);
+ let isPiped = [...redirects.piped.normal, ...redirects.piped.tor].includes(protocolHost);
if (isPiped) {
- let myPipedInstances = [...pipedRedirectsChecks, ...pipedCustomRedirects];
+ let myPipedInstances = [
+ ...pipedNormalRedirectsChecks,
+ ...pipedNormalCustomRedirects,
+
+ ...pipedTorRedirectsChecks,
+ ...pipedTorCustomRedirects,
+ ];
for (const item of myPipedInstances) if (item == protocolHost) isPiped = false;
}
@@ -272,7 +342,10 @@ function redirect(url, type) {
!(frontend == 'freetube' && freetubeFrontend == 'invidious' && type === "sub_frame")
) return null;
- let instancesList = [...invidiousRedirectsChecks, ...invidiousCustomRedirects];
+ let instancesList;
+ if (protocol == 'normal') instancesList = [...invidiousNormalRedirectsChecks, ...invidiousNormalCustomRedirects];
+ else if (protocol == 'tor') instancesList = [...invidiousTorRedirectsChecks, ...invidiousTorCustomRedirects];
+
if (instancesList.length === 0) return null;
let randomInstance = commonHelper.getRandomInstance(instancesList);
@@ -286,7 +359,9 @@ function redirect(url, type) {
!(frontend == 'freetube' && freetubeFrontend == 'piped' && type == "sub_frame")
) return null;
- let instancesList = [...pipedRedirectsChecks, ...pipedCustomRedirects];
+ let instancesList;
+ if (protocol == 'normal') instancesList = [...pipedNormalRedirectsChecks, ...pipedNormalCustomRedirects];
+ else if (protocol == 'tor') instancesList = [...pipedTorRedirectsChecks, ...pipedTorCustomRedirects];
if (instancesList.length === 0) return null;
let randomInstance = commonHelper.getRandomInstance(instancesList);
@@ -297,22 +372,54 @@ function redirect(url, type) {
function isPipedorInvidious(url, type) {
let protocolHost = `${url.protocol}//${url.host}`;
- return (type === "main_frame" || type === "sub_frame") && [...redirects.invidious.normal, ...redirects.piped.normal].includes(protocolHost);
+ return (type === "main_frame" || type === "sub_frame") && [
+ ...redirects.invidious.normal,
+ ...invidiousNormalCustomRedirects,
+ ...redirects.invidious.tor,
+ ...invidiousTorCustomRedirects,
+
+ ...redirects.piped.normal,
+ ...redirects.piped.tor,
+ ...pipedNormalCustomRedirects,
+ ...pipedTorCustomRedirects,
+ ].includes(protocolHost);
}
function isUrlPipedorInvidious(url) {
url = new URL(url);
let protocolHost = `${url.protocol}//${url.host}`;
- return [...redirects.invidious.normal, ...redirects.piped.normal].includes(protocolHost);
+ return [
+ ...redirects.invidious.normal,
+ ...redirects.invidious.tor,
+ ...invidiousNormalCustomRedirects,
+ ...invidiousTorCustomRedirects,
+
+ ...redirects.piped.normal,
+ ...redirects.piped.tor,
+ ...pipedNormalCustomRedirects,
+ ...pipedTorCustomRedirects,
+
+ ].includes(protocolHost);
}
function addUrlParams(url) {
let protocolHost = `${url.protocol}//${url.host}`;
let isChanged = false;
-
- console.log("protocolHost", protocolHost)
- if (redirects.invidious.normal.includes(protocolHost)) {
+ console.log("protocolHost", protocolHost);
+ console.log([
+ ...redirects.invidious.normal,
+ ...redirects.invidious.tor,
+ ...invidiousNormalCustomRedirects,
+ ...invidiousTorCustomRedirects,
+ ])
+ if (
+ [
+ ...redirects.invidious.normal,
+ ...redirects.invidious.tor,
+ ...invidiousNormalCustomRedirects,
+ ...invidiousTorCustomRedirects,
+ ].includes(protocolHost)) {
if (!url.searchParams.has("dark_mode") && theme != "DEFAULT") {
url.searchParams.append("dark_mode", theme);
isChanged = true;
@@ -348,7 +455,13 @@ function addUrlParams(url) {
isChanged = true;
}
- } else if (redirects.piped.normal.includes(protocolHost)) {
+ } else if (
+ [
+ ...redirects.piped.normal,
+ ...redirects.piped.tor,
+ ...pipedNormalCustomRedirects,
+ ...pipedTorCustomRedirects,
+ ].includes(protocolHost)) {
if (!url.searchParams.has("theme") && theme != "DEFAULT") {
url.searchParams.append("theme", theme);
@@ -396,17 +509,28 @@ async function init() {
"youtubeAutoplay",
"youtubeRedirects",
"youtubeFrontend",
- "invidiousRedirectsChecks",
- "invidiousCustomRedirects",
- "pipedRedirectsChecks",
- "pipedCustomRedirects",
+
+ "invidiousNormalRedirectsChecks",
+ "invidiousNormalCustomRedirects",
+
+ "invidiousTorRedirectsChecks",
+ "invidiousTorCustomRedirects",
+
+ "pipedNormalRedirectsChecks",
+ "pipedNormalCustomRedirects",
+
+ "pipedTorRedirectsChecks",
+ "pipedTorCustomRedirects",
"alwaysusePreferred",
"freetubeFrontend",
+
+ "youtubeProtocol",
],
(result) => {
if (result.youtubeRedirects) redirects = result.youtubeRedirects;
disable = result.disableYoutube ?? false;
+ protocol = result.youtubeProtocol ?? 'normal';
frontend = result.youtubeFrontend ?? 'piped';
freetubeFrontend = result.freetubeFrontend ?? 'invidious';
@@ -420,11 +544,17 @@ async function init() {
invidiousPlayerStyle = result.invidiousPlayerStyle ?? 'DEFAULT';
invidiousSubtitles = result.invidiousSubtitles || '';
- invidiousRedirectsChecks = result.invidiousRedirectsChecks ?? [...redirects.invidious.normal];
- invidiousCustomRedirects = result.invidiousCustomRedirects ?? [];
+ invidiousNormalRedirectsChecks = result.invidiousNormalRedirectsChecks ?? [...redirects.invidious.normal];
+ invidiousNormalCustomRedirects = result.invidiousNormalCustomRedirects ?? [];
+
+ invidiousTorRedirectsChecks = result.invidiousTorRedirectsChecks ?? [...redirects.invidious.tor];
+ invidiousTorCustomRedirects = result.invidiousTorCustomRedirects ?? [];
+
+ pipedNormalRedirectsChecks = result.pipedNormalRedirectsChecks ?? [...redirects.piped.normal];
+ pipedNormalCustomRedirects = result.pipedNormalCustomRedirects ?? [];
- pipedRedirectsChecks = result.pipedRedirectsChecks ?? [...redirects.piped.normal];
- pipedCustomRedirects = result.pipedCustomRedirects ?? [];
+ pipedTorRedirectsChecks = result.pipedTorRedirectsChecks ?? [...redirects.piped.tor];
+ pipedTorCustomRedirects = result.pipedTorCustomRedirects ?? [];
persistInvidiousPrefs = result.persistInvidiousPrefs ?? false;
@@ -460,6 +590,9 @@ export default {
getDisable,
setDisable,
+ getprotocol,
+ setProtocol,
+
setInvidiousAlwaysProxy,
getInvidiousAlwaysProxy,
@@ -487,17 +620,29 @@ export default {
getPersistInvidiousPrefs,
setPersistInvidiousPrefs,
- getInvidiousRedirectsChecks,
- setInvidiousRedirectsChecks,
+ getInvidiousNormalRedirectsChecks,
+ setInvidiousNormalRedirectsChecks,
+
+ getInvidiousNormalCustomRedirects,
+ setInvidiousNormalCustomRedirects,
+
+ getPipedNormalRedirectsChecks,
+ setPipedNormalRedirectsChecks,
+
+ getPipedNormalCustomRedirects,
+ setPipedNormalCustomRedirects,
+
+ getInvidiousTorRedirectsChecks,
+ setInvidiousTorRedirectsChecks,
- getInvidiousCustomRedirects,
- setInvidiousCustomRedirects,
+ getInvidiousTorCustomRedirects,
+ setInvidiousTorCustomRedirects,
- getPipedRedirectsChecks,
- setPipedRedirectsChecks,
+ getPipedTorRedirectsChecks,
+ setPipedTorRedirectsChecks,
- getPipedCustomRedirects,
- setPipedCustomRedirects,
+ getPipedTorCustomRedirects,
+ setPipedTorCustomRedirects,
getAlwaysusePreferred,
setAlwaysusePreferred,