diff options
author | ManeraKai <manerakai@protonmail.com> | 2022-02-20 00:48:51 +0300 |
---|---|---|
committer | ManeraKai <manerakai@protonmail.com> | 2022-02-20 00:48:51 +0300 |
commit | ef222d2ca5ad753446adb98800e9640b0c602381 (patch) | |
tree | 2fe30dd48711b25bdb0b8d8461d983489877db63 /src/assets | |
parent | Fixed cookies not working in invidious #44 (diff) | |
download | libredirect-ef222d2ca5ad753446adb98800e9640b0c602381.zip |
Adding tor to twitter and youtube #32
Diffstat (limited to 'src/assets')
-rw-r--r-- | src/assets/javascripts/helpers/common.js | 26 | ||||
-rw-r--r-- | src/assets/javascripts/helpers/imgur.js | 2 | ||||
-rw-r--r-- | src/assets/javascripts/helpers/reddit.js | 2 | ||||
-rw-r--r-- | src/assets/javascripts/helpers/search.js | 2 | ||||
-rw-r--r-- | src/assets/javascripts/helpers/translate.js | 2 | ||||
-rw-r--r-- | src/assets/javascripts/helpers/twitter.js | 105 | ||||
-rw-r--r-- | src/assets/javascripts/helpers/wikipedia.js | 2 | ||||
-rw-r--r-- | src/assets/javascripts/helpers/youtube/invidious-cookies.js | 4 | ||||
-rw-r--r-- | src/assets/javascripts/helpers/youtube/youtube.js | 263 |
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 invidiousTorRedirectsChecks; +const getInvidiousTorRedirectsChecks = () => invidiousTorRedirectsChecks; +function setInvidiousTorRedirectsChecks(val) { + invidiousTorRedirectsChecks = val; + browser.storage.sync.set({ invidiousTorRedirectsChecks }) + console.log("invidiousTorRedirectsChecks: ", val) } -let invidiousCustomRedirects = []; -const getInvidiousCustomRedirects = () => invidiousCustomRedirects; -function setInvidiousCustomRedirects(val) { - invidiousCustomRedirects = val; - browser.storage.sync.set({ invidiousCustomRedirects }) - console.log("invidiousCustomRedirects: ", val) +let invidiousTorCustomRedirects = []; +const getInvidiousTorCustomRedirects = () => invidiousTorCustomRedirects; +function setInvidiousTorCustomRedirects(val) { + invidiousTorCustomRedirects = val; + browser.storage.sync.set({ invidiousTorCustomRedirects }) + console.log("invidiousTorCustomRedirects: ", val) } -let pipedRedirectsChecks; -const getPipedRedirectsChecks = () => pipedRedirectsChecks; -function setPipedRedirectsChecks(val) { - pipedRedirectsChecks = val; - browser.storage.sync.set({ pipedRedirectsChecks }) - console.log("pipedRedirectsChecks: ", val) + +let pipedNormalRedirectsChecks; +const getPipedNormalRedirectsChecks = () => pipedNormalRedirectsChecks; +function setPipedNormalRedirectsChecks(val) { + pipedNormalRedirectsChecks = val; + browser.storage.sync.set({ pipedNormalRedirectsChecks }) + console.log("pipedNormalRedirectsChecks: ", val) } -let pipedCustomRedirects = []; -const getPipedCustomRedirects = () => pipedCustomRedirects; -function setPipedCustomRedirects(val) { - pipedCustomRedirects = val; - browser.storage.sync.set({ pipedCustomRedirects }) - console.log("pipedCustomRedirects: ", 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 ?? []; - pipedRedirectsChecks = result.pipedRedirectsChecks ?? [...redirects.piped.normal]; - pipedCustomRedirects = result.pipedCustomRedirects ?? []; + pipedNormalRedirectsChecks = result.pipedNormalRedirectsChecks ?? [...redirects.piped.normal]; + pipedNormalCustomRedirects = result.pipedNormalCustomRedirects ?? []; + + 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, |