diff options
Diffstat (limited to 'src/assets/javascripts')
18 files changed, 756 insertions, 2208 deletions
diff --git a/src/assets/javascripts/helpers/general.js b/src/assets/javascripts/helpers/general.js index 9fec500f..4a1681e9 100644 --- a/src/assets/javascripts/helpers/general.js +++ b/src/assets/javascripts/helpers/general.js @@ -111,7 +111,6 @@ let allPopupFrontends = [ "tikTok", "imgur", "reddit", - "pixiv", "spotify", "search", "translate", diff --git a/src/assets/javascripts/helpers/lbry.js b/src/assets/javascripts/helpers/lbry.js index 21779fa9..8b0f78a7 100644 --- a/src/assets/javascripts/helpers/lbry.js +++ b/src/assets/javascripts/helpers/lbry.js @@ -22,13 +22,6 @@ let redirects = { } const getRedirects = () => redirects; -const getCustomRedirects = function () { - return { - "librarian": { - "normal": [...librarianNormalRedirectsChecks, ...librarianNormalCustomRedirects] - }, - }; -}; function setRedirects(val) { redirects.librarian = val; @@ -39,62 +32,23 @@ function setRedirects(val) { var index = librarianNormalRedirectsChecks.indexOf(item); if (index !== -1) librarianNormalRedirectsChecks.splice(index, 1); } - setLibrarianNormalRedirectsChecks(librarianNormalRedirectsChecks); + browser.storage.local.set(librarianNormalRedirectsChecks); for (const item of librarianTorRedirectsChecks) if (!redirects.librarian.normal.includes(item)) { var index = librarianTorRedirectsChecks.indexOf(item); if (index !== -1) librarianTorRedirectsChecks.splice(index, 1); } - setLibrarianTorRedirectsChecks(librarianTorRedirectsChecks); + browser.storage.local.set(librarianTorRedirectsChecks) } let librarianNormalRedirectsChecks; -const getLibrarianNormalRedirectsChecks = () => librarianNormalRedirectsChecks; -function setLibrarianNormalRedirectsChecks(val) { - librarianNormalRedirectsChecks = val; - browser.storage.local.set({ librarianNormalRedirectsChecks }) - console.log("librarianNormalRedirectsChecks: ", val) -} - let librarianTorRedirectsChecks; -const getLibrarianTorRedirectsChecks = () => librarianTorRedirectsChecks; -function setLibrarianTorRedirectsChecks(val) { - librarianTorRedirectsChecks = val; - browser.storage.local.set({ librarianTorRedirectsChecks }) - console.log("librarianTorRedirectsChecks: ", val) -} - let librarianNormalCustomRedirects = []; -const getLibrarianNormalCustomRedirects = () => librarianNormalCustomRedirects; -function setLibrarianNormalCustomRedirects(val) { - librarianNormalCustomRedirects = val; - browser.storage.local.set({ librarianNormalCustomRedirects }) - console.log("librarianNormalCustomRedirects: ", val) -} - let librarianTorCustomRedirects = []; -const getLibrarianTorCustomRedirects = () => librarianTorCustomRedirects; -function setLibrarianTorCustomRedirects(val) { - librarianTorCustomRedirects = val; - browser.storage.local.set({ librarianTorCustomRedirects }) - console.log("librarianTorCustomRedirects: ", val) -} -let disable; -const getDisable = () => disable; -function setDisable(val) { - disable = val; - browser.storage.local.set({ disableLbryTargets: disable }) -} - -let protocol; -const getProtocol = () => protocol; -function setProtocol(val) { - protocol = val; - browser.storage.local.set({ lbryTargetsProtocol: val }) - console.log("lbryTargetsProtocol: ", val) -} +let disable; // disableLbryTargets +let protocol; // lbryTargetsProtocol function switchInstance(url) { let protocolHost = commonHelper.protocolHost(url); @@ -138,68 +92,69 @@ function redirect(url, type, initiator) { return `${randomInstance}${url.pathname}${url.search}`; } +async function initDefaults() { + return new Promise(async resolve => { + await browser.storage.local.set({ + disableLbryTargets: true, + lbryTargetsRedirects: { + 'librarian': redirects.librarian + }, + + librarianNormalRedirectsChecks: [...redirects.librarian.normal], + librarianNormalCustomRedirects: [], + + librarianTorRedirectsChecks: [...redirects.librarian.tor], + librarianTorCustomRedirects: [], + + lbryTargetsProtocol: "normal", + }) + resolve(); + }) +} + + async function init() { return new Promise(resolve => { - fetch('/instances/data.json').then(response => response.text()).then(data => { - let dataJson = JSON.parse(data); - browser.storage.local.get( - [ - "disableLbryTargets", - "lbryTargetsRedirects", + browser.storage.local.get( + [ + "disableLbryTargets", + "lbryTargetsRedirects", - "librarianNormalRedirectsChecks", - "librarianNormalCustomRedirects", + "librarianNormalRedirectsChecks", + "librarianNormalCustomRedirects", - "librarianTorRedirectsChecks", - "librarianTorCustomRedirects", + "librarianTorRedirectsChecks", + "librarianTorCustomRedirects", - "lbryTargetsProtocol" - ], - r => { + "lbryTargetsProtocol" + ], + r => { - disable = r.disableLbryTargets ?? true; + disable = r.disableLbryTargets; - protocol = r.lbryTargetsProtocol ?? "normal"; + protocol = r.lbryTargetsProtocol; - if (r.lbryTargetsRedirects) redirects = r.lbryTargetsRedirects; + redirects = r.lbryTargetsRedirects; - librarianNormalRedirectsChecks = r.librarianNormalRedirectsChecks ?? [...redirects.librarian.normal]; - librarianNormalCustomRedirects = r.librarianNormalCustomRedirects ?? []; + librarianNormalRedirectsChecks = r.librarianNormalRedirectsChecks; + librarianNormalCustomRedirects = r.librarianNormalCustomRedirects; - librarianTorRedirectsChecks = r.librarianTorRedirectsChecks ?? [...redirects.librarian.tor]; - librarianTorCustomRedirects = r.librarianTorCustomRedirects ?? []; + librarianTorRedirectsChecks = r.librarianTorRedirectsChecks; + librarianTorCustomRedirects = r.librarianTorCustomRedirects; - resolve(); - } - ) - }); + resolve(); + } + ) }); } export default { getRedirects, - getCustomRedirects, setRedirects, - - getDisable, - setDisable, - - getProtocol, - setProtocol, - - getLibrarianNormalRedirectsChecks, - setLibrarianNormalRedirectsChecks, - getLibrarianTorRedirectsChecks, - setLibrarianTorRedirectsChecks, - - getLibrarianTorCustomRedirects, - setLibrarianTorCustomRedirects, - getLibrarianNormalCustomRedirects, - setLibrarianNormalCustomRedirects, - switchInstance, redirect, init, + initDefaults, }; diff --git a/src/assets/javascripts/helpers/maps.js b/src/assets/javascripts/helpers/maps.js index 525fb145..25dcf2c5 100644 --- a/src/assets/javascripts/helpers/maps.js +++ b/src/assets/javascripts/helpers/maps.js @@ -19,38 +19,11 @@ let redirects = { }; const getRedirects = () => redirects; -let disable; -const getDisable = () => disable; -function setDisable(val) { - disable = val; - browser.storage.local.set({ disableMaps: disable }) - console.log("disableMaps: ", disable) -} - -let frontend; -const getFrontend = () => frontend; -function setFrontend(val) { - frontend = val; - browser.storage.local.set({ mapsFrontend: frontend }) - console.log("mapsFrontend: ", frontend) -}; +let disable; // disableMaps +let frontend; // mapsFrontend let facilNormalRedirectsChecks; -const getFacilNormalRedirectsChecks = () => facilNormalRedirectsChecks; -function setFacilNormalRedirectsChecks(val) { - facilNormalRedirectsChecks = val; - browser.storage.local.set({ facilNormalRedirectsChecks }) - console.log("facilNormalRedirectsChecks: ", val) -} - let facilNormalCustomRedirects = []; -const getFacilNormalCustomRedirects = () => facilNormalCustomRedirects; -function setFacilNormalCustomRedirects(val) { - facilNormalCustomRedirects = val; - browser.storage.local.set({ facilNormalCustomRedirects }) - console.log("facilNormalCustomRedirects: ", val) -} - function redirect(url, initiator) { const mapCentreRegex = /@(-?\d[0-9.]*),(-?\d[0-9.]*),(\d{1,2})[.z]/; @@ -213,6 +186,18 @@ function redirect(url, initiator) { if (frontend == 'facil') return `${randomInstance}/${mapCentre}/Mpnk` } +async function initDefaults() { + return new Promise(async resolve => { + await browser.storage.local.set({ + disableMaps: false, + mapsFrontend: 'osm', + + facilNormalRedirectsChecks: [...redirects.facil.normal], + facilNormalCustomRedirects: [], + }) + }) +} + async function init() { return new Promise( resolve => { @@ -225,11 +210,11 @@ async function init() { "facilNormalCustomRedirects", ], r => { - disable = r.disableMaps ?? false; - frontend = r.mapsFrontend ?? 'osm'; + disable = r.disableMaps; + frontend = r.mapsFrontend; - facilNormalRedirectsChecks = r.facilNormalRedirectsChecks ?? [...redirects.facil.normal]; - facilNormalCustomRedirects = r.facilNormalCustomRedirects ?? []; + facilNormalRedirectsChecks = r.facilNormalRedirectsChecks; + facilNormalCustomRedirects = r.facilNormalCustomRedirects; resolve(); } @@ -238,19 +223,9 @@ async function init() { } export default { - getDisable, - setDisable, - - getFrontend, - setFrontend, - getRedirects, - getFacilNormalRedirectsChecks, - setFacilNormalRedirectsChecks, - getFacilNormalCustomRedirects, - setFacilNormalCustomRedirects, - redirect, init, + initDefaults, }; diff --git a/src/assets/javascripts/helpers/maps.js.backup b/src/assets/javascripts/helpers/maps.js.backup deleted file mode 100644 index 81678c3d..00000000 --- a/src/assets/javascripts/helpers/maps.js.backup +++ /dev/null @@ -1,274 +0,0 @@ -window.browser = window.browser || window.chrome; -import commonHelper from './common.js' - -const targets = /^https?:\/{2}(((www|maps)\.)?(google\.).*(\/maps)|maps\.(google\.).*)/; -let redirects = { - 'osm': { - "normal": [ - "https://openstreetmap.org" - ] - }, - 'facil': { - "normal": [ - "https://facilmap.org" - ] - } -}; -const mapCentreRegex = /@(-?\d[0-9.]*),(-?\d[0-9.]*),(\d{1,2})[.z]/; -const dataLatLngRegex = /(!3d|!4d)(-?[0-9]{1,10}.[0-9]{1,10})/g; -const placeRegex = /\/place\/(.*)\//; -const travelModes = { - driving: "fossgis_osrm_car", - walking: "fossgis_osrm_foot", - bicycling: "fossgis_osrm_bike", - transit: "fossgis_osrm_car", // not implemented on OSM, default to car. -}; -const osmLayers = { - none: "S", - transit: "T", - traffic: "S", // not implemented on OSM, default to standard. - bicycling: "C", -}; - -function addressToLatLng(address, callback) { - const xmlhttp = new XMLHttpRequest(); - xmlhttp.onreadystatechange = () => { - if (xmlhttp.readyState === XMLHttpRequest.DONE) { - if (xmlhttp.status === 200) { - const json = JSON.parse(xmlhttp.responseText)[0]; - if (json) callback( - `${json.lat},${json.lon}`, - `${json.boundingbox[2]},${json.boundingbox[1]},${json.boundingbox[3]},${json.boundingbox[0]}` - ); - } else - console.info("Error: Status is " + xmlhttp.status); - } - }; - xmlhttp.open( - "GET", - `https://nominatim.openstreetmap.org/search/${address}?format=json&limit=1`, - false - ); - xmlhttp.send(); -} - -let disable; -const getDisable = () => disable; -function setDisable(val) { - disable = val; - browser.storage.local.set({ disableMaps: disable }) - console.log("disableMaps: ", disable) -} - -let frontend; -const getFrontend = () => frontend; -function setFrontend(val) { - frontend = val; - browser.storage.local.set({ mapsFrontend: frontend }) - console.log("mapsFrontend: ", frontend) -}; - -function redirect(url, initiator) { - - if (disable) return; - if (initiator && initiator.host === "earth.google.com") return; - - if (!url.href.match(targets)) return; - - let redirect; - let randomInstance; - if (frontend == 'osm') randomInstance = commonHelper.getRandomInstance(redirects.osm.normal); - if (frontend == 'facil') randomInstance = commonHelper.getRandomInstance(redirects.facil.normal); - let mapCentre = ""; - let prefs = {}; - - // Set map centre if present - if (url.pathname.match(mapCentreRegex)) { - const [, lat, lon, zoom] = url.pathname.match(mapCentreRegex); - if (frontend == 'osm') { - prefs["#map"] = `${zoom}/${lat}/${lon}`; - mapCentre = `#map=${zoom}/${lat}/${lon}`; - console.log("prefs", prefs); - } - if (frontend == 'facil') mapCentre = `#${zoom}/${lat}/${lon}`; - - - console.log("lat", lat) // vertical - console.log("lon", lon) // horizontal - console.log("zoom", zoom) - - } else if (url.searchParams.has("center")) { - const [lat, lon] = url.searchParams.get("center").split(","); - const zoom = url.searchParams.get("zoom") ?? "17"; - if (frontend == 'osm') { - console.log("here"); - mapCentre = `#map=${zoom}/${lat}/${lon}`; - prefs["#map"] = `${zoom}/${lat}/${lon}`; - } - if (frontend == 'facil') mapCentre = `#${zoom}/${lat}/${lon}` - - console.log("lat", lat) - console.log("lon", lon) - console.log("zoom", zoom) - - console.log("prefs", prefs); - } - - // Set map layer - let params = ""; - if (url.searchParams.get("layer")) { - let layer = osmLayers[url.searchParams.get("layer")] - params = `&layers=${layer}`; - console.log("layer", layer); - } - - // Handle Google Maps Embed API - if (url.pathname.includes("/embed")) { - let query = ""; - if (url.searchParams.has("q")) query = url.searchParams.get("q"); - else if (url.searchParams.has("query")) query = url.searchParams.has("query"); - - else if (url.searchParams.has("pb")) - try { query = url.searchParams.get("pb").split(/!2s(.*?)!/)[1]; } - catch (error) { console.error(error); } // Unable to find map marker in URL. - - console.log("query", query); - - let prefs = {}; - addressToLatLng( - query, - (coords, boundingbox) => { - prefs.bbox = boundingbox; - prefs.marker = coords; - } - ); - prefs.layer = "mapnik"; - - let prefsEncoded = new URLSearchParams(prefs).toString(); - - if (frontend == 'osm') redirect = `${randomInstance}/export/embed.html?${prefsEncoded}`; - if (frontend == 'facil') redirect = redirect = `${randomInstance}/${mapCentre}/Mpnk`; - - // Handle Google Maps Directions - } else if (url.pathname.includes("/dir")) { - let prefs = {}; - - prefs.engine = travelModes[url.searchParams.get("travelmode")] ?? travelModes["driving"]; - - let origin; addressToLatLng(url.searchParams.get("origin"), a => origin = a); - let destination; addressToLatLng(url.searchParams.get("destination"), a => destination = a); - prefs.route = `${origin};${destination}`; - - let prefsEncoded = new URLSearchParams(prefs).toString(); - - if (frontend == 'osm') redirect = `${randomInstance}/directions?${prefsEncoded}`; - // ${mapCentre}${params} - - if (frontend == 'facil') { - mapCentre = mapCentre ?? '#1/0/0'; - redirect = redirect = `${randomInstance}/${mapCentre}/Mpnk` - } - - // Get marker from data attribute - } else if (url.pathname.includes("data=") && url.pathname.match(dataLatLngRegex)) { - console.log("data life"); - const [mlat, mlon] = url.pathname.match(dataLatLngRegex); - - let prefs = {}; - - prefs.mlat = mlat.replace("!3d", ""); - prefs.mlon = mlon.replace("!4d", ""); - - let prefsEncoded = new URLSearchParams(prefs).toString(); - - // Stil didn't finished nor tested this - if (frontend == 'osm') redirect = `${randomInstance}/?${prefsEncoded}${mapCentre}${params}`; - - if (frontend == 'facil') redirect = redirect = `${randomInstance}/${mapCentre}/Mpnk` - - console.log("prefs", prefs); - - // Get marker from ll param - } else if (url.searchParams.has("ll")) { - let prefs = {}; - - const [mlat, mlon] = url.searchParams.get("ll").split(","); - - prefs.mlat = mlat; - prefs.mlon = mlon; - - let prefsEncoded = new URLSearchParams(prefs).toString(); - - redirect = `${randomInstance}/?${prefsEncoded}${mapCentre}${params}`; - - console.log("prefs", prefs); - - // Get marker from viewpoint param. - } else if (url.searchParams.has("viewpoint")) { - console.log("viewpoint life"); - - const [mlat, mlon] = url.searchParams.get("viewpoint").split(","); - - let prefs = {}; - prefs.mlat = mlat; - prefs.mlon = mlon; - - let prefsEncoded = new URLSearchParams(prefs).toString(); - - redirect = `${randomInstance}/?${prefsEncoded}${mapCentre}${params}`; - - console.log("prefs", prefs); - - // Use query as search if present. - } else { - console.log("normal life") - - let query; - if (url.searchParams.has("q")) query = url.searchParams.get("q"); - else if (url.searchParams.has("query")) query = url.searchParams.get("query"); - else if (url.pathname.match(placeRegex)) query = url.pathname.match(placeRegex)[1]; - - if (frontend == 'osm') { - query = query ? `/search?query="${query}` : ""; - mapCentre = mapCentre ?? '#'; - redirect = `${randomInstance}${query}${mapCentre}${params}`; - } - if (frontend == 'facil') { - query = query ? `/${query}` : ""; - mapCentre = mapCentre ?? '#1/0/0'; - redirect = `${randomInstance}/${mapCentre}/Mpnk${query}` - } - - console.log("mapCentre", mapCentre) - console.log("query", query) - } - return redirect; -} - -async function init() { - return new Promise( - resolve => { - browser.storage.local.get( - [ - "disableMaps", - "mapsFrontend" - ], - r => { - disable = r.disableMaps ?? false - frontend = r.mapsFrontend ?? 'osm' - resolve(); - } - ); - }); -} - -export default { - getDisable, - setDisable, - - getFrontend, - setFrontend, - - redirect, - init, -}; diff --git a/src/assets/javascripts/helpers/medium.js b/src/assets/javascripts/helpers/medium.js index 55d4b3a2..beea1a99 100644 --- a/src/assets/javascripts/helpers/medium.js +++ b/src/assets/javascripts/helpers/medium.js @@ -51,68 +51,28 @@ function setRedirects(val) { var index = scribeNormalRedirectsChecks.indexOf(item); if (index !== -1) scribeNormalRedirectsChecks.splice(index, 1); } - setScribeNormalRedirectsChecks(scribeNormalRedirectsChecks); + browser.storage.local.set({ scribeNormalRedirectsChecks }) for (const item of scribeNormalRedirectsChecks) if (!redirects.scribe.normal.includes(item)) { var index = scribeNormalRedirectsChecks.indexOf(item); if (index !== -1) scribeNormalRedirectsChecks.splice(index, 1); } - setScribeNormalRedirectsChecks(scribeNormalRedirectsChecks); + browser.storage.local.set({ scribeNormalRedirectsChecks }) for (const item of scribeTorRedirectsChecks) if (!redirects.scribe.normal.includes(item)) { var index = scribeTorRedirectsChecks.indexOf(item); if (index !== -1) scribeTorRedirectsChecks.splice(index, 1); } - setScribeTorRedirectsChecks(scribeTorRedirectsChecks); + browser.storage.local.set({ scribeTorRedirectsChecks }) } let scribeNormalRedirectsChecks; -const getScribeNormalRedirectsChecks = () => scribeNormalRedirectsChecks; -function setScribeNormalRedirectsChecks(val) { - scribeNormalRedirectsChecks = val; - browser.storage.local.set({ scribeNormalRedirectsChecks }) - console.log("scribeNormalRedirectsChecks: ", val) -} - let scribeTorRedirectsChecks; -const getScribeTorRedirectsChecks = () => scribeTorRedirectsChecks; -function setScribeTorRedirectsChecks(val) { - scribeTorRedirectsChecks = val; - browser.storage.local.set({ scribeTorRedirectsChecks }) - console.log("scribeTorRedirectsChecks: ", val) -} - let scribeNormalCustomRedirects = []; -const getScribeNormalCustomRedirects = () => scribeNormalCustomRedirects; -function setScribeNormalCustomRedirects(val) { - scribeNormalCustomRedirects = val; - browser.storage.local.set({ scribeNormalCustomRedirects }) - console.log("scribeNormalCustomRedirects: ", val) -} - let scribeTorCustomRedirects = []; -const getScribeTorCustomRedirects = () => scribeTorCustomRedirects; -function setScribeTorCustomRedirects(val) { - scribeTorCustomRedirects = val; - browser.storage.local.set({ scribeTorCustomRedirects }) - console.log("scribeTorCustomRedirects: ", val) -} let disable; -const getDisable = () => disable; -function setDisable(val) { - disable = val; - browser.storage.local.set({ disableMedium: disable }) - console.log("disableMedium", disable) -} - let protocol; -const getProtocol = () => protocol; -function setProtocol(val) { - protocol = val; - browser.storage.local.set({ mediumProtocol: val }); - console.log("mediumProtocol: ", val); -} function redirect(url, type, initiator) { @@ -162,41 +122,57 @@ function switchInstance(url) { return `${randomInstance}${url.pathname}${url.search}`; } -async function init() { - return new Promise(resolve => { - fetch('/instances/data.json').then(response => response.text()).then(data => { +async function initDefaults() { + return new Promise(async resolve => { + fetch('/instances/data.json').then(response => response.text()).then(async data => { let dataJson = JSON.parse(data); - browser.storage.local.get( - [ - "disableMedium", - "mediumRedirects", - "scribeNormalRedirectsChecks", - "scribeNormalCustomRedirects", - "scribeTorRedirectsChecks", - "scribeTorCustomRedirects", - "mediumProtocol" - ], - r => { - disable = r.disableMedium ?? false; - - protocol = r.mediumProtocol ?? "normal"; - - redirects.scribe = dataJson.scribe; - if (r.mediumRedirects) redirects = r.mediumRedirects; - - scribeNormalRedirectsChecks = r.scribeNormalRedirectsChecks ?? [...redirects.scribe.normal]; - scribeNormalCustomRedirects = r.scribeNormalCustomRedirects ?? []; - - scribeTorRedirectsChecks = r.scribeTorRedirectsChecks ?? [...redirects.scribe.tor]; - scribeTorCustomRedirects = r.scribeTorCustomRedirects ?? []; - - resolve(); - } - ) + redirects.scribe = dataJson.scribe; + await browser.storage.local.set({ + disableMedium: false, + mediumRedirects: redirects, + scribeNormalRedirectsChecks: [...redirects.scribe.normal], + scribeNormalCustomRedirects: [], + scribeTorRedirectsChecks: [...redirects.scribe.tor], + scribeTorCustomRedirects: [], + mediumProtocol: "normal", + }) + resolve(); }) }) } +async function init() { + return new Promise(resolve => { + browser.storage.local.get( + [ + "disableMedium", + "mediumRedirects", + "scribeNormalRedirectsChecks", + "scribeNormalCustomRedirects", + "scribeTorRedirectsChecks", + "scribeTorCustomRedirects", + "mediumProtocol" + ], + r => { + disable = r.disableMedium; + + protocol = r.mediumProtocol; + + + redirects = r.mediumRedirects; + + scribeNormalRedirectsChecks = r.scribeNormalRedirectsChecks; + scribeNormalCustomRedirects = r.scribeNormalCustomRedirects; + + scribeTorRedirectsChecks = r.scribeTorRedirectsChecks; + scribeTorCustomRedirects = r.scribeTorCustomRedirects; + + resolve(); + } + ) + }) +} + export default { targets, @@ -204,23 +180,8 @@ export default { getCustomRedirects, setRedirects, - getDisable, - setDisable, - - getProtocol, - setProtocol, - - getScribeNormalRedirectsChecks, - setScribeNormalRedirectsChecks, - getScribeTorRedirectsChecks, - setScribeTorRedirectsChecks, - - getScribeNormalCustomRedirects, - setScribeNormalCustomRedirects, - getScribeTorCustomRedirects, - setScribeTorCustomRedirects, - redirect, init, + initDefaults, switchInstance, }; diff --git a/src/assets/javascripts/helpers/peertube.js b/src/assets/javascripts/helpers/peertube.js index c9aae80c..17fada2b 100644 --- a/src/assets/javascripts/helpers/peertube.js +++ b/src/assets/javascripts/helpers/peertube.js @@ -11,20 +11,13 @@ let redirects = { "https://tube.fr.tild3.org", "https://stube.alefvanoon.xyz", "https://st.phreedom.club", + "https://simpleertube.esmailelbob.xyz", ], "tor": [] } } const getRedirects = () => redirects; -const getCustomRedirects = function () { - return { - "simpleertube": { - "normal": [...simpleertubeNormalRedirectsChecks, ...simpleertubeNormalCustomRedirects] - }, - }; -}; - function setRedirects(val) { redirects.simpleertube = val; browser.storage.local.set({ peertubeTargetsRedirects: redirects }) @@ -34,62 +27,24 @@ function setRedirects(val) { var index = simpleertubeNormalRedirectsChecks.indexOf(item); if (index !== -1) simpleertubeNormalRedirectsChecks.splice(index, 1); } - setSimpleertubeNormalRedirectsChecks(simpleertubeNormalRedirectsChecks); + browser.storage.local.set({ simpleertubeNormalRedirectsChecks }) for (const item of simpleertubeTorRedirectsChecks) if (!redirects.simpleertube.normal.includes(item)) { var index = simpleertubeTorRedirectsChecks.indexOf(item); if (index !== -1) simpleertubeTorRedirectsChecks.splice(index, 1); } - setSimpleertubeTorRedirectsChecks(simpleertubeTorRedirectsChecks); + browser.storage.local.set({ simpleertubeTorRedirectsChecks }) } let simpleertubeNormalRedirectsChecks; -const getSimpleertubeNormalRedirectsChecks = () => simpleertubeNormalRedirectsChecks; -function setSimpleertubeNormalRedirectsChecks(val) { - simpleertubeNormalRedirectsChecks = val; - browser.storage.local.set({ simpleertubeNormalRedirectsChecks }) - console.log("simpleertubeNormalRedirectsChecks: ", val) -} - let simpleertubeTorRedirectsChecks; -const getSimpleertubeTorRedirectsChecks = () => simpleertubeTorRedirectsChecks; -function setSimpleertubeTorRedirectsChecks(val) { - simpleertubeTorRedirectsChecks = val; - browser.storage.local.set({ simpleertubeTorRedirectsChecks }) - console.log("simpleertubeTorRedirectsChecks: ", val) -} let simpleertubeNormalCustomRedirects = []; -const getSimpleertubeNormalCustomRedirects = () => simpleertubeNormalCustomRedirects; -function setSimpleertubeNormalCustomRedirects(val) { - simpleertubeNormalCustomRedirects = val; - browser.storage.local.set({ simpleertubeNormalCustomRedirects }) - console.log("simpleertubeNormalCustomRedirects: ", val) -} - let simpleertubeTorCustomRedirects = []; -const getSimpleertubeTorCustomRedirects = () => simpleertubeTorCustomRedirects; -function setSimpleertubeTorCustomRedirects(val) { - simpleertubeTorCustomRedirects = val; - browser.storage.local.set({ simpleertubeTorCustomRedirects }) - console.log("simpleertubeTorCustomRedirects: ", val) -} let disable; -const getDisable = () => disable; -function setDisable(val) { - disable = val; - browser.storage.local.set({ disablePeertubeTargets: disable }) -} - let protocol; -const getProtocol = () => protocol; -function setProtocol(val) { - protocol = val; - browser.storage.local.set({ peertubeTargetsProtocol: val }) - console.log("peertubeTargetsProtocol: ", val) -} function switchInstance(url) { let protocolHost = commonHelper.protocolHost(url); @@ -138,70 +93,64 @@ function redirect(url, type, initiator) { return `${randomInstance}/${url.host}${url.pathname}${url.search}`; } -async function init() { - return new Promise(resolve => { - fetch('/instances/data.json').then(response => response.text()).then(data => { - let dataJson = JSON.parse(data); - browser.storage.local.get( - [ - "disablePeertubeTargets", - "peertubeTargetsRedirects", +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], - "simpleertubeNormalRedirectsChecks", - "simpleertubeNormalCustomRedirects", + disablePeertubeTargets: true, - "simpleertubeTorRedirectsChecks", - "simpleertubeTorCustomRedirects", + simpleertubeNormalRedirectsChecks: [...redirects.simpleertube.normal], + simpleertubeNormalCustomRedirects: [], - "peertubeTargetsProtocol" - ], - r => { + simpleertubeTorRedirectsChecks: [...redirects.simpleertube.tor], + simpleertubeTorCustomRedirects: [], - targets = ['https://search.joinpeertube.org', ...dataJson.peertube]; + peertubeTargetsProtocol: "normal", + }) + }) +} - disable = r.disablePeertubeTargets ?? true; +async function init() { + await browser.storage.local.get( + [ + "disablePeertubeTargets", + "simpleertubeNormalRedirectsChecks", + "simpleertubeNormalCustomRedirects", + + "simpleertubeTorRedirectsChecks", + "simpleertubeTorCustomRedirects", - protocol = r.peertubeTargetsProtocol ?? "normal"; + "peerTubeTargets", - if (r.peertubeTargetsRedirects) redirects = r.peertubeTargetsRedirects; + "peertubeTargetsProtocol" + ], + r => { + disable = r.disablePeertubeTargets; - simpleertubeNormalRedirectsChecks = r.simpleertubeNormalRedirectsChecks ?? [...redirects.simpleertube.normal]; - simpleertubeNormalCustomRedirects = r.simpleertubeNormalCustomRedirects ?? []; + protocol = r.peertubeTargetsProtocol; - simpleertubeTorRedirectsChecks = r.simpleertubeTorRedirectsChecks ?? [...redirects.simpleertube.tor]; - simpleertubeTorCustomRedirects = r.simpleertubeTorCustomRedirects ?? []; + targets = r.peerTubeTargets; - resolve(); - } - ) - }); - }); + simpleertubeNormalRedirectsChecks = r.simpleertubeNormalRedirectsChecks; + simpleertubeNormalCustomRedirects = r.simpleertubeNormalCustomRedirects; + + simpleertubeTorRedirectsChecks = r.simpleertubeTorRedirectsChecks; + simpleertubeTorCustomRedirects = r.simpleertubeTorCustomRedirects; + } + ) } export default { getRedirects, - getCustomRedirects, setRedirects, - getDisable, - setDisable, - - getProtocol, - setProtocol, - - getSimpleertubeNormalRedirectsChecks, - setSimpleertubeNormalRedirectsChecks, - getSimpleertubeTorRedirectsChecks, - setSimpleertubeTorRedirectsChecks, - - getSimpleertubeTorCustomRedirects, - setSimpleertubeTorCustomRedirects, - getSimpleertubeNormalCustomRedirects, - setSimpleertubeNormalCustomRedirects, - switchInstance, redirect, + initDefaults, init, }; diff --git a/src/assets/javascripts/helpers/pixiv.js b/src/assets/javascripts/helpers/pixiv.js deleted file mode 100644 index f965a27d..00000000 --- a/src/assets/javascripts/helpers/pixiv.js +++ /dev/null @@ -1,181 +0,0 @@ -window.browser = window.browser || window.chrome; - -import commonHelper from './common.js' - -const targets = [ - /^https?:\/{2}(www\.|)pixiv\.net.*/ -]; - -let redirects = { - "pixivMoe": { - "normal": [ - "https://pixiv.moe" - ], - "tor": [] - } -} - -const getRedirects = () => redirects; -const getCustomRedirects = function () { - return { - "pixivMoe": { - "normal": [...pixivMoeNormalRedirectsChecks, ...pixivMoeNormalCustomRedirects], - "tor": [] - }, - }; -}; - -function setRedirects(val) { - redirects.pixivMoe = val; - browser.storage.local.set({ pixivRedirects: redirects }) - console.log("pixivRedirects: ", val) - for (const item of pixivMoeNormalRedirectsChecks) - if (!redirects.pixivMoe.normal.includes(item)) { - var index = pixivMoeNormalRedirectsChecks.indexOf(item); - if (index !== -1) pixivMoeNormalRedirectsChecks.splice(index, 1); - } - setPixivMoeNormalRedirectsChecks(pixivMoeNormalRedirectsChecks); - - for (const item of pixivMoeTorRedirectsChecks) - if (!redirects.pixivMoe.normal.includes(item)) { - var index = pixivMoeTorRedirectsChecks.indexOf(item); - if (index !== -1) pixivMoeTorRedirectsChecks.splice(index, 1); - } - setPixivMoeTorRedirectsChecks(pixivMoeTorRedirectsChecks); -} - -let pixivMoeNormalRedirectsChecks; -const getPixivMoeNormalRedirectsChecks = () => pixivMoeNormalRedirectsChecks; -function setPixivMoeNormalRedirectsChecks(val) { - pixivMoeNormalRedirectsChecks = val; - browser.storage.local.set({ pixivMoeNormalRedirectsChecks }) - console.log("pixivMoeNormalRedirectsChecks: ", val) -} - -let pixivMoeTorRedirectsChecks; -const getPixivMoeTorRedirectsChecks = () => pixivMoeTorRedirectsChecks; -function setPixivMoeTorRedirectsChecks(val) { - pixivMoeTorRedirectsChecks = val; - browser.storage.local.set({ pixivMoeTorRedirectsChecks }) - console.log("pixivMoeTorRedirectsChecks: ", val) -} - -let pixivMoeNormalCustomRedirects = []; -const getPixivMoeNormalCustomRedirects = () => pixivMoeNormalCustomRedirects; -function setPixivMoeNormalCustomRedirects(val) { - pixivMoeNormalCustomRedirects = val; - browser.storage.local.set({ pixivMoeNormalCustomRedirects }) - console.log("pixivMoeNormalCustomRedirects: ", val) -} - -let pixivMoeTorCustomRedirects = []; -const getPixivMoeTorCustomRedirects = () => pixivMoeTorCustomRedirects; -function setPixivMoeTorCustomRedirects(val) { - pixivMoeTorCustomRedirects = val; - browser.storage.local.set({ pixivMoeTorCustomRedirects }) - console.log("pixivMoeTorCustomRedirects: ", val) -} - -let disable; -const getDisable = () => disable; -function setDisable(val) { - disable = val; - browser.storage.local.set({ disablePixiv: disable }) - console.log("disablePixiv", val); -} - -let protocol; -const getProtocol = () => protocol; -function setProtocol(val) { - protocol = val; - browser.storage.local.set({ pixivProtocol: val }) - console.log("pixivProtocol: ", val) -} - -function redirect(url, type, initiator) { - // https://www.pixiv.net/artworks/96572356 - // https://www.pixiv.net/en/artworks/96572356 - // https://pixiv.moe/illust/96572356 - - if (disable) return null; - if (initiator && ([...redirects.pixivMoe.normal, ...pixivMoeNormalCustomRedirects].includes(initiator.origin) || targets.includes(initiator.host))) return null; - if (!targets.some(rx => rx.test(url.href))) return null; - console.log("PixivMoe!!"); - - if (type != "main_frame" && type != "sub_frame") return null; - - let instancesList; - if (protocol == 'normal') instancesList = [...pixivMoeNormalRedirectsChecks, ...pixivMoeNormalCustomRedirects]; - if (protocol == 'tor') instancesList = [...pixivMoeTorRedirectsChecks, ...pixivMoeTorCustomRedirects]; - if (instancesList.length === 0) return null; - let randomInstance = commonHelper.getRandomInstance(instancesList); - - let pathName = url.pathname - .replace('/artworks/', '/illust/') - .replace(/\/..\//, '/') - - return `${randomInstance}${pathName}`; -} - -async function init() { - return new Promise((resolve) => { - fetch('/instances/data.json').then(response => response.text()).then(data => { - let dataJson = JSON.parse(data); - browser.storage.local.get( - [ - "disablePixiv", - "pixivRedirects", - - "pixivMoeNormalRedirectsChecks", - "pixivMoeNormalCustomRedirects", - - "pixivMoeTorRedirectsChecks", - "pixivMoeTorCustomRedirects", - - "pixivProtocol" - ], - r => { - disable = r.disablePixiv ?? true; - - protocol = r.pixivProtocol ?? "normal"; - - if (r.pixivRedirects) redirects = r.pixivRedirects; - - pixivMoeNormalRedirectsChecks = r.pixivMoeNormalRedirectsChecks ?? [...redirects.pixivMoe.normal]; - pixivMoeNormalCustomRedirects = r.pixivMoeNormalCustomRedirects ?? []; - - pixivMoeTorRedirectsChecks = r.pixivMoeTorRedirectsChecks ?? [...redirects.pixivMoe.tor]; - pixivMoeTorCustomRedirects = r.pixivMoeTorCustomRedirects ?? []; - - resolve(); - } - ) - }); - }); -} - -export default { - - getRedirects, - getCustomRedirects, - setRedirects, - - getDisable, - setDisable, - - getProtocol, - setProtocol, - - getPixivMoeNormalRedirectsChecks, - setPixivMoeNormalRedirectsChecks, - getPixivMoeTorRedirectsChecks, - setPixivMoeTorRedirectsChecks, - - getPixivMoeTorCustomRedirects, - setPixivMoeTorCustomRedirects, - getPixivMoeNormalCustomRedirects, - setPixivMoeNormalCustomRedirects, - - redirect, - init, -}; diff --git a/src/assets/javascripts/helpers/reddit.js b/src/assets/javascripts/helpers/reddit.js index ebb13ffa..6e932f6d 100644 --- a/src/assets/javascripts/helpers/reddit.js +++ b/src/assets/javascripts/helpers/reddit.js @@ -15,7 +15,6 @@ let redirects = { "normal": [], "tor": [] }, - "desktop": "https://old.reddit.com", // desktop }; const getRedirects = () => redirects; const getCustomRedirects = function () { @@ -266,11 +265,6 @@ function redirect(url, type, initiator) { if (type !== "main_frame" || url.pathname.match(bypassPaths)) return null; - if (frontend == 'old' && url.host !== "i.redd.it") { - if (url.host == 'old.reddit.com') return; - return `${redirects.desktop}${url.pathname}${url.search}`; - } - let libredditInstancesList; let tedditInstancesList; if (protocol == 'normal') { diff --git a/src/assets/javascripts/helpers/search.js b/src/assets/javascripts/helpers/search.js index 2962bc79..e42b05dd 100644 --- a/src/assets/javascripts/helpers/search.js +++ b/src/assets/javascripts/helpers/search.js @@ -28,25 +28,6 @@ let redirects = { } }; const getRedirects = () => redirects; -const getCustomRedirects = () => { - return { - "searx": { - "normal": [...searxNormalRedirectsChecks, ...searxNormalCustomRedirects], - "tor": [...searxTorRedirectsChecks, ...searxTorCustomRedirects], - "i2p": [...searxI2pRedirectsChecks, ...searxI2pCustomRedirects] - }, - "searxng": { - "normal": [...searxngNormalRedirectsChecks, ...searxngNormalCustomRedirects], - "tor": [...searxngTorRedirectsChecks, ...searxngTorCustomRedirects], - "i2p": [...searxngI2pRedirectsChecks, ...searxngI2pCustomRedirects] - }, - "whoogle": { - "normal": [...whoogleNormalRedirectsChecks, ...whoogleNormalCustomRedirects], - "tor": [...whoogleTorRedirectsChecks, ...whoogleTorCustomRedirects], - "i2p": [...whoogleI2pRedirectsChecks, ...whoogleI2pCustomRedirects] - } - }; -}; function setSearxRedirects(val) { redirects.searx = val; @@ -56,19 +37,19 @@ function setSearxRedirects(val) { var index = searxNormalRedirectsChecks.indexOf(item); if (index !== -1) searxNormalRedirectsChecks.splice(index, 1); } - setSearxNormalRedirectsChecks(searxNormalRedirectsChecks); + browser.storage.local.set({ searxNormalRedirectsChecks }); for (const item of searxTorRedirectsChecks) if (!redirects.searx.tor.includes(item)) { var index = searxTorRedirectsChecks.indexOf(item); if (index !== -1) searxTorRedirectsChecks.splice(index, 1); } - setSearxTorRedirectsChecks(searxTorRedirectsChecks); + browser.storage.local.set({ searxTorRedirectsChecks }) for (const item of searxI2pRedirectsChecks) if (!redirects.searx.i2p.includes(item)) { var index = searxI2pRedirectsChecks.indexOf(item); if (index !== -1) searxI2pRedirectsChecks.splice(index, 1); } - setSearxI2pRedirectsChecks(searxI2pRedirectsChecks); + browser.storage.local.set({ searxI2pRedirectsChecks }); } function setSearxngRedirects(val) { @@ -79,19 +60,19 @@ function setSearxngRedirects(val) { var index = searxngNormalRedirectsChecks.indexOf(item); if (index !== -1) searxngNormalRedirectsChecks.splice(index, 1); } - setSearxngNormalRedirectsChecks(searxngNormalRedirectsChecks); + browser.storage.local.set({ searxngNormalRedirectsChecks }) for (const item of searxngTorRedirectsChecks) if (!redirects.searxng.tor.includes(item)) { var index = searxngTorRedirectsChecks.indexOf(item); if (index !== -1) searxngTorRedirectsChecks.splice(index, 1); } - setSearxngTorRedirectsChecks(searxngTorRedirectsChecks); + browser.storage.local.set({ searxngTorRedirectsChecks }); for (const item of searxngI2pRedirectsChecks) if (!redirects.searxng.i2p.includes(item)) { var index = searxngI2pRedirectsChecks.indexOf(item); if (index !== -1) searxngI2pRedirectsChecks.splice(index, 1); } - setSearxngI2pRedirectsChecks(searxngI2pRedirectsChecks); + browser.storage.local.set({ searxngI2pRedirectsChecks }) } function setWhoogleRedirects(val) { @@ -102,188 +83,49 @@ function setWhoogleRedirects(val) { var index = whoogleNormalRedirectsChecks.indexOf(item); if (index !== -1) whoogleNormalRedirectsChecks.splice(index, 1); } - setWhoogleNormalRedirectsChecks(whoogleNormalRedirectsChecks); + browser.storage.local.set({ whoogleNormalRedirectsChecks }) for (const item of whoogleTorRedirectsChecks) if (!redirects.whoogle.tor.includes(item)) { var index = whoogleTorRedirectsChecks.indexOf(item); if (index !== -1) whoogleTorRedirectsChecks.splice(index, 1); } - setWhoogleTorRedirectsChecks(whoogleTorRedirectsChecks); + browser.storage.local.set({ whoogleTorRedirectsChecks }) for (const item of whoogleI2pRedirectsChecks) if (!redirects.whoogle.i2p.includes(item)) { var index = whoogleI2pRedirectsChecks.indexOf(item); if (index !== -1) whoogleI2pRedirectsChecks.splice(index, 1); } - setWhoogleI2pRedirectsChecks(whoogleI2pRedirectsChecks); -} - -let whoogleNormalRedirectsChecks; -const getWhoogleNormalRedirectsChecks = () => whoogleNormalRedirectsChecks; -function setWhoogleNormalRedirectsChecks(val) { - whoogleNormalRedirectsChecks = val; - browser.storage.local.set({ whoogleNormalRedirectsChecks }) - console.log("whoogleNormalRedirectsChecks: ", val) -} - -let whoogleI2pRedirectsChecks; -const getWhoogleI2pRedirectsChecks = () => whoogleI2pRedirectsChecks; -function setWhoogleI2pRedirectsChecks(val) { - whoogleI2pRedirectsChecks = val; browser.storage.local.set({ whoogleI2pRedirectsChecks }) - console.log("whoogleI2pRedirectsChecks: ", val) -} - -let whoogleTorRedirectsChecks; -const getWhoogleTorRedirectsChecks = () => whoogleTorRedirectsChecks; -function setWhoogleTorRedirectsChecks(val) { - whoogleTorRedirectsChecks = val; - browser.storage.local.set({ whoogleTorRedirectsChecks }) - console.log("whoogleTorRedirectsChecks: ", val) -} - -let whoogleNormalCustomRedirects = []; -const getWhoogleNormalCustomRedirects = () => whoogleNormalCustomRedirects; -function setWhoogleNormalCustomRedirects(val) { - whoogleNormalCustomRedirects = val; - browser.storage.local.set({ whoogleNormalCustomRedirects }) - console.log("whoogleNormalCustomRedirects: ", val) -} - -let whoogleI2pCustomRedirects = []; -const getWhoogleI2pCustomRedirects = () => whoogleI2pCustomRedirects; -function setWhoogleI2pCustomRedirects(val) { - whoogleI2pCustomRedirects = val; - browser.storage.local.set({ whoogleI2pCustomRedirects }) - console.log("whoogleI2pCustomRedirects: ", val) -} - -let whoogleTorCustomRedirects = []; -const getWhoogleTorCustomRedirects = () => whoogleTorCustomRedirects; -function setWhoogleTorCustomRedirects(val) { - whoogleTorCustomRedirects = val; - browser.storage.local.set({ whoogleTorCustomRedirects }) - console.log("whoogleTorCustomRedirects: ", val) -} - -let searxNormalRedirectsChecks; -const getSearxNormalRedirectsChecks = () => searxNormalRedirectsChecks; -function setSearxNormalRedirectsChecks(val) { - searxNormalRedirectsChecks = val; - browser.storage.local.set({ searxNormalRedirectsChecks }) - console.log("searxNormalRedirectsChecks: ", val) -} - -let searxI2pRedirectsChecks; -const getSearxI2pRedirectsChecks = () => searxI2pRedirectsChecks; -function setSearxI2pRedirectsChecks(val) { - searxI2pRedirectsChecks = val; - browser.storage.local.set({ searxI2pRedirectsChecks }) - console.log("searxI2pRedirectsChecks: ", val) -} - -let searxTorRedirectsChecks; -const getSearxTorRedirectsChecks = () => searxTorRedirectsChecks; -function setSearxTorRedirectsChecks(val) { - searxTorRedirectsChecks = val; - browser.storage.local.set({ searxTorRedirectsChecks }) - console.log("searxTorRedirectsChecks: ", val) -} - -let searxNormalCustomRedirects = []; -const getSearxNormalCustomRedirects = () => searxNormalCustomRedirects; -function setSearxNormalCustomRedirects(val) { - searxNormalCustomRedirects = val; - browser.storage.local.set({ searxNormalCustomRedirects }) - console.log("searxNormalCustomRedirects: ", val) -} - -let searxI2pCustomRedirects = []; -const getSearxI2pCustomRedirects = () => searxI2pCustomRedirects; -function setSearxI2pCustomRedirects(val) { - searxI2pCustomRedirects = val; - browser.storage.local.set({ searxI2pCustomRedirects }) - console.log("searxI2pCustomRedirects: ", val) -} - -let searxTorCustomRedirects = []; -const getSearxTorCustomRedirects = () => searxTorCustomRedirects; -function setSearxTorCustomRedirects(val) { - searxTorCustomRedirects = val; - browser.storage.local.set({ searxTorCustomRedirects }) - console.log("searxTorCustomRedirects: ", val) -} - -let searxngNormalRedirectsChecks; -const getSearxngNormalRedirectsChecks = () => searxngNormalRedirectsChecks; -function setSearxngNormalRedirectsChecks(val) { - searxngNormalRedirectsChecks = val; - browser.storage.local.set({ searxngNormalRedirectsChecks }) - console.log("searxngNormalRedirectsChecks: ", val) -} - -let searxngI2pRedirectsChecks; -const getSearxngI2pRedirectsChecks = () => searxngI2pRedirectsChecks; -function setSearxngI2pRedirectsChecks(val) { - searxngI2pRedirectsChecks = val; - browser.storage.local.set({ searxngI2pRedirectsChecks }) - console.log("searxngI2pRedirectsChecks: ", val) } -let searxngTorRedirectsChecks; -const getSearxngTorRedirectsChecks = () => searxngTorRedirectsChecks; -function setSearxngTorRedirectsChecks(val) { - searxngTorRedirectsChecks = val; - browser.storage.local.set({ searxngTorRedirectsChecks }) - console.log("searxngTorRedirectsChecks: ", val) -} +let + searxNormalRedirectsChecks, + searxI2pRedirectsChecks, + searxTorRedirectsChecks, -let searxngNormalCustomRedirects = []; -const getSearxngNormalCustomRedirects = () => searxngNormalCustomRedirects; -function setSearxngNormalCustomRedirects(val) { - searxngNormalCustomRedirects = val; - browser.storage.local.set({ searxngNormalCustomRedirects }) - console.log("searxngNormalCustomRedirects: ", val) -} + searxNormalCustomRedirects, + searxTorCustomRedirects, + searxI2pCustomRedirects, -let searxngI2pCustomRedirects = []; -const getSearxngI2pCustomRedirects = () => searxngI2pCustomRedirects; -function setSearxngI2pCustomRedirects(val) { - searxngI2pCustomRedirects = val; - browser.storage.local.set({ searxngI2pCustomRedirects }) - console.log("searxngI2pCustomRedirects: ", val) -} + searxngNormalRedirectsChecks, + searxngI2pRedirectsChecks, + searxngTorRedirectsChecks, -let searxngTorCustomRedirects = []; -const getSearxngTorCustomRedirects = () => searxngTorCustomRedirects; -function setSearxngTorCustomRedirects(val) { - searxngTorCustomRedirects = val; - browser.storage.local.set({ searxngTorCustomRedirects }) - console.log("searxngTorCustomRedirects: ", val) -} + searxngNormalCustomRedirects, + searxngTorCustomRedirects, + searxngI2pCustomRedirects, -let disable; -const getDisable = () => disable; -function setDisable(val) { - disable = val; - browser.storage.local.set({ disableSearch: disable }) - console.log("disableSearch: ", disable) -} + whoogleNormalRedirectsChecks, + whoogleI2pRedirectsChecks, + whoogleTorRedirectsChecks, -let frontend; -const getFrontend = () => frontend; -function setFrontend(val) { - frontend = val; - browser.storage.local.set({ searchFrontend: frontend }) - console.log("searchFrontend: ", frontend) -}; + whoogleNormalCustomRedirects, + whoogleTorCustomRedirects, + whoogleI2pCustomRedirects; -let protocol; -const getProtocol = () => protocol; -function setProtocol(val) { - protocol = val; - browser.storage.local.set({ searchProtocol: val }) - console.log("searchProtocol: ", val) -} +let disable; // disableSearch +let frontend; // searchFrontend +let protocol; // searchProtocol let theme; let applyThemeToSites; @@ -309,73 +151,18 @@ function initSearxngCookies() { if (theme == 'light') themeValue = 'logicodev'; if (theme == 'dark') themeValue = 'logicodev-dark'; if (applyThemeToSites && themeValue) { - let allInstances = [...redirects.searxng.normal, ...redirects.searxng.tor, ...redirects.searxng.i2p, ...searxngNormalCustomRedirects, ...searxngTorCustomRedirects, ...searxngI2pCustomRedirects]; - let checkedInstances = [...searxngNormalRedirectsChecks, ...searxngNormalCustomRedirects, ...searxngTorRedirectsChecks, ...searxngTorCustomRedirects, ...searxngI2pRedirectsChecks, ...searxngI2pCustomRedirects]; - for (const instanceUrl of allInstances) - if (!checkedInstances.includes(instanceUrl)) { - browser.cookies.remove({ - url: instanceUrl, - name: "oscar-style", - }) - browser.cookies.remove({ - url: instanceUrl, - name: "oscar", - }) - } + let checkedInstances; + if (protocol == 'normal') checkedInstances = [...searxngNormalRedirectsChecks, ...searxngNormalCustomRedirects]; + else if (protocol == 'tor') checkedInstances = [...searxngTorRedirectsChecks, ...searxngTorCustomRedirects]; + else if (protocol == 'i2p') checkedInstances = [...searxngI2pRedirectsChecks, ...searxngI2pCustomRedirects]; + for (const instanceUrl of checkedInstances) { - browser.cookies.set({ - url: instanceUrl, - name: "oscar-style", - value: themeValue - }) - browser.cookies.set({ - url: instanceUrl, - name: "theme", - value: 'oscar' - }) + browser.cookies.set({ url: instanceUrl, name: "oscar-style", value: themeValue }) + browser.cookies.set({ url: instanceUrl, name: "theme", value: 'oscar' }) } } } -function initWhoogleCookies() { - let checkedInstances = [...whoogleNormalRedirectsChecks, ...whoogleNormalCustomRedirects, ...whoogleTorRedirectsChecks, ...whoogleTorCustomRedirects, ...whoogleI2pRedirectsChecks, ...whoogleI2pCustomRedirects]; - - // for (const item of checkedInstances) { - let request = new XMLHttpRequest(); - // request.open("POST", `${item}/config`); - browser.cookies.get( - { - url: 'http://0.0.0.0:5000', - name: "session" - }, - cookie => { - request.open("POST", 'http://0.0.0.0:5000/config'); - request.withCredentials = true; - - let data = `country=&lang_interface=&lang_search=&near=&block=&block_title=&block_url=&theme=light&url=http%3A%2F%2F0.0.0.0%3A5000%2F&style=++++++++++++++++++++++++++++++++%2F*+Colors+*%2F%0D%0A%3Aroot+%7B%0D%0A++++%2F*+LIGHT+THEME+COLORS+*%2F%0D%0A++++--whoogle-logo%3A+%23685e79%3B%0D%0A++++--whoogle-page-bg%3A+%23ffffff%3B%0D%0A++++--whoogle-element-bg%3A+%234285f4%3B%0D%0A++++--whoogle-text%3A+%23000000%3B%0D%0A++++--whoogle-contrast-text%3A+%23ffffff%3B%0D%0A++++--whoogle-secondary-text%3A+%2370757a%3B%0D%0A++++--whoogle-result-bg%3A+%23ffffff%3B%0D%0A++++--whoogle-result-title%3A+%231967d2%3B%0D%0A++++--whoogle-result-url%3A+%230d652d%3B%0D%0A++++--whoogle-result-visited%3A+%234b11a8%3B%0D%0A%0D%0A++++%2F*+DARK+THEME+COLORS+*%2F%0D%0A++++--whoogle-dark-logo%3A+%23685e79%3B%0D%0A++++--whoogle-dark-page-bg%3A+%23101020%3B%0D%0A++++--whoogle-dark-element-bg%3A+%234285f4%3B%0D%0A++++--whoogle-dark-text%3A+%23ffffff%3B%0D%0A++++--whoogle-dark-contrast-text%3A+%23ffffff%3B%0D%0A++++--whoogle-dark-secondary-text%3A+%23bbbbbb%3B%0D%0A++++--whoogle-dark-result-bg%3A+%23212131%3B%0D%0A++++--whoogle-dark-result-title%3A+%2364a7f6%3B%0D%0A++++--whoogle-dark-result-url%3A+%2334a853%3B%0D%0A++++--whoogle-dark-result-visited%3A+%23bbbbff%3B%0D%0A%7D%0D%0A%0D%0A%23whoogle-w+%7B%0D%0A++++fill%3A+%234285f4%3B%0D%0A%7D%0D%0A%0D%0A%23whoogle-h+%7B%0D%0A++++fill%3A+%23ea4335%3B%0D%0A%7D%0D%0A%0D%0A%23whoogle-o-1+%7B%0D%0A++++fill%3A+%23fbbc05%3B%0D%0A%7D%0D%0A%0D%0A%23whoogle-o-2+%7B%0D%0A++++fill%3A+%234285f4%3B%0D%0A%7D%0D%0A%0D%0A%23whoogle-g+%7B%0D%0A++++fill%3A+%2334a853%3B%0D%0A%7D%0D%0A%0D%0A%23whoogle-l+%7B%0D%0A++++fill%3A+%23ea4335%3B%0D%0A%7D%0D%0A%0D%0A%23whoogle-e+%7B%0D%0A++++fill%3A+%23fbbc05%3B%0D%0A%7D%0D%0A%0D%0A++++++++++++++++++++++++++++`; - // let data = prefsStyle + prefsTheme; - console.log(data); - request.onreadystatechange = () => { - if (request.readyState === XMLHttpRequest.DONE) - console.log(request.responseText) - }; - request.send(data); - }) - - - // let prefsStyle = `style=${encodeURIComponent('":root{--whoogle-logo:#685e79;--whoogle-page-bg:#fff;--whoogle-element-bg:#4285f4;--whoogle-text:#000;--whoogle-contrast-text:#fff;--whoogle-secondary-text:#70757a;--whoogle-result-bg:#fff;--whoogle-result-title:#1967d2;--whoogle-result-url:#0d652d;--whoogle-result-visited:#4b11a8;--whoogle-dark-logo:#685e79;--whoogle-dark-page-bg:#101020;--whoogle-dark-element-bg:#4285f4;--whoogle-dark-text:#fff;--whoogle-dark-contrast-text:#fff;--whoogle-dark-secondary-text:#bbb;--whoogle-dark-result-bg:#212131;--whoogle-dark-result-title:#64a7f6;--whoogle-dark-result-url:#34a853;--whoogle-dark-result-visited:#bbf}#whoogle-w{fill:#4285f4}#whoogle-h{fill:#ea4335}#whoogle-o-1{fill:#fbbc05}#whoogle-o-2{fill:#4285f4}#whoogle-g{fill:#34a853}#whoogle-l{fill:#ea4335}#whoogle-e{fill:#fbbc05}"')}`; - - // {"style": ":root{--whoogle-logo:#685e79;--whoogle-page-bg:#fff;--whoogle-element-bg:#4285f4;--whoogle-text:#000;--whoogle-contrast-text:#fff;--whoogle-secondary-text:#70757a;--whoogle-result-bg:#fff;--whoogle-result-title:#1967d2;--whoogle-result-url:#0d652d;--whoogle-result-visited:#4b11a8;--whoogle-dark-logo:#685e79;--whoogle-dark-page-bg:#101020;--whoogle-dark-element-bg:#4285f4;--whoogle-dark-text:#fff;--whoogle-dark-contrast-text:#fff;--whoogle-dark-secondary-text:#bbb;--whoogle-dark-result-bg:#212131;--whoogle-dark-result-title:#64a7f6;--whoogle-dark-result-url:#34a853;--whoogle-dark-result-visited:#bbf}#whoogle-w{fill:#4285f4}#whoogle-h{fill:#ea4335}#whoogle-o-1{fill:#fbbc05}#whoogle-o-2{fill:#4285f4}#whoogle-g{fill:#34a853}#whoogle-l{fill:#ea4335}#whoogle-e{fill:#fbbc05}", - // "theme":"dark" - // } - - // let prefsStyle = `style=${encodeURIComponent('')}`; - // let prefsTheme = ""; - // if (applyThemeToSites && theme != "DEFAULT") prefsTheme = `&theme=${encodeURIComponent(theme)}`; - - // } -} - function redirect(url) { if (disable) return; if (!targets.some(rx => rx.test(url.href))) return; @@ -403,7 +190,7 @@ function redirect(url) { path = "/"; } else if (frontend == 'whoogle') { - let instancesList + let instancesList; if (protocol == 'normal') instancesList = [...whoogleNormalRedirectsChecks, ...whoogleNormalCustomRedirects]; if (protocol == 'tor') instancesList = [...whoogleTorRedirectsChecks, ...whoogleTorCustomRedirects]; if (protocol == 'i2p') instancesList = [...whoogleI2pRedirectsChecks, ...whoogleI2pCustomRedirects]; @@ -419,7 +206,14 @@ function redirect(url) { let searchQuery = ""; - if ((url.hostname.includes('google') || url.hostname.includes('bing') || url.hostname.includes('libredirect.invalid')) && url.searchParams.has('q')) searchQuery = `?q=${url.searchParams.get('q')}`; + if ( + ( + url.hostname.includes('google') || + url.hostname.includes('bing') || + url.hostname.includes('libredirect.invalid') + ) && + url.searchParams.has('q') + ) searchQuery = `?q=${url.searchParams.get('q')}`; if (url.hostname.includes('yandex') && url.searchParams.has('text')) searchQuery = `?q=${url.searchParams.get('text')}`; return `${randomInstance}${path}${searchQuery}`; @@ -483,165 +277,143 @@ function switchInstance(url) { return `${randomInstance}${url.pathname}${url.search}`; } -async function init() { - return new Promise(resolve => { - fetch('/instances/data.json').then(response => response.text()).then(data => { - let dataJson = JSON.parse(data); - browser.storage.local.get( - [ - "disableSearch", - "searchFrontend", - "searchRedirects", +async function initDefaults() { + await fetch('/instances/data.json').then(response => response.text()).then(async data => { + let dataJson = JSON.parse(data); + redirects.searx = dataJson.searx; + redirects.searxng = dataJson.searxng; + redirects.whoogle = dataJson.whoogle; + await browser.storage.local.set({ + disableSearch: false, + searchFrontend: 'searxng', + searchRedirects: redirects, - "whoogleNormalRedirectsChecks", - "whoogleNormalCustomRedirects", + whoogleNormalRedirectsChecks: [...redirects.whoogle.normal], + whoogleNormalCustomRedirects: [], - "whoogleTorRedirectsChecks", - "whoogleTorCustomRedirects", + whoogleTorRedirectsChecks: [...redirects.whoogle.tor], + whoogleTorCustomRedirects: [], - "whoogleI2pRedirectsChecks", - "whoogleI2pCustomRedirects", + whoogleI2pRedirectsChecks: [...redirects.whoogle.i2p], + whoogleI2pCustomRedirects: [], - "searxNormalRedirectsChecks", - "searxNormalCustomRedirects", + searxNormalRedirectsChecks: [...redirects.searx.normal], + searxNormalCustomRedirects: [], - "searxTorRedirectsChecks", - "searxTorCustomRedirects", + searxTorRedirectsChecks: [...redirects.searx.tor], + searxTorCustomRedirects: [], - "searxI2pRedirectsChecks", - "searxI2pCustomRedirects", + searxI2pRedirectsChecks: [...redirects.searx.i2p], + searxI2pCustomRedirects: [], - "searxngNormalRedirectsChecks", - "searxngNormalCustomRedirects", + searxngNormalRedirectsChecks: [...redirects.searxng.normal], + searxngNormalCustomRedirects: [], - "searxngTorRedirectsChecks", - "searxngTorCustomRedirects", + searxngTorRedirectsChecks: [...redirects.searxng.tor], + searxngTorCustomRedirects: [], - "searxngI2pRedirectsChecks", - "searxngI2pCustomRedirects", + searxngI2pRedirectsChecks: [...redirects.searxng.i2p], + searxngI2pCustomRedirects: [], - "theme", - "applyThemeToSites", + theme: 'DEFAULT', + applyThemeToSites: false, - "searchProtocol", - ], - r => { - disable = r.disableSearch ?? false; + searchProtocol: 'normal', + }) + }) +} - protocol = r.searchProtocol ?? 'normal'; +async function init() { + browser.storage.local.get( + [ + "disableSearch", + "searchFrontend", + "searchRedirects", - frontend = r.searchFrontend ?? 'searxng'; + "whoogleNormalRedirectsChecks", + "whoogleNormalCustomRedirects", - theme = r.theme ?? 'DEFAULT'; - applyThemeToSites = r.applyThemeToSites ?? false; + "whoogleTorRedirectsChecks", + "whoogleTorCustomRedirects", - redirects.searx = dataJson.searx; - redirects.searxng = dataJson.searxng; - redirects.whoogle = dataJson.whoogle; - if (r.searchRedirects) redirects = r.searchRedirects; + "whoogleI2pRedirectsChecks", + "whoogleI2pCustomRedirects", - whoogleNormalRedirectsChecks = r.whoogleNormalRedirectsChecks ?? [...redirects.whoogle.normal]; - whoogleNormalCustomRedirects = r.whoogleNormalCustomRedirects ?? []; + "searxNormalRedirectsChecks", + "searxNormalCustomRedirects", - whoogleTorRedirectsChecks = r.whoogleTorRedirectsChecks ?? [...redirects.whoogle.tor]; - whoogleTorCustomRedirects = r.whoogleTorCustomRedirects ?? []; + "searxTorRedirectsChecks", + "searxTorCustomRedirects", - whoogleI2pRedirectsChecks = r.whoogleI2pRedirectsChecks ?? [...redirects.whoogle.i2p]; - whoogleI2pCustomRedirects = r.whoogleI2pCustomRedirects ?? []; + "searxI2pRedirectsChecks", + "searxI2pCustomRedirects", - searxNormalRedirectsChecks = r.searxNormalRedirectsChecks ?? [...redirects.searx.normal]; - searxNormalCustomRedirects = r.searxNormalCustomRedirects ?? []; + "searxngNormalRedirectsChecks", + "searxngNormalCustomRedirects", - searxTorRedirectsChecks = r.searxTorRedirectsChecks ?? [...redirects.searx.tor]; - searxTorCustomRedirects = r.searxTorCustomRedirects ?? []; + "searxngTorRedirectsChecks", + "searxngTorCustomRedirects", - searxI2pRedirectsChecks = r.searxI2pRedirectsChecks ?? [...redirects.searx.i2p]; - searxI2pCustomRedirects = r.searxI2pCustomRedirects ?? []; + "searxngI2pRedirectsChecks", + "searxngI2pCustomRedirects", - searxngNormalRedirectsChecks = r.searxngNormalRedirectsChecks ?? [...redirects.searxng.normal]; - searxngNormalCustomRedirects = r.searxngNormalCustomRedirects ?? []; + "theme", + "applyThemeToSites", - searxngTorRedirectsChecks = r.searxngTorRedirectsChecks ?? [...redirects.searxng.tor]; - searxngTorCustomRedirects = r.searxngTorCustomRedirects ?? []; + "searchProtocol", + ], + r => { + disable = r.disableSearch; + protocol = r.searchProtocol; + frontend = r.searchFrontend; - searxngI2pRedirectsChecks = r.searxngI2pRedirectsChecks ?? [...redirects.searxng.i2p]; - searxngI2pCustomRedirects = r.searxngI2pCustomRedirects ?? []; + theme = r.theme; + applyThemeToSites = r.applyThemeToSites; - initSearxCookies() - initSearxngCookies() - // initWhoogleCookies() + redirects = r.searchRedirects; - resolve(); - } - ); - }); - }); -} + whoogleNormalRedirectsChecks = r.whoogleNormalRedirectsChecks; + whoogleNormalCustomRedirects = r.whoogleNormalCustomRedirects; -export default { + whoogleTorRedirectsChecks = r.whoogleTorRedirectsChecks; + whoogleTorCustomRedirects = r.whoogleTorCustomRedirects; - getDisable, - setDisable, + whoogleI2pRedirectsChecks = r.whoogleI2pRedirectsChecks; + whoogleI2pCustomRedirects = r.whoogleI2pCustomRedirects; + searxNormalRedirectsChecks = r.searxNormalRedirectsChecks; + searxNormalCustomRedirects = r.searxNormalCustomRedirects; + + searxTorRedirectsChecks = r.searxTorRedirectsChecks; + searxTorCustomRedirects = r.searxTorCustomRedirects; + + searxI2pRedirectsChecks = r.searxI2pRedirectsChecks; + searxI2pCustomRedirects = r.searxI2pCustomRedirects; + + searxngNormalRedirectsChecks = r.searxngNormalRedirectsChecks; + searxngNormalCustomRedirects = r.searxngNormalCustomRedirects; + + searxngTorRedirectsChecks = r.searxngTorRedirectsChecks; + searxngTorCustomRedirects = r.searxngTorCustomRedirects; + + searxngI2pRedirectsChecks = r.searxngI2pRedirectsChecks; + searxngI2pCustomRedirects = r.searxngI2pCustomRedirects; + } + ); +} + +export default { getRedirects, - getCustomRedirects, setSearxRedirects, setSearxngRedirects, setWhoogleRedirects, - getFrontend, - setFrontend, - - getWhoogleNormalRedirectsChecks, - setWhoogleNormalRedirectsChecks, - getWhoogleNormalCustomRedirects, - setWhoogleNormalCustomRedirects, - - getWhoogleTorRedirectsChecks, - setWhoogleTorRedirectsChecks, - getWhoogleTorCustomRedirects, - setWhoogleTorCustomRedirects, - - getWhoogleI2pRedirectsChecks, - setWhoogleI2pRedirectsChecks, - getWhoogleI2pCustomRedirects, - setWhoogleI2pCustomRedirects, - - getSearxNormalRedirectsChecks, - setSearxNormalRedirectsChecks, - getSearxNormalCustomRedirects, - setSearxNormalCustomRedirects, - - getSearxTorRedirectsChecks, - setSearxTorRedirectsChecks, - getSearxTorCustomRedirects, - setSearxTorCustomRedirects, - - getSearxI2pRedirectsChecks, - setSearxI2pRedirectsChecks, - getSearxI2pCustomRedirects, - setSearxI2pCustomRedirects, - - getSearxngNormalRedirectsChecks, - setSearxngNormalRedirectsChecks, - getSearxngNormalCustomRedirects, - setSearxngNormalCustomRedirects, - - getSearxngTorRedirectsChecks, - setSearxngTorRedirectsChecks, - getSearxngTorCustomRedirects, - setSearxngTorCustomRedirects, - - getSearxngI2pRedirectsChecks, - setSearxngI2pRedirectsChecks, - getSearxngI2pCustomRedirects, - setSearxngI2pCustomRedirects, - - getProtocol, - setProtocol, + initSearxCookies, + initSearxngCookies, redirect, + initDefaults, init, switchInstance, }; diff --git a/src/assets/javascripts/helpers/sendTargets.js b/src/assets/javascripts/helpers/sendTargets.js index 44c59193..1ab2b2e8 100644 --- a/src/assets/javascripts/helpers/sendTargets.js +++ b/src/assets/javascripts/helpers/sendTargets.js @@ -16,15 +16,6 @@ let redirects = { } const getRedirects = () => redirects; -const getCustomRedirects = function () { - return { - "send": { - "normal": [...sendNormalRedirectsChecks, ...sendNormalCustomRedirects], - "tor": [...sendTorRedirectsChecks, ...sendTorCustomRedirects] - }, - }; -}; - function setRedirects(val) { redirects.send = val; browser.storage.local.set({ sendTargetsRedirects: redirects }) @@ -34,62 +25,23 @@ function setRedirects(val) { var index = sendNormalRedirectsChecks.indexOf(item); if (index !== -1) sendNormalRedirectsChecks.splice(index, 1); } - setSendNormalRedirectsChecks(sendNormalRedirectsChecks); + browser.storage.local.set({ sendNormalRedirectsChecks }) for (const item of sendTorRedirectsChecks) if (!redirects.send.normal.includes(item)) { var index = sendTorRedirectsChecks.indexOf(item); if (index !== -1) sendTorRedirectsChecks.splice(index, 1); } - setSendTorRedirectsChecks(sendTorRedirectsChecks); + browser.storage.local.set({ sendTorRedirectsChecks }) } let sendNormalRedirectsChecks; -const getSendNormalRedirectsChecks = () => sendNormalRedirectsChecks; -function setSendNormalRedirectsChecks(val) { - sendNormalRedirectsChecks = val; - browser.storage.local.set({ sendNormalRedirectsChecks }) - console.log("sendNormalRedirectsChecks: ", val) -} - let sendTorRedirectsChecks; -const getSendTorRedirectsChecks = () => sendTorRedirectsChecks; -function setSendTorRedirectsChecks(val) { - sendTorRedirectsChecks = val; - browser.storage.local.set({ sendTorRedirectsChecks }) - console.log("sendTorRedirectsChecks: ", val) -} - let sendNormalCustomRedirects = []; -const getSendNormalCustomRedirects = () => sendNormalCustomRedirects; -function setSendNormalCustomRedirects(val) { - sendNormalCustomRedirects = val; - browser.storage.local.set({ sendNormalCustomRedirects }) - console.log("sendNormalCustomRedirects: ", val) -} - let sendTorCustomRedirects = []; -const getSendTorCustomRedirects = () => sendTorCustomRedirects; -function setSendTorCustomRedirects(val) { - sendTorCustomRedirects = val; - browser.storage.local.set({ sendTorCustomRedirects }) - console.log("sendTorCustomRedirects: ", val) -} -let disable; -const getDisable = () => disable; -function setDisable(val) { - disable = val; - browser.storage.local.set({ disableSendTarget: disable }) -} - -let protocol; -const getProtocol = () => protocol; -function setProtocol(val) { - protocol = val; - browser.storage.local.set({ sendTargetsProtocol: val }) - console.log("sendTargetsProtocol: ", val) -} +let disable; // disableSendTarget +let protocol; // sendTargetsProtocol function switchInstance(url) { let protocolHost = commonHelper.protocolHost(url); @@ -136,68 +88,61 @@ function redirect(url, type, initiator) { return randomInstance; } -async function init() { - return new Promise(resolve => { - fetch('/instances/data.json').then(response => response.text()).then(data => { - let dataJson = JSON.parse(data); - browser.storage.local.get( - [ - "disableSendTarget", - "sendTargetsRedirects", +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: [], - "sendNormalRedirectsChecks", - "sendNormalCustomRedirects", + sendTorRedirectsChecks: [...redirects.send.tor], + sendTorCustomRedirects: [], - "sendTorRedirectsChecks", - "sendTorCustomRedirects", + sendTargetsProtocol: "normal", + }) + }) +} + +async function init() { + browser.storage.local.get( + [ + "disableSendTarget", + "sendTargetsRedirects", - "sendTargetsProtocol" - ], - r => { - redirects.send = dataJson.send; - disable = r.disableSendTarget ?? false; + "sendNormalRedirectsChecks", + "sendNormalCustomRedirects", - protocol = r.sendTargetsProtocol ?? "normal"; + "sendTorRedirectsChecks", + "sendTorCustomRedirects", - if (r.sendTargetsRedirects) redirects = r.sendTargetsRedirects; + "sendTargetsProtocol" + ], + r => { - sendNormalRedirectsChecks = r.sendNormalRedirectsChecks ?? [...redirects.send.normal]; - sendNormalCustomRedirects = r.sendNormalCustomRedirects ?? []; + disable = r.disableSendTarget; + protocol = r.sendTargetsProtocol; + redirects = r.sendTargetsRedirects; - sendTorRedirectsChecks = r.sendTorRedirectsChecks ?? [...redirects.send.tor]; - sendTorCustomRedirects = r.sendTorCustomRedirects ?? []; + sendNormalRedirectsChecks = r.sendNormalRedirectsChecks; + sendNormalCustomRedirects = r.sendNormalCustomRedirects; - resolve(); - } - ) - }); - }); + sendTorRedirectsChecks = r.sendTorRedirectsChecks; + sendTorCustomRedirects = r.sendTorCustomRedirects; + } + ) } export default { - getRedirects, - getCustomRedirects, setRedirects, - getDisable, - setDisable, - - getProtocol, - setProtocol, - - getSendNormalRedirectsChecks, - setSendNormalRedirectsChecks, - getSendTorRedirectsChecks, - setSendTorRedirectsChecks, - - getSendTorCustomRedirects, - setSendTorCustomRedirects, - getSendNormalCustomRedirects, - setSendNormalCustomRedirects, - switchInstance, redirect, + initDefaults, init, }; diff --git a/src/assets/javascripts/helpers/speedtest.js b/src/assets/javascripts/helpers/speedtest.js index 1e2fddeb..4f59cbb5 100644 --- a/src/assets/javascripts/helpers/speedtest.js +++ b/src/assets/javascripts/helpers/speedtest.js @@ -16,15 +16,6 @@ let redirects = { } const getRedirects = () => redirects; -const getCustomRedirects = function () { - return { - "librespeed": { - "normal": [...librespeedNormalRedirectsChecks, ...librespeedNormalCustomRedirects], - "tor": [] - }, - }; -}; - function setRedirects(val) { redirects.librespeed = val; browser.storage.local.set({ speedtestRedirects: redirects }) @@ -34,63 +25,23 @@ function setRedirects(val) { var index = librespeedNormalRedirectsChecks.indexOf(item); if (index !== -1) librespeedNormalRedirectsChecks.splice(index, 1); } - setLibrespeedNormalRedirectsChecks(librespeedNormalRedirectsChecks); + browser.storage.local.set({ librespeedNormalRedirectsChecks }) for (const item of librespeedTorRedirectsChecks) if (!redirects.librespeed.normal.includes(item)) { var index = librespeedTorRedirectsChecks.indexOf(item); if (index !== -1) librespeedTorRedirectsChecks.splice(index, 1); } - setLibrespeedTorRedirectsChecks(librespeedTorRedirectsChecks); + browser.storage.local.set({ librespeedTorRedirectsChecks }) } let librespeedNormalRedirectsChecks; -const getLibrespeedNormalRedirectsChecks = () => librespeedNormalRedirectsChecks; -function setLibrespeedNormalRedirectsChecks(val) { - librespeedNormalRedirectsChecks = val; - browser.storage.local.set({ librespeedNormalRedirectsChecks }) - console.log("librespeedNormalRedirectsChecks: ", val) -} - let librespeedTorRedirectsChecks; -const getLibrespeedTorRedirectsChecks = () => librespeedTorRedirectsChecks; -function setLibrespeedTorRedirectsChecks(val) { - librespeedTorRedirectsChecks = val; - browser.storage.local.set({ librespeedTorRedirectsChecks }) - console.log("librespeedTorRedirectsChecks: ", val) -} - let librespeedNormalCustomRedirects = []; -const getLibrespeedNormalCustomRedirects = () => librespeedNormalCustomRedirects; -function setLibrespeedNormalCustomRedirects(val) { - librespeedNormalCustomRedirects = val; - browser.storage.local.set({ librespeedNormalCustomRedirects }) - console.log("librespeedNormalCustomRedirects: ", val) -} - let librespeedTorCustomRedirects = []; -const getLibrespeedTorCustomRedirects = () => librespeedTorCustomRedirects; -function setLibrespeedTorCustomRedirects(val) { - librespeedTorCustomRedirects = val; - browser.storage.local.set({ librespeedTorCustomRedirects }) - console.log("librespeedTorCustomRedirects: ", val) -} -let disable; -const getDisable = () => disable; -function setDisable(val) { - disable = val; - browser.storage.local.set({ disableSpeedtest: disable }) - console.log("disableSpeedtest", val); -} - -let protocol; -const getProtocol = () => protocol; -function setProtocol(val) { - protocol = val; - browser.storage.local.set({ speedtestProtocol: val }) - console.log("speedtestProtocol: ", val) -} +let disable; // disableSpeedtest +let protocol; // speedtestProtocol function redirect(url, type, initiator) { if (disable) return null; @@ -109,65 +60,52 @@ function redirect(url, type, initiator) { return `${randomInstance}`; } -async function init() { - return new Promise(resolve => { - fetch('/instances/data.json').then(response => response.text()).then(data => { - let dataJson = JSON.parse(data); - browser.storage.local.get( - [ - "disableSpeedtest", - "speedtestRedirects", +async function initDefaults() { + await browser.storage.local.set({ + disableSpeedtest: true, - "librespeedNormalRedirectsChecks", - "librespeedNormalCustomRedirects", + librespeedNormalRedirectsChecks: [...redirects.librespeed.normal], + librespeedNormalCustomRedirects: [], - "librespeedTorRedirectsChecks", - "librespeedTorCustomRedirects", + librespeedTorRedirectsChecks: [...redirects.librespeed.tor], + librespeedTorCustomRedirects: [], - "speedtestProtocol" - ], - r => { - disable = r.disableSpeedtest ?? true; + speedtestProtocol: "normal", + }) +} - protocol = r.speedtestProtocol ?? "normal"; +async function init() { + browser.storage.local.get( + [ + "disableSpeedtest", + "speedtestRedirects", + + "librespeedNormalRedirectsChecks", + "librespeedNormalCustomRedirects", - if (r.speedtestRedirects) redirects = r.speedtestRedirects; + "librespeedTorRedirectsChecks", + "librespeedTorCustomRedirects", - librespeedNormalRedirectsChecks = r.librespeedNormalRedirectsChecks ?? [...redirects.librespeed.normal]; - librespeedNormalCustomRedirects = r.librespeedNormalCustomRedirects ?? []; + "speedtestProtocol" + ], + r => { + disable = r.disableSpeedtest; + protocol = r.speedtestProtocol; - librespeedTorRedirectsChecks = r.librespeedTorRedirectsChecks ?? [...redirects.librespeed.tor]; - librespeedTorCustomRedirects = r.librespeedTorCustomRedirects ?? []; + librespeedNormalRedirectsChecks = r.librespeedNormalRedirectsChecks; + librespeedNormalCustomRedirects = r.librespeedNormalCustomRedirects; - resolve(); - } - ) - }); - }); + librespeedTorRedirectsChecks = r.librespeedTorRedirectsChecks; + librespeedTorCustomRedirects = r.librespeedTorCustomRedirects; + } + ) } export default { - getRedirects, - getCustomRedirects, setRedirects, - getDisable, - setDisable, - - getProtocol, - setProtocol, - - getLibrespeedNormalRedirectsChecks, - setLibrespeedNormalRedirectsChecks, - getLibrespeedTorRedirectsChecks, - setLibrespeedTorRedirectsChecks, - - getLibrespeedTorCustomRedirects, - setLibrespeedTorCustomRedirects, - getLibrespeedNormalCustomRedirects, - setLibrespeedNormalCustomRedirects, - redirect, + initDefaults, init, }; diff --git a/src/assets/javascripts/helpers/spotify.js b/src/assets/javascripts/helpers/spotify.js index 22f596d0..6863c108 100644 --- a/src/assets/javascripts/helpers/spotify.js +++ b/src/assets/javascripts/helpers/spotify.js @@ -10,20 +10,11 @@ let redirects = { "soju": { "normal": [ "https://playsoju.netlify.app", - ], - "tor": [] + ] } } const getRedirects = () => redirects; -const getCustomRedirects = function () { - return { - "soju": { - "normal": [...sojuNormalRedirectsChecks, ...sojuNormalCustomRedirects] - }, - }; -}; - function setRedirects(val) { redirects.soju = val; browser.storage.local.set({ spotifyTargetsRedirects: redirects }) @@ -33,78 +24,34 @@ function setRedirects(val) { var index = sojuNormalRedirectsChecks.indexOf(item); if (index !== -1) sojuNormalRedirectsChecks.splice(index, 1); } - setSojuNormalRedirectsChecks(sojuNormalRedirectsChecks); + 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); } - setSojuTorRedirectsChecks(sojuTorRedirectsChecks); + browser.storage.local.set({ sojuTorRedirectsChecks }) } let sojuNormalRedirectsChecks; -const getSojuNormalRedirectsChecks = () => sojuNormalRedirectsChecks; -function setSojuNormalRedirectsChecks(val) { - sojuNormalRedirectsChecks = val; - browser.storage.local.set({ sojuNormalRedirectsChecks }) - console.log("sojuNormalRedirectsChecks: ", val) -} - let sojuTorRedirectsChecks; -const getSojuTorRedirectsChecks = () => sojuTorRedirectsChecks; -function setSojuTorRedirectsChecks(val) { - sojuTorRedirectsChecks = val; - browser.storage.local.set({ sojuTorRedirectsChecks }) - console.log("sojuTorRedirectsChecks: ", val) -} - let sojuNormalCustomRedirects = []; -const getSojuNormalCustomRedirects = () => sojuNormalCustomRedirects; -function setSojuNormalCustomRedirects(val) { - sojuNormalCustomRedirects = val; - browser.storage.local.set({ sojuNormalCustomRedirects }) - console.log("sojuNormalCustomRedirects: ", val) -} - let sojuTorCustomRedirects = []; -const getSojuTorCustomRedirects = () => sojuTorCustomRedirects; -function setSojuTorCustomRedirects(val) { - sojuTorCustomRedirects = val; - browser.storage.local.set({ sojuTorCustomRedirects }) - console.log("sojuTorCustomRedirects: ", val) -} - -let disable; -const getDisable = () => disable; -function setDisable(val) { - disable = val; - browser.storage.local.set({ disableSpotifyTargets: disable }) -} -let protocol; -const getProtocol = () => protocol; -function setProtocol(val) { - protocol = val; - browser.storage.local.set({ spotifyTargetsProtocol: val }) - console.log("spotifyTargetsProtocol: ", val) -} +let disable; // disableSpotifyTargets function switchInstance(url) { let protocolHost = commonHelper.protocolHost(url); let sojuList = [ ...redirects.soju.normal, - ...redirects.soju.tor, - ...sojuNormalCustomRedirects, - ...sojuTorCustomRedirects, + ...sojuNormalCustomRedirects ]; if (!sojuList.includes(protocolHost)) return; - let instancesList; - if (protocol == 'normal') instancesList = [...sojuNormalRedirectsChecks, ...sojuNormalCustomRedirects]; - else if (protocol == 'tor') instancesList = [...sojuTorRedirectsChecks, ...sojuTorCustomRedirects]; + let instancesList = [...sojuNormalRedirectsChecks, ...sojuNormalCustomRedirects]; console.log("instancesList", instancesList); let index = instancesList.indexOf(protocolHost); @@ -118,14 +65,11 @@ function switchInstance(url) { function redirect(url, type, initiator) { if (disable) return null; + if (type != "main_frame") return null; if (initiator && ([...redirects.soju.normal, ...sojuNormalCustomRedirects].includes(initiator.origin) || targets.includes(initiator.host))) return null; if (!targets.some(rx => rx.test(url.href))) return null; - if (type != "main_frame") return null; - - let instancesList; - if (protocol == 'normal') instancesList = [...sojuNormalRedirectsChecks, ...sojuNormalCustomRedirects]; - if (protocol == 'tor') instancesList = [...sojuTorRedirectsChecks, ...sojuTorCustomRedirects]; + let instancesList = [...sojuNormalRedirectsChecks, ...sojuNormalCustomRedirects]; if (instancesList.length === 0) return null; let randomInstance = commonHelper.getRandomInstance(instancesList); @@ -135,70 +79,42 @@ function redirect(url, type, initiator) { return `${randomInstance}${query}`; } -async function init() { - return new Promise( - resolve => { - fetch('/instances/data.json').then(response => response.text()).then(data => { - let dataJson = JSON.parse(data); - browser.storage.local.get( - [ - "disableSpotifyTargets", - "spotifyTargetsRedirects", - - "sojuNormalRedirectsChecks", - "sojuNormalCustomRedirects", - - "sojuTorRedirectsChecks", - "sojuTorCustomRedirects", - - "spotifyTargetsProtocol" - ], - r => { - - disable = r.disableSpotifyTargets ?? true; +async function initDefaults() { + await browser.storage.local.set({ + disableSpotifyTargets: true, - protocol = r.spotifyTargetsProtocol ?? "normal"; + sojuNormalRedirectsChecks: [...redirects.soju.normal], + sojuNormalCustomRedirects: [], + }) +} - if (r.spotifyTargetsRedirects) redirects = r.spotifyTargetsRedirects; +async function init() { + browser.storage.local.get( + [ + "disableSpotifyTargets", - sojuNormalRedirectsChecks = r.sojuNormalRedirectsChecks ?? [...redirects.soju.normal]; - sojuNormalCustomRedirects = r.sojuNormalCustomRedirects ?? []; + "sojuNormalRedirectsChecks", + "sojuNormalCustomRedirects", - sojuTorRedirectsChecks = r.sojuTorRedirectsChecks ?? [...redirects.soju.tor]; - sojuTorCustomRedirects = r.sojuTorCustomRedirects ?? []; + "sojuTorRedirectsChecks", + "sojuTorCustomRedirects", + ], + r => { + disable = r.disableSpotifyTargets; - resolve(); - } - ) - }); + sojuNormalRedirectsChecks = r.sojuNormalRedirectsChecks; + sojuNormalCustomRedirects = r.sojuNormalCustomRedirects; } - ); + ) } export default { - getRedirects, - getCustomRedirects, setRedirects, - getDisable, - setDisable, - - getProtocol, - setProtocol, - - getSojuNormalRedirectsChecks, - setSojuNormalRedirectsChecks, - getSojuTorRedirectsChecks, - setSojuTorRedirectsChecks, - - getSojuTorCustomRedirects, - setSojuTorCustomRedirects, - getSojuNormalCustomRedirects, - setSojuNormalCustomRedirects, - switchInstance, redirect, + initDefaults, init, }; diff --git a/src/assets/javascripts/helpers/tiktok.js b/src/assets/javascripts/helpers/tiktok.js index fab6348f..4945f9e3 100644 --- a/src/assets/javascripts/helpers/tiktok.js +++ b/src/assets/javascripts/helpers/tiktok.js @@ -14,14 +14,6 @@ let redirects = { } const getRedirects = () => redirects; -const getCustomRedirects = function () { - return { - "proxiTok": { - "normal": [...proxiTokNormalRedirectsChecks, ...proxiTokNormalCustomRedirects] - }, - }; -}; - function setRedirects(val) { redirects.proxiTok = val; browser.storage.local.set({ tiktokRedirects: redirects }) @@ -31,55 +23,22 @@ function setRedirects(val) { var index = proxiTokNormalRedirectsChecks.indexOf(item); if (index !== -1) proxiTokNormalRedirectsChecks.splice(index, 1); } - setProxiTokNormalRedirectsChecks(proxiTokNormalRedirectsChecks); + browser.storage.local.set({ proxiTokNormalRedirectsChecks }) for (const item of proxiTokTorRedirectsChecks) if (!redirects.proxiTok.normal.includes(item)) { var index = proxiTokTorRedirectsChecks.indexOf(item); if (index !== -1) proxiTokTorRedirectsChecks.splice(index, 1); } - setProxiTokTorRedirectsChecks(proxiTokTorRedirectsChecks); + browser.storage.local.set({ proxiTokTorRedirectsChecks }) } let proxiTokNormalRedirectsChecks; -const getProxiTokNormalRedirectsChecks = () => proxiTokNormalRedirectsChecks; -function setProxiTokNormalRedirectsChecks(val) { - proxiTokNormalRedirectsChecks = val; - browser.storage.local.set({ proxiTokNormalRedirectsChecks }) - console.log("proxiTokNormalRedirectsChecks: ", val) -} - let proxiTokTorRedirectsChecks; -const getProxiTokTorRedirectsChecks = () => proxiTokTorRedirectsChecks; -function setProxiTokTorRedirectsChecks(val) { - proxiTokTorRedirectsChecks = val; - browser.storage.local.set({ proxiTokTorRedirectsChecks }) - console.log("proxiTokTorRedirectsChecks: ", val) -} - let proxiTokNormalCustomRedirects = []; -const getProxiTokNormalCustomRedirects = () => proxiTokNormalCustomRedirects; -function setProxiTokNormalCustomRedirects(val) { - proxiTokNormalCustomRedirects = val; - browser.storage.local.set({ proxiTokNormalCustomRedirects }) - console.log("proxiTokNormalCustomRedirects: ", val) -} - let proxiTokTorCustomRedirects = []; -const getProxiTokTorCustomRedirects = () => proxiTokTorCustomRedirects; -function setProxiTokTorCustomRedirects(val) { - proxiTokTorCustomRedirects = val; - browser.storage.local.set({ proxiTokTorCustomRedirects }) - console.log("proxiTokTorCustomRedirects: ", val) -} - -let disable; -const getDisable = () => disable; -function setDisable(val) { - disable = val; - browser.storage.local.set({ disableTiktok: disable }) -} +let disable; // disableTiktok let protocol; let enableCustom; @@ -148,9 +107,7 @@ async function initDefaults() { disableTiktok: false, tiktokProtocol: "normal", - tiktokRedirects: { - 'proxiTok': redirects.proxiTok, - }, + tiktokRedirects: redirects, proxiTokNormalRedirectsChecks: [...redirects.proxiTok.normal], proxiTokNormalCustomRedirects: [], @@ -170,67 +127,49 @@ async function initDefaults() { } async function init() { - return new Promise(resolve => { - browser.storage.local.get( - [ - "disableTiktok", - "tiktokProtocol", - "tiktokRedirects", - - "proxiTokNormalRedirectsChecks", - "proxiTokNormalCustomRedirects", + browser.storage.local.get( + [ + "disableTiktok", + "tiktokProtocol", + "tiktokRedirects", - "proxiTokTorRedirectsChecks", - "proxiTokTorCustomRedirects", + "proxiTokNormalRedirectsChecks", + "proxiTokNormalCustomRedirects", - "enableTiktokCustomSettings", + "proxiTokTorRedirectsChecks", + "proxiTokTorCustomRedirects", - "proxiTokTheme", - "proxiTokApiLegacy", - ], - r => { - disable = r.disableTiktok; - protocol = r.tiktokProtocol; - redirects = r.tiktokRedirects; + "enableTiktokCustomSettings", - proxiTokNormalRedirectsChecks = r.proxiTokNormalRedirectsChecks; - proxiTokNormalCustomRedirects = r.proxiTokNormalCustomRedirects; + "proxiTokTheme", + "proxiTokApiLegacy", + ], + r => { + disable = r.disableTiktok; + protocol = r.tiktokProtocol; + redirects = r.tiktokRedirects; - proxiTokTorRedirectsChecks = r.proxiTokTorRedirectsChecks; - proxiTokTorCustomRedirects = r.proxiTokTorCustomRedirects; + proxiTokNormalRedirectsChecks = r.proxiTokNormalRedirectsChecks; + proxiTokNormalCustomRedirects = r.proxiTokNormalCustomRedirects; - enableCustom = r.enableTiktokCustomSettings; + proxiTokTorRedirectsChecks = r.proxiTokTorRedirectsChecks; + proxiTokTorCustomRedirects = r.proxiTokTorCustomRedirects; - theme = r.proxiTokTheme; - api_legacy = r.proxiTokApiLegacy; + enableCustom = r.enableTiktokCustomSettings; - resolve(); - } - ) - }) + theme = r.proxiTokTheme; + api_legacy = r.proxiTokApiLegacy; + } + ) } export default { getRedirects, - getCustomRedirects, setRedirects, - getDisable, - setDisable, - reverse, - getProxiTokNormalRedirectsChecks, - setProxiTokNormalRedirectsChecks, - getProxiTokTorRedirectsChecks, - setProxiTokTorRedirectsChecks, - - getProxiTokTorCustomRedirects, - setProxiTokTorCustomRedirects, - getProxiTokNormalCustomRedirects, - setProxiTokNormalCustomRedirects, - initProxiTokCookies, redirect, diff --git a/src/assets/javascripts/helpers/translate/translate.js b/src/assets/javascripts/helpers/translate/translate.js index 9155a763..4c4cee79 100644 --- a/src/assets/javascripts/helpers/translate/translate.js +++ b/src/assets/javascripts/helpers/translate/translate.js @@ -11,27 +11,13 @@ let redirects = { "normal": [], "tor": [] }, - "lingva": { "normal": [], "tor": [] } - }; const getRedirects = () => redirects; -const getCustomRedirects = function () { - return { - "simplyTranslate": { - "normal": [...simplyTranslateNormalRedirectsChecks, ...simplyTranslateNormalCustomRedirects], - "tor": [...simplyTranslateTorRedirectsChecks, ...simplyTranslateTorCustomRedirects] - }, - "lingva": { - "normal": [...lingvaNormalRedirectsChecks, ...lingvaNormalCustomRedirects], - "tor": [...lingvaTorRedirectsChecks, ...lingvaTorCustomRedirects] - } - }; -}; function setSimplyTranslateRedirects(val) { redirects.simplyTranslate = val; @@ -42,47 +28,20 @@ function setSimplyTranslateRedirects(val) { var index = simplyTranslateNormalRedirectsChecks.indexOf(item); if (index !== -1) simplyTranslateNormalRedirectsChecks.splice(index, 1); } - setSimplyTranslateNormalRedirectsChecks(simplyTranslateNormalRedirectsChecks); + browser.storage.local.set({ simplyTranslateNormalRedirectsChecks }) for (const item of simplyTranslateTorRedirectsChecks) if (!redirects.simplyTranslate.normal.includes(item)) { var index = simplyTranslateTorRedirectsChecks.indexOf(item); if (index !== -1) simplyTranslateTorRedirectsChecks.splice(index, 1); } - setSimplyTranslateTorRedirectsChecks(simplyTranslateTorRedirectsChecks); + browser.storage.local.set({ simplyTranslateTorRedirectsChecks }) } let simplyTranslateNormalRedirectsChecks; -const getSimplyTranslateNormalRedirectsChecks = () => simplyTranslateNormalRedirectsChecks; -function setSimplyTranslateNormalRedirectsChecks(val) { - simplyTranslateNormalRedirectsChecks = val; - browser.storage.local.set({ simplyTranslateNormalRedirectsChecks }) - console.log("simplyTranslateNormalRedirectsChecks: ", val) -} - let simplyTranslateTorRedirectsChecks; -const getSimplyTranslateTorRedirectsChecks = () => simplyTranslateTorRedirectsChecks; -function setSimplyTranslateTorRedirectsChecks(val) { - simplyTranslateTorRedirectsChecks = val; - browser.storage.local.set({ simplyTranslateTorRedirectsChecks }) - console.log("simplyTranslateTorRedirectsChecks: ", val) -} - let simplyTranslateNormalCustomRedirects = []; -const getSimplyTranslateNormalCustomRedirects = () => simplyTranslateNormalCustomRedirects; -function setSimplyTranslateNormalCustomRedirects(val) { - simplyTranslateNormalCustomRedirects = val; - browser.storage.local.set({ simplyTranslateNormalCustomRedirects }) - console.log("simplyTranslateNormalCustomRedirects: ", val) -} - let simplyTranslateTorCustomRedirects = []; -const getSimplyTranslateTorCustomRedirects = () => simplyTranslateTorCustomRedirects; -function setSimplyTranslateTorCustomRedirects(val) { - simplyTranslateTorCustomRedirects = val; - browser.storage.local.set({ simplyTranslateTorCustomRedirects }) - console.log("simplyTranslateTorCustomRedirects: ", val) -} function setLingvaRedirects(val) { redirects.lingva = val; @@ -93,95 +52,31 @@ function setLingvaRedirects(val) { var index = lingvaNormalRedirectsChecks.indexOf(item); if (index !== -1) lingvaNormalRedirectsChecks.splice(index, 1); } - setLingvaNormalRedirectsChecks(lingvaNormalRedirectsChecks); + browser.storage.local.set({ lingvaNormalRedirectsChecks }) for (const item of lingvaTorRedirectsChecks) if (!redirects.lingva.normal.includes(item)) { var index = lingvaTorRedirectsChecks.indexOf(item); if (index !== -1) lingvaTorRedirectsChecks.splice(index, 1); } - setLingvaTorRedirectsChecks(lingvaTorRedirectsChecks); + browser.storage.local.set({ lingvaTorRedirectsChecks }) } let lingvaNormalRedirectsChecks; -const getLingvaNormalRedirectsChecks = () => lingvaNormalRedirectsChecks; -function setLingvaNormalRedirectsChecks(val) { - lingvaNormalRedirectsChecks = val; - browser.storage.local.set({ lingvaNormalRedirectsChecks }) - console.log("lingvaNormalRedirectsChecks: ", val) -} - let lingvaTorRedirectsChecks; -const getLingvaTorRedirectsChecks = () => lingvaTorRedirectsChecks; -function setLingvaTorRedirectsChecks(val) { - lingvaTorRedirectsChecks = val; - browser.storage.local.set({ lingvaTorRedirectsChecks }) - console.log("lingvaTorRedirectsChecks: ", val) -} - let lingvaNormalCustomRedirects = []; -const getLingvaNormalCustomRedirects = () => lingvaNormalCustomRedirects; -function setLingvaNormalCustomRedirects(val) { - lingvaNormalCustomRedirects = val; - browser.storage.local.set({ lingvaNormalCustomRedirects }) - console.log("lingvaNormalCustomRedirects: ", val) -} - let lingvaTorCustomRedirects = []; -const getLingvaTorCustomRedirects = () => lingvaTorCustomRedirects; -function setLingvaTorCustomRedirects(val) { - lingvaTorCustomRedirects = val; - browser.storage.local.set({ lingvaTorCustomRedirects }) - console.log("lingvaTorCustomRedirects: ", val) -} -let disable; -const getDisable = () => disable; -function setDisable(val) { - disable = val; - browser.storage.local.set({ translateDisable: disable }) - console.log("disable: ", disable) -} -let frontend; -const getFrontend = () => frontend; -function setFrontend(val) { - frontend = val; - browser.storage.local.set({ translateFrontend: frontend }) - console.log("translateFrontend: ", frontend) -} +let disable; // translateDisable +let frontend; // translateFrontend +let protocol; // translateProtocol -let protocol; -const getProtocol = () => protocol; -function setProtocol(val) { - protocol = val; - browser.storage.local.set({ translateProtocol: val }) - console.log("translateProtocol: ", val) -} +let from; // translateFrom +let to; // translateTo -let from; -const getFrom = () => from; -function setFrom(val) { - from = val; - browser.storage.local.set({ translateFrom: from }) - console.log("from: ", from) -} - -let to; -const getTo = () => to; -function setTo(val) { - to = val; - browser.storage.local.set({ translateTo: to }) - console.log("to: ", to) -} let simplyTranslateEngine; -const getSimplyTranslateEngine = () => simplyTranslateEngine; -function setSimplyTranslateEngine(val) { - simplyTranslateEngine = val; - browser.storage.local.set({ simplyTranslateEngine: val }) - console.log("simplyTranslateEngine: ", val) -} function isTranslateRedirects(url, type, frontend) { let protocolHost = commonHelper.protocolHost(url); @@ -228,7 +123,6 @@ function initLingvaLocalStorage(tabId) { } function redirect(url) { - if (disable) return; if (!targets.some(rx => rx.test(url.href))) return; @@ -308,109 +202,96 @@ function switchInstance(url) { return `${randomInstance}${url.pathname}${url.search}`; } +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', + }) + }) +} + async function init() { - return new Promise((resolve) => { - 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 ?? false; - frontend = result.translateFrontend ?? "simplyTranslate"; - protocol = result.translateProtocol ?? 'normal'; - - from = result.translateFrom ?? "auto"; - to = result.translateTo ?? 'en'; - simplyTranslateEngine = result.simplyTranslateEngine ?? 'google'; - - redirects.simplyTranslate = dataJson.simplyTranslate; - redirects.lingva = dataJson.lingva; - if (result.translateRedirects) redirects = result.translateRedirects; - - simplyTranslateNormalRedirectsChecks = result.simplyTranslateNormalRedirectsChecks ?? [...redirects.simplyTranslate.normal]; - simplyTranslateNormalCustomRedirects = result.simplyTranslateNormalCustomRedirects ?? []; - - simplyTranslateTorRedirectsChecks = result.simplyTranslateTorRedirectsChecks ?? [...redirects.simplyTranslate.tor]; - simplyTranslateTorCustomRedirects = result.simplyTranslateTorCustomRedirects ?? []; - - lingvaNormalRedirectsChecks = result.lingvaNormalRedirectsChecks ?? [...redirects.lingva.normal]; - lingvaNormalCustomRedirects = result.lingvaNormalCustomRedirects ?? []; - - lingvaTorRedirectsChecks = result.lingvaTorRedirectsChecks ?? [...redirects.lingva.tor]; - lingvaTorCustomRedirects = result.lingvaTorCustomRedirects ?? []; - - resolve(); - }); - }); + 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; + }); }); } export default { getRedirects, - getCustomRedirects, - setSimplyTranslateRedirects, - setLingvaRedirects, - - getDisable, - setDisable, - - getFrontend, - setFrontend, - - getProtocol, - setProtocol, - - getFrom, - setFrom, - getTo, - setTo, - - getSimplyTranslateEngine, - setSimplyTranslateEngine, - - getSimplyTranslateNormalRedirectsChecks, - setSimplyTranslateNormalRedirectsChecks, - getSimplyTranslateTorRedirectsChecks, - setSimplyTranslateTorRedirectsChecks, - - getSimplyTranslateNormalCustomRedirects, - setSimplyTranslateNormalCustomRedirects, - getSimplyTranslateTorCustomRedirects, - setSimplyTranslateTorCustomRedirects, - - getLingvaNormalRedirectsChecks, - setLingvaNormalRedirectsChecks, - getLingvaTorRedirectsChecks, - setLingvaTorRedirectsChecks, - - getLingvaNormalCustomRedirects, - setLingvaNormalCustomRedirects, - getLingvaTorCustomRedirects, - setLingvaTorCustomRedirects, isTranslateRedirects, initLingvaLocalStorage, + setSimplyTranslateRedirects, + setLingvaRedirects, + redirect, + initDefaults, init, switchInstance, }; diff --git a/src/assets/javascripts/helpers/twitter.js b/src/assets/javascripts/helpers/twitter.js index 6ac23d40..250b9050 100644 --- a/src/assets/javascripts/helpers/twitter.js +++ b/src/assets/javascripts/helpers/twitter.js @@ -15,17 +15,8 @@ let redirects = { "tor": [] }, }; -const getRedirects = () => redirects; - -function getCustomRedirects() { - return { - "nitter": { - "normal": [...nitterNormalRedirectsChecks, ...nitterNormalCustomRedirects], - "tor": [...nitterTorRedirectsChecks, ...nitterTorCustomRedirects] - }, - }; -}; +const getRedirects = () => redirects; function setRedirects(val) { redirects.nitter = val; browser.storage.local.set({ twitterRedirects: redirects }) @@ -35,133 +26,44 @@ function setRedirects(val) { var index = nitterNormalRedirectsChecks.indexOf(item); if (index !== -1) nitterNormalRedirectsChecks.splice(index, 1); } - setNitterNormalRedirectsChecks(nitterNormalRedirectsChecks); + browser.storage.local.set({ nitterNormalRedirectsChecks }) for (const item of nitterTorRedirectsChecks) if (!redirects.nitter.tor.includes(item)) { var index = nitterTorRedirectsChecks.indexOf(item); if (index !== -1) nitterTorRedirectsChecks.splice(index, 1); } - setNitterTorRedirectsChecks(nitterTorRedirectsChecks); + browser.storage.local.set({ nitterTorRedirectsChecks }) } let nitterNormalRedirectsChecks; -const getNitterNormalRedirectsChecks = () => nitterNormalRedirectsChecks; -function setNitterNormalRedirectsChecks(val) { - nitterNormalRedirectsChecks = val; - browser.storage.local.set({ nitterNormalRedirectsChecks }) - console.log("nitterNormalRedirectsChecks: ", val) -} - let nitterNormalCustomRedirects = []; -const getNitterNormalCustomRedirects = () => nitterNormalCustomRedirects; -function setNitterNormalCustomRedirects(val) { - nitterNormalCustomRedirects = val; - browser.storage.local.set({ nitterNormalCustomRedirects }) - console.log("nitterNormalCustomRedirects: ", val) -} - let nitterTorRedirectsChecks; -const getNitterTorRedirectsChecks = () => nitterTorRedirectsChecks; -function setNitterTorRedirectsChecks(val) { - nitterTorRedirectsChecks = val; - browser.storage.local.set({ nitterTorRedirectsChecks }) - console.log("nitterTorRedirectsChecks: ", val) -} - let nitterTorCustomRedirects = []; -const getNitterTorCustomRedirects = () => nitterTorCustomRedirects; -function setNitterTorCustomRedirects(val) { - nitterTorCustomRedirects = val; - browser.storage.local.set({ nitterTorCustomRedirects }) - console.log("nitterTorCustomRedirects: ", val) -} - -let disable; -const getDisable = () => disable; -function setDisable(val) { - disable = val; - browser.storage.local.set({ disableTwitter: disable }) -} - -let enableCustomSettings; -const getEnableCustomSettings = () => enableCustomSettings; -function setEnableCustomSettings(val) { - enableCustomSettings = val; - browser.storage.local.set({ enableTwitterCustomSettings: enableCustomSettings }) - console.log("enableTwitterCustomSettings: ", enableCustomSettings) -} - -let protocol; -const getProtocol = () => protocol; -function setProtocol(val) { - protocol = val; - browser.storage.local.set({ twitterProtocol: val }) - console.log("twitterProtocol: ", val) -} -let bypassWatchOnTwitter; -const getBypassWatchOnTwitter = () => bypassWatchOnTwitter; -function setBypassWatchOnTwitter(val) { - bypassWatchOnTwitter = val; - browser.storage.local.set({ bypassWatchOnTwitter }) - console.log("bypassWatchOnTwitter: ", bypassWatchOnTwitter) -} +let disable; // disableTwitter +let enableCustomSettings; // enableTwitterCustomSettings +let protocol; // twitterProtocol +let bypassWatchOnTwitter; // bypassWatchOnTwitter let alwaysUsePreferred; -let theme; -const getTheme = () => theme; - -let infiniteScroll; -const getInfiniteScroll = () => infiniteScroll; - -let stickyProfile; -const getStickyProfile = () => stickyProfile; - -let bidiSupport; -const getBidiSupport = () => bidiSupport; - -let hideTweetStats; -const getHideTweetStats = () => hideTweetStats; - -let hideBanner; -const getHideBanner = () => hideBanner; - -let hidePins; -const getHidePins = () => hidePins; +let + theme, + infiniteScroll, + stickyProfile, + bidiSupport, + hideTweetStats, + hideBanner, + hidePins, + hideReplies, + squareAvatars, + mp4Playback, + hlsPlayback, + proxyVideos, + muteVideos, + autoplayGifs; -let hideReplies; -const getHideReplies = () => hideReplies; - -let squareAvatars; -const getSquareAvatars = () => squareAvatars; - -let mp4Playback; -const getMp4Playback = () => mp4Playback; - -let hlsPlayback; -const getHlsPlayback = () => hlsPlayback; - -let proxyVideos; -const getProxyVideos = () => proxyVideos; - -let muteVideos; -const getMuteVideos = () => muteVideos; - -let autoplayGifs; -const getAutoplayGifs = () => autoplayGifs; - - - -async function setSettings(val) { - return new Promise( - resolve => { - browser.storage.local.set(val).then(resolve); - } - ) - -} function redirect(url, initiator) { let protocolHost = commonHelper.protocolHost(url); @@ -312,138 +214,127 @@ function initNitterCookies() { } } + +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, + }) + }) +} + async function init() { - return new Promise(resolve => { - fetch('/instances/data.json').then(response => response.text()).then(data => { - let dataJson = JSON.parse(data); - browser.storage.local.get( - [ - "disableTwitter", - - "enableTwitterCustomSettings", - - "twitterRedirects", - "bypassWatchOnTwitter", - - "nitterNormalRedirectsChecks", - "nitterNormalCustomRedirects", - - "nitterTorRedirectsChecks", - "nitterTorCustomRedirects", - - "twitterProtocol", - "alwaysUsePreferred", - - "nitterTheme", - "nitterInfiniteScroll", - "nitterStickyProfile", - "nitterBidiSupport", - "nitterHideTweetStats", - "nitterHideBanner", - "nitterHidePins", - "nitterHideReplies", - "nitterSquareAvatars", - "nitterMp4Playback", - "nitterHlsPlayback", - "nitterProxyVideos", - "nitterMuteVideos", - "nitterAutoplayGifs", - ], - r => { - disable = r.disableTwitter ?? false; - enableCustomSettings = r.enableTwitterCustomSettings ?? false; - - protocol = r.twitterProtocol ?? "normal"; - - bypassWatchOnTwitter = r.bypassWatchOnTwitter ?? true; - - alwaysUsePreferred = r.alwaysUsePreferred ?? false; - - redirects.nitter = dataJson.nitter; - if (r.twitterRedirects) redirects = r.twitterRedirects; - - nitterNormalRedirectsChecks = r.nitterNormalRedirectsChecks ?? [...redirects.nitter.normal]; - nitterNormalCustomRedirects = r.nitterNormalCustomRedirects ?? []; - - nitterTorRedirectsChecks = r.nitterTorRedirectsChecks ?? [...redirects.nitter.tor]; - nitterTorCustomRedirects = r.nitterTorCustomRedirects ?? []; - - theme = r.nitterTheme ?? 'Auto'; - infiniteScroll = r.nitterInfiniteScroll ?? false; - stickyProfile = r.nitterStickyProfile ?? true; - bidiSupport = r.nitterBidiSupport ?? false; - hideTweetStats = r.nitterHideTweetStats ?? false; - hideBanner = r.nitterHideBanner ?? false; - hidePins = r.nitterHidePins ?? false; - hideReplies = r.nitterHideReplies ?? false; - squareAvatars = r.nitterSquareAvatars ?? false; - mp4Playback = r.nitterMp4Playback ?? true; - hlsPlayback = r.nitterHlsPlayback ?? false; - proxyVideos = r.nitterProxyVideos ?? true; - muteVideos = r.nitterMuteVideos ?? false; - autoplayGifs = r.nitterAutoplayGifs ?? true; - - resolve(); - } - ); - }); - }); + browser.storage.local.get( + [ + "disableTwitter", + + "enableTwitterCustomSettings", + + "twitterRedirects", + "bypassWatchOnTwitter", + + "nitterNormalRedirectsChecks", + "nitterNormalCustomRedirects", + + "nitterTorRedirectsChecks", + "nitterTorCustomRedirects", + + "twitterProtocol", + "alwaysUsePreferred", + + "nitterTheme", + "nitterInfiniteScroll", + "nitterStickyProfile", + "nitterBidiSupport", + "nitterHideTweetStats", + "nitterHideBanner", + "nitterHidePins", + "nitterHideReplies", + "nitterSquareAvatars", + "nitterMp4Playback", + "nitterHlsPlayback", + "nitterProxyVideos", + "nitterMuteVideos", + "nitterAutoplayGifs", + ], + r => { + disable = r.disableTwitter; + enableCustomSettings = r.enableTwitterCustomSettings; + + protocol = r.twitterProtocol; + + bypassWatchOnTwitter = r.bypassWatchOnTwitter; + + alwaysUsePreferred = r.alwaysUsePreferred; + + redirects = r.twitterRedirects; + + nitterNormalRedirectsChecks = r.nitterNormalRedirectsChecks; + nitterNormalCustomRedirects = r.nitterNormalCustomRedirects; + + nitterTorRedirectsChecks = r.nitterTorRedirectsChecks; + nitterTorCustomRedirects = r.nitterTorCustomRedirects; + + theme = r.nitterTheme; + infiniteScroll = r.nitterInfiniteScroll; + stickyProfile = r.nitterStickyProfile; + bidiSupport = r.nitterBidiSupport; + hideTweetStats = r.nitterHideTweetStats; + hideBanner = r.nitterHideBanner; + hidePins = r.nitterHidePins; + hideReplies = r.nitterHideReplies; + squareAvatars = r.nitterSquareAvatars; + mp4Playback = r.nitterMp4Playback; + hlsPlayback = r.nitterHlsPlayback; + proxyVideos = r.nitterProxyVideos; + muteVideos = r.nitterMuteVideos; + autoplayGifs = r.nitterAutoplayGifs; + } + ); } export default { getRedirects, - getCustomRedirects, setRedirects, - - getDisable, - setDisable, - reverse, - - getEnableCustomSettings, - setEnableCustomSettings, - - getNitterNormalRedirectsChecks, - setNitterNormalRedirectsChecks, - - getNitterNormalCustomRedirects, - setNitterNormalCustomRedirects, - - getNitterTorRedirectsChecks, - setNitterTorRedirectsChecks, - - getNitterTorCustomRedirects, - setNitterTorCustomRedirects, - - getBypassWatchOnTwitter, - setBypassWatchOnTwitter, - removeXFrameOptions, - getProtocol, - setProtocol, - isNitter, initNitterCookies, - getTheme, - getInfiniteScroll, - getStickyProfile, - getBidiSupport, - getHideTweetStats, - getHideBanner, - getHidePins, - getHideReplies, - getSquareAvatars, - getMp4Playback, - getHlsPlayback, - getProxyVideos, - getMuteVideos, - getAutoplayGifs, - - setSettings, - redirect, + initDefaults, init, switchInstance, }; diff --git a/src/assets/javascripts/helpers/wikipedia.js b/src/assets/javascripts/helpers/wikipedia.js index c06fff92..04ba51b9 100644 --- a/src/assets/javascripts/helpers/wikipedia.js +++ b/src/assets/javascripts/helpers/wikipedia.js @@ -12,15 +12,6 @@ let redirects = { } }; const getRedirects = () => redirects; -const getCustomRedirects = function () { - return { - "wikiless": { - "normal": [...wikilessNormalRedirectsChecks, ...wikilessNormalCustomRedirects], - "tor": [...wikilessTorRedirectsChecks, ...wikilessTorCustomRedirects], - "i2p": [...wikilessI2pRedirectsChecks, ...wikilessI2pCustomRedirects] - }, - }; -}; function setRedirects(val) { redirects.wikiless = val; @@ -31,88 +22,37 @@ function setRedirects(val) { var index = wikilessNormalRedirectsChecks.indexOf(item); if (index !== -1) wikilessNormalRedirectsChecks.splice(index, 1); } - setWikilessNormalRedirectsChecks(wikilessNormalRedirectsChecks); + browser.storage.local.set({ wikilessNormalRedirectsChecks }) for (const item of wikilessTorRedirectsChecks) if (!redirects.wikiless.tor.includes(item)) { var index = wikilessTorRedirectsChecks.indexOf(item); if (index !== -1) wikilessTorRedirectsChecks.splice(index, 1); } - setWikilessTorRedirectsChecks(wikilessTorRedirectsChecks); + browser.storage.local.set({ wikilessTorRedirectsChecks }) for (const item of wikilessI2pRedirectsChecks) if (!redirects.wikiless.i2p.includes(item)) { var index = wikilessI2pRedirectsChecks.indexOf(item); if (index !== -1) wikilessI2pRedirectsChecks.splice(index, 1); } - setWikilessI2pRedirectsChecks(wikilessI2pRedirectsChecks); -} - -let disable; -const getDisable = () => disable; -function setDisable(val) { - disable = val; - browser.storage.local.set({ disableWikipedia: disable }) + browser.storage.local.set({ wikilessI2pRedirectsChecks }) } -let protocol; -const getProtocol = () => protocol; -function setProtocol(val) { - protocol = val; - browser.storage.local.set({ wikipediaProtocol: val }) - console.log("wikipediaProtocol: ", val) -} +let disable; // disableWikipedia +let protocol; // wikipediaProtocol let wikilessNormalRedirectsChecks; -const getWikilessNormalRedirectsChecks = () => wikilessNormalRedirectsChecks; -function setWikilessNormalRedirectsChecks(val) { - wikilessNormalRedirectsChecks = val; - browser.storage.local.set({ wikilessNormalRedirectsChecks }) - console.log("wikilessNormalRedirectsChecks: ", val) -} - let wikilessTorRedirectsChecks; -const getWikilessTorRedirectsChecks = () => wikilessTorRedirectsChecks; -function setWikilessTorRedirectsChecks(val) { - wikilessTorRedirectsChecks = val; - browser.storage.local.set({ wikilessTorRedirectsChecks }) - console.log("wikilessTorRedirectsChecks: ", val) -} - let wikilessI2pRedirectsChecks; -const getWikilessI2pRedirectsChecks = () => wikilessI2pRedirectsChecks; -function setWikilessI2pRedirectsChecks(val) { - wikilessI2pRedirectsChecks = val; - browser.storage.local.set({ wikilessI2pRedirectsChecks }) - console.log("wikilessI2pRedirectsChecks: ", val) -} - let wikilessNormalCustomRedirects = []; -const getWikilessNormalCustomRedirects = () => wikilessNormalCustomRedirects; -function setWikilessNormalCustomRedirects(val) { - wikilessNormalCustomRedirects = val; - browser.storage.local.set({ wikilessNormalCustomRedirects }) - console.log("wikilessNormalCustomRedirects: ", val) -} - let wikilessTorCustomRedirects = []; -const getWikilessTorCustomRedirects = () => wikilessTorCustomRedirects; -function setWikilessTorCustomRedirects(val) { - wikilessTorCustomRedirects = val; - browser.storage.local.set({ wikilessTorCustomRedirects }) - console.log("wikilessTorCustomRedirects: ", val) -} - let wikilessI2pCustomRedirects = []; -const getWikilessI2pCustomRedirects = () => wikilessI2pCustomRedirects; -function setWikilessI2pCustomRedirects(val) { - wikilessI2pCustomRedirects = val; - browser.storage.local.set({ wikilessI2pCustomRedirects }) - console.log("wikilessI2pCustomRedirects: ", val) -} + let theme; let applyThemeToSites; + function initWikilessCookies() { let themeValue; if (theme == 'light') themeValue = 'white'; @@ -196,82 +136,74 @@ function switchInstance(url) { return `${randomInstance}${url.pathname}${url.search}`; } + +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, + }) + + }) +} + async function init() { - return new Promise((resolve) => { - fetch('/instances/data.json').then(response => response.text()).then(data => { - let dataJson = JSON.parse(data); - browser.storage.local.get( - [ - "disableWikipedia", - "wikipediaRedirects", - "wikilessNormalRedirectsChecks", - "wikilessTorRedirectsChecks", - "wikilessI2pRedirectsChecks", - "wikilessNormalCustomRedirects", - "wikilessTorCustomRedirects", - "wikilessI2pCustomRedirects", - "wikipediaProtocol", - - "theme", - "applyThemeToSites", - - ], r => { - disable = r.disableWikipedia ?? true; - - protocol = r.wikipediaProtocol ?? "normal"; - - redirects.wikiless = dataJson.wikiless; - if (r.wikipediaRedirects) redirects = r.wikipediaRedirects; - - wikilessNormalRedirectsChecks = r.wikilessNormalRedirectsChecks ?? [...redirects.wikiless.normal]; - wikilessNormalCustomRedirects = r.wikilessNormalCustomRedirects ?? []; - - wikilessTorRedirectsChecks = r.wikilessTorRedirectsChecks ?? [...redirects.wikiless.tor]; - wikilessTorCustomRedirects = r.wikilessTorCustomRedirects ?? []; - - wikilessI2pRedirectsChecks = r.wikilessI2pRedirectsChecks ?? [...redirects.wikiless.i2p]; - wikilessI2pCustomRedirects = r.wikilessI2pCustomRedirects ?? []; - - theme = r.theme ?? 'DEFAULT'; - applyThemeToSites = r.applyThemeToSites ?? false; - - initWikilessCookies(); - - resolve(); - } - ); - }); - }); + browser.storage.local.get( + [ + "disableWikipedia", + "wikipediaRedirects", + "wikilessNormalRedirectsChecks", + "wikilessTorRedirectsChecks", + "wikilessI2pRedirectsChecks", + "wikilessNormalCustomRedirects", + "wikilessTorCustomRedirects", + "wikilessI2pCustomRedirects", + "wikipediaProtocol", + + "theme", + "applyThemeToSites", + + ], r => { + disable = r.disableWikipedia; + + protocol = r.wikipediaProtocol; + redirects = r.wikipediaRedirects; + + wikilessNormalRedirectsChecks = r.wikilessNormalRedirectsChecks; + wikilessNormalCustomRedirects = r.wikilessNormalCustomRedirects; + + wikilessTorRedirectsChecks = r.wikilessTorRedirectsChecks; + wikilessTorCustomRedirects = r.wikilessTorCustomRedirects; + + wikilessI2pRedirectsChecks = r.wikilessI2pRedirectsChecks; + wikilessI2pCustomRedirects = r.wikilessI2pCustomRedirects; + + theme = r.theme; + applyThemeToSites = r.applyThemeToSites; + } + ); } export default { getRedirects, - getCustomRedirects, setRedirects, - setDisable, - getDisable, - - getProtocol, - setProtocol, - - getWikilessNormalRedirectsChecks, - setWikilessNormalRedirectsChecks, - getWikilessTorRedirectsChecks, - setWikilessTorRedirectsChecks, - getWikilessI2pRedirectsChecks, - setWikilessI2pRedirectsChecks, - - getWikilessNormalCustomRedirects, - setWikilessNormalCustomRedirects, - getWikilessTorCustomRedirects, - setWikilessTorCustomRedirects, - getWikilessI2pCustomRedirects, - setWikilessI2pCustomRedirects, - initWikilessCookies, redirect, + initDefaults, init, switchInstance, }; diff --git a/src/assets/javascripts/helpers/youtube/youtube.js b/src/assets/javascripts/helpers/youtube/youtube.js index 9cdc60ad..193a4ec3 100644 --- a/src/assets/javascripts/helpers/youtube/youtube.js +++ b/src/assets/javascripts/helpers/youtube/youtube.js @@ -137,8 +137,9 @@ function redirect(url, details, initiator) { if (frontend == 'yatte' && details.type === "main_frame") return url.href.replace(/^https?:\/{2}/, 'yattee://'); - else if (frontend == 'freetube' && details.type === "main_frame") - return `freetube://${url}`; + else if (frontend == 'freetube' && details.type === "main_frame") { + return `freetube://https:${url.pathname}${url.search}`; + } else if (frontend == 'freetube' && details.type !== "main_frame" && youtubeEmbedFrontend == "youtube") return null; @@ -265,6 +266,7 @@ function switchInstance(url) { } function isPipedorInvidious(url, type, frontend) { + init(); let protocolHost = commonHelper.protocolHost(url); if (type !== "main_frame" && type !== "sub_frame") return false; @@ -348,7 +350,7 @@ async function initDefaults() { youtubeProtocol: 'normal', bypassWatchOnYoutube: true, }) - + await invidious.initDefaults(); await piped.initDefaults(); await pipedMaterial.initDefaults(); @@ -392,8 +394,6 @@ async function init() { "bypassWatchOnYoutube", ], r => { - - console.log('inited r.youtubeRedirects', r.youtubeRedirects); redirects = r.youtubeRedirects; disable = r.disableYoutube; diff --git a/src/assets/javascripts/helpers/youtubeMusic.js b/src/assets/javascripts/helpers/youtubeMusic.js index 1833b101..ef707855 100644 --- a/src/assets/javascripts/helpers/youtubeMusic.js +++ b/src/assets/javascripts/helpers/youtubeMusic.js @@ -16,45 +16,11 @@ let redirects = { }, }; -const getRedirects = () => redirects; - -function getCustomRedirects() { - return { - "beatbump": { - "normal": [...beatbumpNormalRedirectsChecks, ...beatbumpNormalCustomRedirects] - }, - }; -}; - -function setYoutubeMusicRedirects(val) { - redirects.beatbump = val; - browser.storage.local.set({ youtubeMusicRedirects: redirects }) - console.log("youtubeMusicRedirects: ", val) -} +const getRedirects = () => redirects; // youtubeMusicRedirects let beatbumpNormalRedirectsChecks; -const getBeatbumpNormalRedirectsChecks = () => beatbumpNormalRedirectsChecks; -function setBeatbumpNormalRedirectsChecks(val) { - beatbumpNormalRedirectsChecks = val; - browser.storage.local.set({ beatbumpNormalRedirectsChecks }) - console.log("beatbumpNormalRedirectsChecks: ", val) -} - let beatbumpNormalCustomRedirects = []; -const getBeatbumpNormalCustomRedirects = () => beatbumpNormalCustomRedirects; -function setBeatbumpNormalCustomRedirects(val) { - beatbumpNormalCustomRedirects = val; - browser.storage.local.set({ beatbumpNormalCustomRedirects }) - console.log("beatbumpNormalCustomRedirects: ", val) -} - -let disable; -const getDisable = () => disable; -function setDisable(val) { - disable = val; - browser.storage.local.set({ disableYoutubeMusic: disable }) - console.log("disableYoutubeMusic: ", disable) -} +let disable; // disableYoutubeMusic function isYoutubeMusic(url, initiator) { if (disable) return false @@ -72,11 +38,11 @@ function redirect(url, type) { // https://music.youtube.com/playlist?list=PLqxd0OMLeWy7lrJSzt9LnOJjbC1IaruPM // https://music.youtube.com/playlist?list=PLQod4DlD72ZMJmOrSNbmEmK_iZ1oXPzKd // https://beatbump.ml/playlist/VLPLqxd0OMLeWy64zlwhjouj92ISc38FbOns - + // Channel // https://music.youtube.com/channel/UCfgmMDI7T5tOQqjnOBRe_wg // https://beatbump.ml/artist/UCfgmMDI7T5tOQqjnOBRe_wg - + // Albums // https://music.youtube.com/playlist?list=OLAK5uy_n-9HVh3cryV2gREZM9Sc0JwEKYjjfi0dU // https://music.youtube.com/playlist?list=OLAK5uy_lcr5O1zS8f6WIFI_yxqVp2RK9Dyy2bbw0 @@ -86,7 +52,7 @@ function redirect(url, type) { // https://music.youtube.com/playlist?list=OLAK5uy_n6OHVllUZUCnlIY1m-gUaH8uqkN3Y-Ca8 // https://music.youtube.com/playlist?list=OLAK5uy_nBOTxAc3_RGB82-Z54jdARGxGaCYlpngY // https://beatbump.ml/release?id=MPREb_QygdC0wEoLe - + // https://music.youtube.com/watch?v=R6gSMSYKhKU&list=OLAK5uy_n-9HVh3cryV2gREZM9Sc0JwEKYjjfi0dU let instancesList = [...beatbumpNormalRedirectsChecks, ...beatbumpNormalCustomRedirects]; @@ -99,47 +65,37 @@ function redirect(url, type) { .replace("/playlist?list=", "/playlist/VL"); } -async function init() { - return new Promise((resolve) => { - browser.storage.local.get( - [ - "disableYoutubeMusic", - "youtubeMusicRedirects", - "beatbumpNormalRedirectsChecks", - "beatbumpNormalCustomRedirects", +async function initDefaults() { + await browser.storage.local.set({ + disableYoutubeMusic: false, - "youtubeMusicProtocol", - ], - (result) => { - disable = result.disableYoutubeMusic ?? false; + beatbumpNormalRedirectsChecks: [...redirects.beatbump.normal], + beatbumpNormalCustomRedirects: [], + }) +} - if (result.youtubeMusicRedirects) redirects = result.youtubeMusicRedirects; +async function init() { + browser.storage.local.get( + [ + "disableYoutubeMusic", - beatbumpNormalRedirectsChecks = result.beatbumpNormalRedirectsChecks ?? [...redirects.beatbump.normal]; - beatbumpNormalCustomRedirects = result.beatbumpNormalCustomRedirects ?? []; + "beatbumpNormalRedirectsChecks", + "beatbumpNormalCustomRedirects", + ], + r => { + disable = r.disableYoutubeMusic; - resolve(); - }); - }); + beatbumpNormalRedirectsChecks = r.beatbumpNormalRedirectsChecks; + beatbumpNormalCustomRedirects = r.beatbumpNormalCustomRedirects; + }); } export default { getRedirects, - getCustomRedirects, - setYoutubeMusicRedirects, - redirect, isYoutubeMusic, - getDisable, - setDisable, - - getBeatbumpNormalRedirectsChecks, - setBeatbumpNormalRedirectsChecks, - - getBeatbumpNormalCustomRedirects, - setBeatbumpNormalCustomRedirects, - + initDefaults, init, }; |