diff options
Diffstat (limited to 'src/assets')
19 files changed, 445 insertions, 361 deletions
diff --git a/src/assets/javascripts/helpers/common.js b/src/assets/javascripts/helpers/common.js index b2a91b20..5d470cf0 100644 --- a/src/assets/javascripts/helpers/common.js +++ b/src/assets/javascripts/helpers/common.js @@ -19,11 +19,12 @@ let cloudflareList = []; async function initCloudflareList() { return new Promise(resolve => { fetch('/instances/cloudflare.json').then(response => response.text()).then(data => { - cloudflareList = data; + cloudflareList = JSON.parse(data); resolve(); }) }); } + async function wholeInit() { await youtubeHelper.init(); await twitterHelper.init(); @@ -98,9 +99,9 @@ function protocolHost(url) { } async function processDefaultCustomInstances( + target, name, protocol, - nameHelper, document, ) { function camelCase(str) { @@ -116,9 +117,38 @@ async function processDefaultCustomInstances( await initCloudflareList(); + + let nameDefaultRedirects; + + let redirectsChecks = `${name}${camelCase(protocol)}RedirectsChecks`; + let customRedirects = `${name}${camelCase(protocol)}CustomRedirects`; + let redirectsKey = `${target}Redirects`; + + let redirects; + + async function getFromStorage() { + return new Promise(async resolve => { + + browser.storage.local.get( + [ + redirectsChecks, + customRedirects, + redirectsKey + ], + r => { + nameDefaultRedirects = r[redirectsChecks]; + nameCustomInstances = r[customRedirects]; + redirects = r[redirectsKey]; + resolve(); + } + ) + }) + } + await getFromStorage(); + function calcNameCheckBoxes() { let isTrue = true; - for (const item of nameHelper.getRedirects()[name][protocol]) + for (const item of redirects[name][protocol]) if (!nameDefaultRedirects.includes(item)) { isTrue = false; break; @@ -129,11 +159,6 @@ async function processDefaultCustomInstances( nameProtocolElement.getElementsByClassName('toogle-all')[0].checked = isTrue; } - let nameDefaultRedirects; - - let redirectsChecks = `${name}${camelCase(protocol)}RedirectsChecks`; - let customRedirects = `${name}${camelCase(protocol)}CustomRedirects`; - async function setRedirectsChecks(val) { await browser.storage.local.set({ [redirectsChecks]: val }); } @@ -142,24 +167,6 @@ async function processDefaultCustomInstances( await browser.storage.local.set({ [customRedirects]: val }); } - async function getFromStorage() { - return new Promise(async resolve => { - nameHelper.init().then(() => - browser.storage.local.get( - [ - redirectsChecks, - customRedirects, - ], - r => { - nameDefaultRedirects = r[redirectsChecks]; - nameCustomInstances = r[customRedirects]; - resolve(); - } - ) - ) - }) - } - await getFromStorage(); nameCheckListElement.innerHTML = [ @@ -167,7 +174,7 @@ async function processDefaultCustomInstances( <x data-localise="__MSG_toggleAll__">Toggle All</x> <input type="checkbox" class="toogle-all"/> </div>`, - ...nameHelper.getRedirects()[name][protocol].map( + ...redirects[name][protocol].map( x => { let cloudflare = cloudflareList.includes(x) ? ' <span style="color:red;">cloudflare</span>' : ''; @@ -185,7 +192,7 @@ async function processDefaultCustomInstances( calcNameCheckBoxes(); nameProtocolElement.getElementsByClassName('toogle-all')[0].addEventListener("change", async event => { if (event.target.checked) - nameDefaultRedirects = [...nameHelper.getRedirects()[name][protocol]]; + nameDefaultRedirects = [...redirects[name][protocol]]; else nameDefaultRedirects = []; @@ -236,7 +243,7 @@ async function processDefaultCustomInstances( let nameCustomInstanceInput = nameProtocolElement.getElementsByClassName('custom-instance')[0]; let url = new URL(nameCustomInstanceInput.value); let protocolHostVar = protocolHost(url); - if (nameCustomInstanceInput.validity.valid && !nameHelper.getRedirects()[name][protocol].includes(protocolHostVar)) { + if (nameCustomInstanceInput.validity.valid && !redirects[name][protocol].includes(protocolHostVar)) { if (!nameCustomInstances.includes(protocolHostVar)) { nameCustomInstances.push(protocolHostVar) setCustom(nameCustomInstances); diff --git a/src/assets/javascripts/helpers/general.js b/src/assets/javascripts/helpers/general.js index 4a1681e9..56f76d8b 100644 --- a/src/assets/javascripts/helpers/general.js +++ b/src/assets/javascripts/helpers/general.js @@ -74,7 +74,6 @@ async function init() { popupFrontends = r.popupFrontends ?? [ "youtube", - "youtubeMusic", "twitter", "instagram", "tikTok", diff --git a/src/assets/javascripts/helpers/imgur.js b/src/assets/javascripts/helpers/imgur.js index 7a2daa43..f581a75a 100644 --- a/src/assets/javascripts/helpers/imgur.js +++ b/src/assets/javascripts/helpers/imgur.js @@ -21,33 +21,35 @@ function setRedirects(val) { var index = rimgoNormalRedirectsChecks.indexOf(item); if (index !== -1) rimgoNormalRedirectsChecks.splice(index, 1); } - browser.storage.local.set({rimgoNormalRedirectsChecks}); + browser.storage.local.set({ rimgoNormalRedirectsChecks }); for (const item of rimgoTorRedirectsChecks) if (!redirects.rimgo.tor.includes(item)) { var index = rimgoTorRedirectsChecks.indexOf(item); if (index !== -1) rimgoTorRedirectsChecks.splice(index, 1); } - browser.storage.local.set({rimgoTorRedirectsChecks}); + browser.storage.local.set({ rimgoTorRedirectsChecks }); for (const item of rimgoI2pRedirectsChecks) if (!redirects.rimgo.i2p.includes(item)) { var index = rimgoI2pRedirectsChecks.indexOf(item); if (index !== -1) rimgoI2pRedirectsChecks.splice(index, 1); } - browser.storage.local.set({rimgoI2pRedirectsChecks}); + browser.storage.local.set({ rimgoI2pRedirectsChecks }); } -let disable; -let protocol; +let + disable, + protocol; -let rimgoNormalRedirectsChecks; -let rimgoTorRedirectsChecks; -let rimgoI2pRedirectsChecks; -let rimgoNormalCustomRedirects = []; -let rimgoTorCustomRedirects = []; -let rimgoI2pCustomRedirects = []; +let + rimgoNormalRedirectsChecks, + rimgoTorRedirectsChecks, + rimgoI2pRedirectsChecks, + rimgoNormalCustomRedirects, + rimgoTorCustomRedirects, + rimgoI2pCustomRedirects; function redirect(url, type, initiator) { // https://imgur.com/gallery/s4WXQmn @@ -129,18 +131,23 @@ function switchInstance(url) { } async function initDefaults() { - return new Promise(async resolve => { - fetch('/instances/data.json').then(response => response.text()).then(async data => { - let dataJson = JSON.parse(data); - redirects.rimgo = dataJson.rimgo + fetch('/instances/data.json').then(response => response.text()).then(async data => { + let dataJson = JSON.parse(data); + redirects.rimgo = dataJson.rimgo; + browser.storage.local.get('cloudflareList', async r => { + rimgoNormalRedirectsChecks = [...redirects.rimgo.normal]; + for (const instance of r.cloudflareList) { + let i; + + i = rimgoNormalRedirectsChecks.indexOf(instance); + if (i > -1) rimgoNormalRedirectsChecks.splice(i, 1); + } await browser.storage.local.set({ disableImgur: false, imgurProtocol: 'normal', - imgurRedirects: { - 'rimgo': redirects.rimgo, - }, + imgurRedirects: redirects, - rimgoNormalRedirectsChecks: [...redirects.rimgo.normal], + rimgoNormalRedirectsChecks: rimgoNormalRedirectsChecks, rimgoNormalCustomRedirects: [], rimgoTorRedirectsChecks: [...redirects.rimgo.tor], @@ -149,9 +156,8 @@ async function initDefaults() { rimgoI2pRedirectsChecks: [...redirects.rimgo.i2p], rimgoI2pCustomRedirects: [], }); - resolve(); }); - }) + }); } async function init() { diff --git a/src/assets/javascripts/helpers/instagram.js b/src/assets/javascripts/helpers/instagram.js index 26414070..3277ffda 100644 --- a/src/assets/javascripts/helpers/instagram.js +++ b/src/assets/javascripts/helpers/instagram.js @@ -173,27 +173,34 @@ async function initDefaults() { fetch('/instances/data.json').then(response => response.text()).then(async data => { let dataJson = JSON.parse(data); redirects.bibliogram = dataJson.bibliogram; - await browser.storage.local.set({ - disableInstagram: false, - instagramRedirects: { - 'bibliogram': redirects.bibliogram - }, + browser.storage.local.get('cloudflareList', async r => { + bibliogramNormalRedirectsChecks = [...redirects.bibliogram.normal]; + for (const instance of r.cloudflareList) { + let i; - theme: 'DEFAULT', - applyThemeToSites: false, + i = bibliogramNormalRedirectsChecks.indexOf(instance); + if (i > -1) bibliogramNormalRedirectsChecks.splice(i, 1); + } + await browser.storage.local.set({ + disableInstagram: false, + instagramRedirects: redirects, - instancesCookies: [], + theme: 'DEFAULT', + applyThemeToSites: false, - bibliogramNormalRedirectsChecks: [...redirects.bibliogram.normal], - bibliogramTorRedirectsChecks: [], + instancesCookies: [], - bibliogramNormalCustomRedirects: [...redirects.bibliogram.tor], - bibliogramTorCustomRedirects: [], - instagramProtocol: "normal", - }) - resolve(); - } - ) + bibliogramNormalRedirectsChecks: bibliogramNormalRedirectsChecks, + bibliogramTorRedirectsChecks: [], + + bibliogramNormalCustomRedirects: [...redirects.bibliogram.tor], + bibliogramTorCustomRedirects: [], + instagramProtocol: "normal", + }) + resolve(); + } + ) + }) }) } diff --git a/src/assets/javascripts/helpers/lbry.js b/src/assets/javascripts/helpers/lbry.js index 8b0f78a7..b82ae9ad 100644 --- a/src/assets/javascripts/helpers/lbry.js +++ b/src/assets/javascripts/helpers/lbry.js @@ -93,14 +93,21 @@ function redirect(url, type, initiator) { } async function initDefaults() { - return new Promise(async resolve => { + browser.storage.local.get('cloudflareList', async r => { + librarianNormalRedirectsChecks = [...redirects.librarian.normal]; + for (const instance of r.cloudflareList) { + let i; + + i = librarianNormalRedirectsChecks.indexOf(instance); + if (i > -1) librarianNormalRedirectsChecks.splice(i, 1); + } await browser.storage.local.set({ disableLbryTargets: true, lbryTargetsRedirects: { 'librarian': redirects.librarian }, - librarianNormalRedirectsChecks: [...redirects.librarian.normal], + librarianNormalRedirectsChecks: librarianNormalRedirectsChecks, librarianNormalCustomRedirects: [], librarianTorRedirectsChecks: [...redirects.librarian.tor], @@ -108,7 +115,6 @@ async function initDefaults() { lbryTargetsProtocol: "normal", }) - resolve(); }) } @@ -129,7 +135,6 @@ async function init() { "lbryTargetsProtocol" ], r => { - disable = r.disableLbryTargets; protocol = r.lbryTargetsProtocol; diff --git a/src/assets/javascripts/helpers/maps.js b/src/assets/javascripts/helpers/maps.js index 25dcf2c5..86a53b18 100644 --- a/src/assets/javascripts/helpers/maps.js +++ b/src/assets/javascripts/helpers/maps.js @@ -17,7 +17,6 @@ let redirects = { ] } }; -const getRedirects = () => redirects; let disable; // disableMaps let frontend; // mapsFrontend @@ -187,14 +186,14 @@ function redirect(url, initiator) { } async function initDefaults() { - return new Promise(async resolve => { - await browser.storage.local.set({ - disableMaps: false, - mapsFrontend: 'osm', - - facilNormalRedirectsChecks: [...redirects.facil.normal], - facilNormalCustomRedirects: [], - }) + await browser.storage.local.set({ + disableMaps: false, + mapsFrontend: 'osm', + + mapsRedirects: redirects, + + facilNormalRedirectsChecks: [...redirects.facil.normal], + facilNormalCustomRedirects: [], }) } @@ -223,8 +222,6 @@ async function init() { } export default { - getRedirects, - redirect, init, initDefaults, diff --git a/src/assets/javascripts/helpers/medium.js b/src/assets/javascripts/helpers/medium.js index beea1a99..99a14cca 100644 --- a/src/assets/javascripts/helpers/medium.js +++ b/src/assets/javascripts/helpers/medium.js @@ -123,20 +123,27 @@ function switchInstance(url) { } async function initDefaults() { - return new Promise(async resolve => { - fetch('/instances/data.json').then(response => response.text()).then(async data => { - let dataJson = JSON.parse(data); - redirects.scribe = dataJson.scribe; + fetch('/instances/data.json').then(response => response.text()).then(async data => { + let dataJson = JSON.parse(data); + redirects.scribe = dataJson.scribe; + browser.storage.local.get('cloudflareList', async r => { + scribeNormalRedirectsChecks = [...redirects.scribe.normal]; + for (const instance of r.cloudflareList) { + let i = scribeNormalRedirectsChecks.indexOf(instance); + if (i > -1) scribeNormalRedirectsChecks.splice(i, 1); + } await browser.storage.local.set({ disableMedium: false, mediumRedirects: redirects, - scribeNormalRedirectsChecks: [...redirects.scribe.normal], + + scribeNormalRedirectsChecks: scribeNormalRedirectsChecks, scribeNormalCustomRedirects: [], + scribeTorRedirectsChecks: [...redirects.scribe.tor], scribeTorCustomRedirects: [], + mediumProtocol: "normal", }) - resolve(); }) }) } diff --git a/src/assets/javascripts/helpers/peertube.js b/src/assets/javascripts/helpers/peertube.js index 17fada2b..14dda0b1 100644 --- a/src/assets/javascripts/helpers/peertube.js +++ b/src/assets/javascripts/helpers/peertube.js @@ -94,21 +94,29 @@ function redirect(url, type, initiator) { } async function initDefaults() { - console.log('init peertube defaults') fetch('/instances/data.json').then(response => response.text()).then(async data => { let dataJson = JSON.parse(data); - await browser.storage.local.set({ - peerTubeTargets: ['https://search.joinpeertube.org', ...dataJson.peertube], + browser.storage.local.get('cloudflareList', async r => { + simpleertubeNormalRedirectsChecks = [...redirects.simpleertube.normal]; + for (const instance of r.cloudflareList) { + let i = simpleertubeNormalRedirectsChecks.indexOf(instance); + if (i > -1) simpleertubeNormalRedirectsChecks.splice(i, 1); + } + await browser.storage.local.set({ + peerTubeTargets: ['https://search.joinpeertube.org', ...dataJson.peertube], - disablePeertubeTargets: true, + disablePeertubeTargets: true, - simpleertubeNormalRedirectsChecks: [...redirects.simpleertube.normal], - simpleertubeNormalCustomRedirects: [], + peertubeRedirects: redirects, - simpleertubeTorRedirectsChecks: [...redirects.simpleertube.tor], - simpleertubeTorCustomRedirects: [], + simpleertubeNormalRedirectsChecks: simpleertubeNormalRedirectsChecks, + simpleertubeNormalCustomRedirects: [], - peertubeTargetsProtocol: "normal", + simpleertubeTorRedirectsChecks: [...redirects.simpleertube.tor], + simpleertubeTorCustomRedirects: [], + + peertubeTargetsProtocol: "normal", + }) }) }) } diff --git a/src/assets/javascripts/helpers/reddit.js b/src/assets/javascripts/helpers/reddit.js index 6e932f6d..7c123797 100644 --- a/src/assets/javascripts/helpers/reddit.js +++ b/src/assets/javascripts/helpers/reddit.js @@ -387,12 +387,22 @@ function switchInstance(url) { } async function initDefaults() { - console.log('init redditDefault') - return new Promise(async resolve => { - fetch('/instances/data.json').then(response => response.text()).then(async data => { - let dataJson = JSON.parse(data); - redirects.teddit = dataJson.teddit; - redirects.libreddit = dataJson.libreddit; + fetch('/instances/data.json').then(response => response.text()).then(async data => { + let dataJson = JSON.parse(data); + redirects.teddit = dataJson.teddit; + redirects.libreddit = dataJson.libreddit; + browser.storage.local.get('cloudflareList', async r => { + libredditNormalRedirectsChecks = [...redirects.libreddit.normal]; + tedditNormalRedirectsChecks = [...redirects.teddit.normal] + for (const instance of r.cloudflareList) { + let i; + + i = libredditNormalRedirectsChecks.indexOf(instance); + if (i > -1) libredditNormalRedirectsChecks.splice(i, 1); + + i = tedditNormalRedirectsChecks.indexOf(instance); + if (i > -1) tedditNormalRedirectsChecks.splice(i, 1); + } await browser.storage.local.set({ disableReddit: false, redditProtocol: 'normal', @@ -401,18 +411,15 @@ async function initDefaults() { bypassWatchOnReddit: true, alwaysUsePreferred: false, - redditRedirects: { - 'libreddit': redirects.libreddit, - 'teddit': redirects.teddit, - }, + redditRedirects: redirects, - libredditNormalRedirectsChecks: [...redirects.libreddit.normal], + libredditNormalRedirectsChecks: libredditNormalRedirectsChecks, libredditNormalCustomRedirects: [], libredditTorRedirectsChecks: [...redirects.libreddit.tor], libredditTorCustomRedirects: [], - tedditNormalRedirectsChecks: [...redirects.teddit.normal], + tedditNormalRedirectsChecks: tedditNormalRedirectsChecks, tedditNormalCustomRedirects: [], tedditTorRedirectsChecks: [...redirects.teddit.tor], @@ -430,9 +437,8 @@ async function initDefaults() { redditUseHls: false, redditHideHlsNotification: false, }); - resolve(); }); - }) + }); } async function init() { diff --git a/src/assets/javascripts/helpers/search.js b/src/assets/javascripts/helpers/search.js index e42b05dd..c26eeb29 100644 --- a/src/assets/javascripts/helpers/search.js +++ b/src/assets/javascripts/helpers/search.js @@ -27,7 +27,6 @@ let redirects = { "i2p": [] } }; -const getRedirects = () => redirects; function setSearxRedirects(val) { redirects.searx = val; @@ -283,42 +282,60 @@ async function initDefaults() { redirects.searx = dataJson.searx; redirects.searxng = dataJson.searxng; redirects.whoogle = dataJson.whoogle; - await browser.storage.local.set({ - disableSearch: false, - searchFrontend: 'searxng', - searchRedirects: redirects, - whoogleNormalRedirectsChecks: [...redirects.whoogle.normal], - whoogleNormalCustomRedirects: [], + browser.storage.local.get('cloudflareList', async r => { + whoogleNormalRedirectsChecks = [...redirects.whoogle.normal]; + searxNormalRedirectsChecks = [...redirects.searx.normal]; + searxngNormalRedirectsChecks = [...redirects.searxng.normal]; + for (const instance of r.cloudflareList) { + let i; - whoogleTorRedirectsChecks: [...redirects.whoogle.tor], - whoogleTorCustomRedirects: [], + i = whoogleNormalRedirectsChecks.indexOf(instance); + if (i > -1) whoogleNormalRedirectsChecks.splice(i, 1); - whoogleI2pRedirectsChecks: [...redirects.whoogle.i2p], - whoogleI2pCustomRedirects: [], + i = searxNormalRedirectsChecks.indexOf(instance); + if (i > -1) searxNormalRedirectsChecks.splice(i, 1); - searxNormalRedirectsChecks: [...redirects.searx.normal], - searxNormalCustomRedirects: [], + i = searxngNormalRedirectsChecks.indexOf(instance); + if (i > -1) searxngNormalRedirectsChecks.splice(i, 1); + } + await browser.storage.local.set({ + disableSearch: false, + searchFrontend: 'searxng', + searchRedirects: redirects, - searxTorRedirectsChecks: [...redirects.searx.tor], - searxTorCustomRedirects: [], + whoogleNormalRedirectsChecks: whoogleNormalRedirectsChecks, + whoogleNormalCustomRedirects: [], - searxI2pRedirectsChecks: [...redirects.searx.i2p], - searxI2pCustomRedirects: [], + whoogleTorRedirectsChecks: [...redirects.whoogle.tor], + whoogleTorCustomRedirects: [], - searxngNormalRedirectsChecks: [...redirects.searxng.normal], - searxngNormalCustomRedirects: [], + whoogleI2pRedirectsChecks: [...redirects.whoogle.i2p], + whoogleI2pCustomRedirects: [], - searxngTorRedirectsChecks: [...redirects.searxng.tor], - searxngTorCustomRedirects: [], + searxNormalRedirectsChecks: searxNormalRedirectsChecks, + searxNormalCustomRedirects: [], - searxngI2pRedirectsChecks: [...redirects.searxng.i2p], - searxngI2pCustomRedirects: [], + searxTorRedirectsChecks: [...redirects.searx.tor], + searxTorCustomRedirects: [], - theme: 'DEFAULT', - applyThemeToSites: false, + searxI2pRedirectsChecks: [...redirects.searx.i2p], + searxI2pCustomRedirects: [], - searchProtocol: 'normal', + searxngNormalRedirectsChecks: searxngNormalRedirectsChecks, + searxngNormalCustomRedirects: [], + + searxngTorRedirectsChecks: [...redirects.searxng.tor], + searxngTorCustomRedirects: [], + + searxngI2pRedirectsChecks: [...redirects.searxng.i2p], + searxngI2pCustomRedirects: [], + + theme: 'DEFAULT', + applyThemeToSites: false, + + searchProtocol: 'normal', + }) }) }) } @@ -403,7 +420,6 @@ async function init() { } export default { - getRedirects, setSearxRedirects, setSearxngRedirects, diff --git a/src/assets/javascripts/helpers/sendTargets.js b/src/assets/javascripts/helpers/sendTargets.js index 1ab2b2e8..f131f5c3 100644 --- a/src/assets/javascripts/helpers/sendTargets.js +++ b/src/assets/javascripts/helpers/sendTargets.js @@ -92,17 +92,24 @@ async function initDefaults() { fetch('/instances/data.json').then(response => response.text()).then(async data => { let dataJson = JSON.parse(data); redirects.send = dataJson.send; - await browser.storage.local.set({ - disableSendTarget: false, - sendTargetsRedirects: redirects, - - sendNormalRedirectsChecks: [...redirects.send.normal], - sendNormalCustomRedirects: [], - - sendTorRedirectsChecks: [...redirects.send.tor], - sendTorCustomRedirects: [], - - sendTargetsProtocol: "normal", + browser.storage.local.get('cloudflareList', async r => { + sendNormalRedirectsChecks = [...redirects.send.normal]; + for (const instance of r.cloudflareList) { + let i = sendNormalRedirectsChecks.indexOf(instance); + if (i > -1) sendNormalRedirectsChecks.splice(i, 1); + } + await browser.storage.local.set({ + disableSendTarget: false, + sendTargetsRedirects: redirects, + + sendNormalRedirectsChecks: sendNormalRedirectsChecks, + sendNormalCustomRedirects: [], + + sendTorRedirectsChecks: [...redirects.send.tor], + sendTorCustomRedirects: [], + + sendTargetsProtocol: "normal", + }) }) }) } diff --git a/src/assets/javascripts/helpers/speedtest.js b/src/assets/javascripts/helpers/speedtest.js index 4f59cbb5..00f0a138 100644 --- a/src/assets/javascripts/helpers/speedtest.js +++ b/src/assets/javascripts/helpers/speedtest.js @@ -64,6 +64,8 @@ async function initDefaults() { await browser.storage.local.set({ disableSpeedtest: true, + speedtestRedirects: redirects, + librespeedNormalRedirectsChecks: [...redirects.librespeed.normal], librespeedNormalCustomRedirects: [], diff --git a/src/assets/javascripts/helpers/spotify.js b/src/assets/javascripts/helpers/spotify.js index 6863c108..9ff2c7d5 100644 --- a/src/assets/javascripts/helpers/spotify.js +++ b/src/assets/javascripts/helpers/spotify.js @@ -14,7 +14,6 @@ let redirects = { } } -const getRedirects = () => redirects; function setRedirects(val) { redirects.soju = val; browser.storage.local.set({ spotifyTargetsRedirects: redirects }) @@ -25,20 +24,10 @@ function setRedirects(val) { if (index !== -1) sojuNormalRedirectsChecks.splice(index, 1); } browser.storage.local.set({ sojuNormalRedirectsChecks }) - - for (const item of sojuTorRedirectsChecks) - if (!redirects.soju.normal.includes(item)) { - var index = sojuTorRedirectsChecks.indexOf(item); - if (index !== -1) sojuTorRedirectsChecks.splice(index, 1); - } - browser.storage.local.set({ sojuTorRedirectsChecks }) } let sojuNormalRedirectsChecks; -let sojuTorRedirectsChecks; -let sojuNormalCustomRedirects = []; -let sojuTorCustomRedirects = []; - +let sojuNormalCustomRedirects; let disable; // disableSpotifyTargets function switchInstance(url) { @@ -83,6 +72,8 @@ async function initDefaults() { await browser.storage.local.set({ disableSpotifyTargets: true, + spotifyRedirects: redirects, + sojuNormalRedirectsChecks: [...redirects.soju.normal], sojuNormalCustomRedirects: [], }) @@ -95,9 +86,6 @@ async function init() { "sojuNormalRedirectsChecks", "sojuNormalCustomRedirects", - - "sojuTorRedirectsChecks", - "sojuTorCustomRedirects", ], r => { disable = r.disableSpotifyTargets; @@ -109,7 +97,6 @@ async function init() { } export default { - getRedirects, setRedirects, switchInstance, diff --git a/src/assets/javascripts/helpers/translate/lingva-preferences.js b/src/assets/javascripts/helpers/translate/lingva-preferences.js index b63e2876..a9652903 100644 --- a/src/assets/javascripts/helpers/translate/lingva-preferences.js +++ b/src/assets/javascripts/helpers/translate/lingva-preferences.js @@ -6,8 +6,8 @@ browser.storage.local.get( "applyThemeToSites", ], r => { - let applyThemeToSites = r.applyThemeToSites ?? false; - let theme = r.theme ?? "DEFAULT"; + let applyThemeToSites = r.applyThemeToSites; + let theme = r.theme; if (applyThemeToSites && theme != "DEFAULT") localStorage.setItem("chakra-ui-color-mode", r.theme); } diff --git a/src/assets/javascripts/helpers/translate/translate.js b/src/assets/javascripts/helpers/translate/translate.js index 4c4cee79..7ce67433 100644 --- a/src/assets/javascripts/helpers/translate/translate.js +++ b/src/assets/javascripts/helpers/translate/translate.js @@ -68,15 +68,13 @@ let lingvaNormalCustomRedirects = []; let lingvaTorCustomRedirects = []; -let disable; // translateDisable -let frontend; // translateFrontend -let protocol; // translateProtocol - -let from; // translateFrom -let to; // translateTo - - -let simplyTranslateEngine; +let + disable, // translateDisable + frontend, // translateFrontend + protocol, // translateProtocol + from, // translateFrom + to, // translateTo + simplyTranslateEngine; function isTranslateRedirects(url, type, frontend) { let protocolHost = commonHelper.protocolHost(url); @@ -203,82 +201,91 @@ function switchInstance(url) { } async function initDefaults() { - fetch('/instances/data.json').then(response => response.text()).then(async data => { let dataJson = JSON.parse(data); redirects.simplyTranslate = dataJson.simplyTranslate; redirects.lingva = dataJson.lingva; - await browser.storage.local.set({ - translateDisable: false, - translateFrontend: "simplyTranslate", - translateProtocol: 'normal', - translateRedirects: redirects, - - simplyTranslateNormalRedirectsChecks: [...redirects.simplyTranslate.normal], - simplyTranslateNormalCustomRedirects: [], - simplyTranslateTorRedirectsChecks: [...redirects.simplyTranslate.tor], - simplyTranslateTorCustomRedirects: [], - - lingvaNormalRedirectsChecks: [...redirects.lingva.normal], - lingvaNormalCustomRedirects: [], - lingvaTorRedirectsChecks: [...redirects.lingva.tor], - lingvaTorCustomRedirects: [], - - translateFrom: "auto", - translateTo: 'en', - simplyTranslateEngine: 'google', + browser.storage.local.get('cloudflareList', async r => { + simplyTranslateNormalRedirectsChecks = [...redirects.simplyTranslate.normal]; + lingvaNormalRedirectsChecks = [...redirects.lingva.normal] + for (const instance of r.cloudflareList) { + let i; + + i = simplyTranslateNormalRedirectsChecks.indexOf(instance); + if (i > -1) simplyTranslateNormalRedirectsChecks.splice(i, 1); + + i = lingvaNormalRedirectsChecks.indexOf(instance); + if (i > -1) lingvaNormalRedirectsChecks.splice(i, 1); + } + await browser.storage.local.set({ + translateDisable: false, + translateFrontend: "simplyTranslate", + translateProtocol: 'normal', + translateRedirects: redirects, + + simplyTranslateNormalRedirectsChecks: simplyTranslateNormalRedirectsChecks, + simplyTranslateNormalCustomRedirects: [], + simplyTranslateTorRedirectsChecks: [...redirects.simplyTranslate.tor], + simplyTranslateTorCustomRedirects: [], + + lingvaNormalRedirectsChecks: lingvaNormalRedirectsChecks, + lingvaNormalCustomRedirects: [], + lingvaTorRedirectsChecks: [...redirects.lingva.tor], + lingvaTorCustomRedirects: [], + + translateFrom: "auto", + translateTo: 'en', + simplyTranslateEngine: 'google', + }) }) }) } async function init() { - fetch('/instances/data.json').then(response => response.text()).then(data => { - let dataJson = JSON.parse(data); - browser.storage.local.get( - [ - "translateDisable", - "translateFrontend", - "translateProtocol", - "translateRedirects", - - "simplyTranslateNormalRedirectsChecks", - "simplyTranslateNormalCustomRedirects", - "simplyTranslateTorRedirectsChecks", - "simplyTranslateTorCustomRedirects", - - "lingvaNormalRedirectsChecks", - "lingvaNormalCustomRedirects", - "lingvaTorRedirectsChecks", - "lingvaTorCustomRedirects", - - "translateFrom", - "translateTo", - "simplyTranslateEngine", - ], - result => { - disable = result.translateDisable; - frontend = result.translateFrontend; - protocol = result.translateProtocol; - - from = result.translateFrom; - to = result.translateTo; - simplyTranslateEngine = result.simplyTranslateEngine; - - redirects = result.translateRedirects; - - simplyTranslateNormalRedirectsChecks = result.simplyTranslateNormalRedirectsChecks; - simplyTranslateNormalCustomRedirects = result.simplyTranslateNormalCustomRedirects; - - simplyTranslateTorRedirectsChecks = result.simplyTranslateTorRedirectsChecks; - simplyTranslateTorCustomRedirects = result.simplyTranslateTorCustomRedirects; - - lingvaNormalRedirectsChecks = result.lingvaNormalRedirectsChecks; - lingvaNormalCustomRedirects = result.lingvaNormalCustomRedirects; - - lingvaTorRedirectsChecks = result.lingvaTorRedirectsChecks; - lingvaTorCustomRedirects = result.lingvaTorCustomRedirects; - }); - }); + browser.storage.local.get( + [ + "translateDisable", + "translateFrontend", + "translateProtocol", + "translateRedirects", + + "simplyTranslateNormalRedirectsChecks", + "simplyTranslateNormalCustomRedirects", + "simplyTranslateTorRedirectsChecks", + "simplyTranslateTorCustomRedirects", + + "lingvaNormalRedirectsChecks", + "lingvaNormalCustomRedirects", + "lingvaTorRedirectsChecks", + "lingvaTorCustomRedirects", + + "translateFrom", + "translateTo", + "simplyTranslateEngine", + ], + result => { + disable = result.translateDisable; + frontend = result.translateFrontend; + protocol = result.translateProtocol; + + from = result.translateFrom; + to = result.translateTo; + simplyTranslateEngine = result.simplyTranslateEngine; + + redirects = result.translateRedirects; + + simplyTranslateNormalRedirectsChecks = result.simplyTranslateNormalRedirectsChecks; + simplyTranslateNormalCustomRedirects = result.simplyTranslateNormalCustomRedirects; + + simplyTranslateTorRedirectsChecks = result.simplyTranslateTorRedirectsChecks; + simplyTranslateTorCustomRedirects = result.simplyTranslateTorCustomRedirects; + + lingvaNormalRedirectsChecks = result.lingvaNormalRedirectsChecks; + lingvaNormalCustomRedirects = result.lingvaNormalCustomRedirects; + + lingvaTorRedirectsChecks = result.lingvaTorRedirectsChecks; + lingvaTorCustomRedirects = result.lingvaTorCustomRedirects; + }); } export default { diff --git a/src/assets/javascripts/helpers/twitter.js b/src/assets/javascripts/helpers/twitter.js index 250b9050..2a213a80 100644 --- a/src/assets/javascripts/helpers/twitter.js +++ b/src/assets/javascripts/helpers/twitter.js @@ -219,37 +219,44 @@ async function initDefaults() { await fetch('/instances/data.json').then(response => response.text()).then(async data => { let dataJson = JSON.parse(data); redirects.nitter = dataJson.nitter; - await browser.storage.local.set({ - disableTwitter: false, - - enableTwitterCustomSettings: false, - - twitterRedirects: redirects, - bypassWatchOnTwitter: true, - - nitterNormalRedirectsChecks: [...redirects.nitter.normal], - nitterNormalCustomRedirects: [], - - nitterTorRedirectsChecks: [...redirects.nitter.tor], - nitterTorCustomRedirects: [], - - twitterProtocol: "normal", - alwaysUsePreferred: false, - - nitterTheme: 'Auto', - nitterInfiniteScroll: false, - nitterStickyProfile: true, - nitterBidiSupport: false, - nitterHideTweetStats: false, - nitterHideBanner: false, - nitterHidePins: false, - nitterHideReplies: false, - nitterSquareAvatars: false, - nitterMp4Playback: true, - nitterHlsPlayback: false, - nitterProxyVideos: true, - nitterMuteVideos: false, - nitterAutoplayGifs: true, + browser.storage.local.get('cloudflareList', async r => { + nitterNormalRedirectsChecks = [...redirects.nitter.normal]; + for (const instance of r.cloudflareList) { + let i = nitterNormalRedirectsChecks.indexOf(instance); + if (i > -1) nitterNormalRedirectsChecks.splice(i, 1); + } + await browser.storage.local.set({ + disableTwitter: false, + + enableTwitterCustomSettings: false, + + twitterRedirects: redirects, + bypassWatchOnTwitter: true, + + nitterNormalRedirectsChecks: nitterNormalRedirectsChecks, + nitterNormalCustomRedirects: [], + + nitterTorRedirectsChecks: [...redirects.nitter.tor], + nitterTorCustomRedirects: [], + + twitterProtocol: "normal", + alwaysUsePreferred: false, + + nitterTheme: 'Auto', + nitterInfiniteScroll: false, + nitterStickyProfile: true, + nitterBidiSupport: false, + nitterHideTweetStats: false, + nitterHideBanner: false, + nitterHidePins: false, + nitterHideReplies: false, + nitterSquareAvatars: false, + nitterMp4Playback: true, + nitterHlsPlayback: false, + nitterProxyVideos: true, + nitterMuteVideos: false, + nitterAutoplayGifs: true, + }) }) }) } diff --git a/src/assets/javascripts/helpers/wikipedia.js b/src/assets/javascripts/helpers/wikipedia.js index 04ba51b9..b11eb1d2 100644 --- a/src/assets/javascripts/helpers/wikipedia.js +++ b/src/assets/javascripts/helpers/wikipedia.js @@ -141,21 +141,29 @@ async function initDefaults() { fetch('/instances/data.json').then(response => response.text()).then(async data => { let dataJson = JSON.parse(data); redirects.wikiless = dataJson.wikiless; - await browser.storage.local.set({ - disableWikipedia: true, - wikipediaRedirects: redirects, - wikilessNormalRedirectsChecks: [...redirects.wikiless.normal], - wikilessTorRedirectsChecks: [...redirects.wikiless.tor], - wikilessI2pRedirectsChecks: [...redirects.wikiless.i2p], - wikilessNormalCustomRedirects: [], - wikilessTorCustomRedirects: [], - wikilessI2pCustomRedirects: [], - wikipediaProtocol: "normal", - - theme: 'DEFAULT', - applyThemeToSites: false, + browser.storage.local.get('cloudflareList', async r => { + wikilessNormalRedirectsChecks = [...redirects.wikiless.normal]; + for (const instance of r.cloudflareList) { + let i; + + i = wikilessNormalRedirectsChecks.indexOf(instance); + if (i > -1) wikilessNormalRedirectsChecks.splice(i, 1); + } + await browser.storage.local.set({ + disableWikipedia: true, + wikipediaRedirects: redirects, + wikilessNormalRedirectsChecks: wikilessNormalRedirectsChecks, + wikilessTorRedirectsChecks: [...redirects.wikiless.tor], + wikilessI2pRedirectsChecks: [...redirects.wikiless.i2p], + wikilessNormalCustomRedirects: [], + wikilessTorCustomRedirects: [], + wikilessI2pCustomRedirects: [], + wikipediaProtocol: "normal", + + theme: 'DEFAULT', + applyThemeToSites: false, + }) }) - }) } diff --git a/src/assets/javascripts/helpers/youtube/youtube.js b/src/assets/javascripts/helpers/youtube/youtube.js index 193a4ec3..7c4ad8c8 100644 --- a/src/assets/javascripts/helpers/youtube/youtube.js +++ b/src/assets/javascripts/helpers/youtube/youtube.js @@ -25,21 +25,8 @@ let redirects = { "tor": [] }, "piped": { - "normal": [ - "https://piped.kavin.rocks", - "https://piped.silkky.cloud", - "https://piped.tokhmi.xyz", - "https://piped.moomoo.me", - "https://il.ax", - "https://piped.syncpundit.com", - "https://piped.mha.fi", - "https://piped.mint.lgbt", - "https://piped.privacy.com.de", - "https://piped.notyourcomputer.net" - ], - "tor": [ - "http://piped2bbch4xslbl2ckr6k62q56kon56ffowxaqzy42ai22a4sash3ad.onion" - ] + "normal": [], + "tor": [] }, "pipedMaterial": { "normal": [ @@ -52,28 +39,32 @@ let redirects = { const getRedirects = () => redirects; -let invidiousNormalRedirectsChecks; -let invidiousNormalCustomRedirects = []; -let invidiousTorRedirectsChecks; -let invidiousTorCustomRedirects = []; - -let pipedNormalRedirectsChecks; -let pipedNormalCustomRedirects = []; -let pipedTorRedirectsChecks; -let pipedTorCustomRedirects = []; - -let pipedMaterialNormalRedirectsChecks; -let pipedMaterialNormalCustomRedirects = []; -let pipedMaterialTorRedirectsChecks; -let pipedMaterialTorCustomRedirects = []; - -let disable; -let protocol; -let OnlyEmbeddedVideo; -let frontend; -let youtubeEmbedFrontend; -let bypassWatchOnYoutube; -let alwaysUsePreferred; +let + invidiousNormalRedirectsChecks, + invidiousNormalCustomRedirects, + invidiousTorRedirectsChecks, + invidiousTorCustomRedirects; + +let + pipedNormalRedirectsChecks, + pipedNormalCustomRedirects, + pipedTorRedirectsChecks, + pipedTorCustomRedirects; + +let + pipedMaterialNormalRedirectsChecks, + pipedMaterialNormalCustomRedirects, + pipedMaterialTorRedirectsChecks, + pipedMaterialTorCustomRedirects; + +let + disable, + protocol, + OnlyEmbeddedVideo, + frontend, + youtubeEmbedFrontend, + bypassWatchOnYoutube, + alwaysUsePreferred; function redirect(url, details, initiator) { if (disable) return null; @@ -309,54 +300,69 @@ function isPipedorInvidious(url, type, frontend) { } async function initDefaults() { - console.log('youtube initDefaults') return new Promise(async resolve => { fetch('/instances/data.json').then(response => response.text()).then(async data => { let dataJson = JSON.parse(data); redirects.invidious = dataJson.invidious; - await browser.storage.local.set({ - disableYoutube: false, - enableYoutubeCustomSettings: false, - OnlyEmbeddedVideo: 'both', + redirects.piped = dataJson.piped; + browser.storage.local.get('cloudflareList', async r => { - youtubeRedirects: { - 'invidious': dataJson.invidious, - 'piped': redirects.piped, - 'pipedMaterial': redirects.pipedMaterial - }, + invidiousNormalRedirectsChecks = [...redirects.invidious.normal]; + pipedNormalRedirectsChecks = [...redirects.piped.normal]; + pipedMaterialNormalRedirectsChecks = [...redirects.pipedMaterial.normal]; - youtubeFrontend: 'invidious', + for (const instance of r.cloudflareList) { + let i; - invidiousNormalRedirectsChecks: [...redirects.invidious.normal], - invidiousNormalCustomRedirects: [], + i = invidiousNormalRedirectsChecks.indexOf(instance); + if (i > -1) invidiousNormalRedirectsChecks.splice(i, 1); - invidiousTorRedirectsChecks: [...redirects.invidious.tor], - invidiousTorCustomRedirects: [], + i = pipedNormalRedirectsChecks.indexOf(instance); + if (i > -1) pipedNormalRedirectsChecks.splice(i, 1); - pipedNormalRedirectsChecks: [...redirects.piped.normal], - pipedNormalCustomRedirects: [], + i = pipedMaterialNormalRedirectsChecks.indexOf(instance); + if (i > -1) pipedMaterialNormalRedirectsChecks.splice(i, 1); + } - pipedTorRedirectsChecks: [...redirects.piped.tor], - pipedTorCustomRedirects: [], + await browser.storage.local.set({ + disableYoutube: false, + enableYoutubeCustomSettings: false, + OnlyEmbeddedVideo: 'both', - pipedMaterialNormalRedirectsChecks: [...redirects.pipedMaterial.normal], - pipedMaterialNormalCustomRedirects: [], + youtubeRedirects: redirects, - pipedMaterialTorRedirectsChecks: [...redirects.pipedMaterial.tor], - pipedMaterialTorCustomRedirects: [], + youtubeFrontend: 'invidious', - alwaysUsePreferred: false, - youtubeEmbedFrontend: 'invidious', - youtubeProtocol: 'normal', - bypassWatchOnYoutube: true, - }) + invidiousNormalRedirectsChecks: invidiousNormalRedirectsChecks, + invidiousNormalCustomRedirects: [], - await invidious.initDefaults(); - await piped.initDefaults(); - await pipedMaterial.initDefaults(); - resolve(); - } - ) + invidiousTorRedirectsChecks: [...redirects.invidious.tor], + invidiousTorCustomRedirects: [], + + pipedNormalRedirectsChecks: pipedNormalRedirectsChecks, + pipedNormalCustomRedirects: [], + + pipedTorRedirectsChecks: [...redirects.piped.tor], + pipedTorCustomRedirects: [], + + pipedMaterialNormalRedirectsChecks: pipedMaterialNormalRedirectsChecks, + pipedMaterialNormalCustomRedirects: [], + + pipedMaterialTorRedirectsChecks: [...redirects.pipedMaterial.tor], + pipedMaterialTorCustomRedirects: [], + + alwaysUsePreferred: false, + youtubeEmbedFrontend: 'invidious', + youtubeProtocol: 'normal', + bypassWatchOnYoutube: true, + }) + + await invidious.initDefaults(); + await piped.initDefaults(); + await pipedMaterial.initDefaults(); + resolve(); + }) + }) }) } diff --git a/src/assets/javascripts/helpers/youtubeMusic.js b/src/assets/javascripts/helpers/youtubeMusic.js index ef707855..0b06bfa3 100644 --- a/src/assets/javascripts/helpers/youtubeMusic.js +++ b/src/assets/javascripts/helpers/youtubeMusic.js @@ -68,7 +68,9 @@ function redirect(url, type) { async function initDefaults() { await browser.storage.local.set({ - disableYoutubeMusic: false, + disableYoutubeMusic: true, + + youtubeMusicRedirects: redirects, beatbumpNormalRedirectsChecks: [...redirects.beatbump.normal], beatbumpNormalCustomRedirects: [], |