diff options
Diffstat (limited to 'src')
60 files changed, 1160 insertions, 3451 deletions
diff --git a/src/_locales/ar/messages.json b/src/_locales/ar/messages.json index 50e627c5..87693012 100644 --- a/src/_locales/ar/messages.json +++ b/src/_locales/ar/messages.json @@ -89,11 +89,6 @@ "description": "used in general.html" }, - "pixiv": { - "message": "بكسيف", - "description": "used in general.html" - }, - "wikipedia": { "message": "ويكيبيديا", "description": "used in general.html" @@ -119,11 +114,6 @@ "description": "used in imgur.html" }, - "pixivMoe": { - "message": "pixiv萌え", - "description": "used in pixiv.html" - }, - "theme": { "message": "السمة", "description": "used in general.html" @@ -226,7 +216,7 @@ "notFullyPrivate": { "message": "هذه الواجهة لا تحترم الخصوصية تماماً", - "description": "used in pixiv.html" + "description": "" }, "oldReddit": { diff --git a/src/_locales/de/messages.json b/src/_locales/de/messages.json index 03248032..3b5ab016 100644 --- a/src/_locales/de/messages.json +++ b/src/_locales/de/messages.json @@ -89,11 +89,6 @@ "description": "used in general.html" }, - "pixiv": { - "message": "Pixiv", - "description": "used in general.html" - }, - "wikipedia": { "message": "Wikipedia", "description": "used in general.html" @@ -119,11 +114,6 @@ "description": "used in imgur.html" }, - "pixivMoe": { - "message": "pixiv萌え", - "description": "used in pixiv.html" - }, - "theme": { "message": "Thema", "description": "used in general.html" @@ -226,7 +216,7 @@ "notFullyPrivate": { "message": "Das ist kein völlig privates Frontend.", - "description": "used in pixiv.html" + "description": "" }, "oldReddit": { diff --git a/src/_locales/en/messages.json b/src/_locales/en/messages.json index bd693d3c..e347c663 100644 --- a/src/_locales/en/messages.json +++ b/src/_locales/en/messages.json @@ -89,11 +89,6 @@ "description": "used in general.html" }, - "pixiv": { - "message": "Pixiv", - "description": "used in general.html" - }, - "wikipedia": { "message": "Wikipedia", "description": "used in general.html" @@ -119,11 +114,6 @@ "description": "used in imgur.html" }, - "pixivMoe": { - "message": "pixiv萌え", - "description": "used in pixiv.html" - }, - "theme": { "message": "Theme", "description": "used in general.html" @@ -226,7 +216,7 @@ "notFullyPrivate": { "message": "This isn't a fully private frontend.", - "description": "used in pixiv.html" + "description": "" }, "oldReddit": { diff --git a/src/assets/images/pixiv-icon.svg b/src/assets/images/pixiv-icon.svg deleted file mode 100644 index 2e3cb564..00000000 --- a/src/assets/images/pixiv-icon.svg +++ /dev/null @@ -1,56 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no"?> -<!-- Created with Inkscape (http://www.inkscape.org/) --> - -<svg - width="67.73333mm" - height="67.73333mm" - viewBox="0 0 67.733331 67.733331" - version="1.1" - id="svg5" - inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20)" - sodipodi:docname="pixiv-icon.svg" - inkscape:export-filename="/mnt/main_storage/Git/libredirect/src/assets/images/pixiv-icon.png" - inkscape:export-xdpi="48" - inkscape:export-ydpi="48" - xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" - xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" - xmlns="http://www.w3.org/2000/svg" - xmlns:svg="http://www.w3.org/2000/svg"> - <sodipodi:namedview - id="namedview7" - pagecolor="#ffffff" - bordercolor="#666666" - borderopacity="1.0" - inkscape:pageshadow="2" - inkscape:pageopacity="0.0" - inkscape:pagecheckerboard="0" - inkscape:document-units="mm" - showgrid="false" - inkscape:zoom="1.622695" - inkscape:cx="53.614512" - inkscape:cy="136.50132" - inkscape:window-width="1888" - inkscape:window-height="1060" - inkscape:window-x="32" - inkscape:window-y="0" - inkscape:window-maximized="1" - inkscape:current-layer="layer1" /> - <defs - id="defs2" /> - <g - inkscape:label="Layer 1" - inkscape:groupmode="layer" - id="layer1" - transform="translate(-103.98557,-52.402599)"> - <circle - style="fill:#0096fa;fill-opacity:1;stroke-width:2.64583" - id="path1234" - cx="137.85223" - cy="86.269264" - r="33.866665" /> - <path - style="fill:#ffffff;stroke-width:0.313386" - d="m 122.7229,105.30379 c -0.24873,-0.40245 0.7237,-1.54717 1.31432,-1.54717 0.347,0 0.42151,-2.55398 0.42151,-14.446665 V 74.863294 l -1.03225,0.892679 c -2.10117,1.817053 -3.35517,3.636697 -3.35517,4.868584 0,2.298073 -1.08814,1.726257 -2.82048,-1.482147 l -0.78346,-1.451038 1.56693,-1.400312 c 10.52844,-9.408887 24.10553,-12.052505 33.56986,-6.536439 2.25569,1.314672 4.93919,4.203746 6.03254,6.494663 1.20804,2.531212 1.59075,4.221702 1.60031,7.068726 0.0327,9.739076 -9.81435,16.74731 -21.67016,15.422863 -2.55639,-0.285577 -6.17239,-1.083524 -7.85889,-1.734229 -0.5011,-0.193334 -0.54843,0.07462 -0.54843,3.104446 v 3.31605 l 0.94017,0.48616 c 0.56299,0.29114 0.94015,0.7344 0.94015,1.10491 0,0.58416 -0.2265,0.61873 -4.05553,0.61873 -2.5259,0 -4.13318,-0.12566 -4.26142,-0.33315 z m 19.92492,-9.384243 c 3.71424,-0.704393 6.88163,-2.766994 8.79493,-5.727265 3.22224,-4.985408 2.57484,-12.126756 -1.49817,-16.526092 -4.49505,-4.855189 -12.08781,-5.637541 -19.30051,-1.988706 l -1.49264,0.755112 0.0825,10.88286 0.0824,10.88286 2.11342,0.706325 c 3.4895,1.166218 8.18184,1.590735 11.21817,1.014906 z" - id="path6646" /> - </g> -</svg> 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, }; diff --git a/src/pages/background/background.js b/src/pages/background/background.js index ae5f9f95..dffcdc5b 100644 --- a/src/pages/background/background.js +++ b/src/pages/background/background.js @@ -11,7 +11,6 @@ import wikipediaHelper from "../../assets/javascripts/helpers/wikipedia.js"; import mediumHelper from "../../assets/javascripts/helpers/medium.js"; import imgurHelper from "../../assets/javascripts/helpers/imgur.js"; import tiktokHelper from "../../assets/javascripts/helpers/tiktok.js"; -import pixivHelper from "../../assets/javascripts/helpers/pixiv.js"; import speedtestHelper from "../../assets/javascripts/helpers/speedtest.js"; import sendTargetsHelper from "../../assets/javascripts/helpers/sendTargets.js"; import peertubeHelper from "../../assets/javascripts/helpers/peertube.js"; @@ -22,25 +21,28 @@ import youtubeMusicHelper from "../../assets/javascripts/helpers/youtubeMusic.js window.browser = window.browser || window.chrome; - - browser.runtime.onInstalled.addListener(async details => { if (details.reason == 'install') { - await instagramHelper.initDefaults(); - await redditHelper.initDefaults(); - await youtubeHelper.initDefaults(); - await tiktokHelper.initDefaults(); - await imgurHelper.initDefaults(); - await wholeInit(); - browser.storage.local.set({ initDefaults: true }) - initListener(); + youtubeHelper.initDefaults(); + youtubeMusicHelper.initDefaults(); + twitterHelper.initDefaults(); + instagramHelper.initDefaults(); + mapsHelper.initDefaults(); + searchHelper.initDefaults(); + translateHelper.initDefaults(); + mediumHelper.initDefaults(); + redditHelper.initDefaults(); + wikipediaHelper.initDefaults(); + imgurHelper.initDefaults(); + tiktokHelper.initDefaults(); + speedtestHelper.initDefaults(); + sendTargetsHelper.initDefaults(); + peertubeHelper.initDefaults(); + lbryHelper.initDefaults(); + spotifyHelper.initDefaults(); } }); -function initListener() { - browser.storage.onChanged.addListener(wholeInit); -} - async function wholeInit() { await youtubeHelper.init(); await youtubeMusicHelper.init(); @@ -54,7 +56,6 @@ async function wholeInit() { await wikipediaHelper.init(); await imgurHelper.init(); await tiktokHelper.init(); - await pixivHelper.init(); await speedtestHelper.init(); await sendTargetsHelper.init(); await peertubeHelper.init(); @@ -63,15 +64,6 @@ async function wholeInit() { await generalHelper.init(); } -await browser.storage.local.get( - 'initDefaults', - async r => { - if (r.initDefaults == true) { - await wholeInit(); - initListener(); - } - }) - let incognitoInit = false; browser.tabs.onCreated.addListener( tab => { @@ -87,7 +79,8 @@ browser.tabs.onCreated.addListener( let BYPASSTABs = []; browser.webRequest.onBeforeRequest.addListener( - details => { + async details => { + await wholeInit(); const url = new URL(details.url); // console.info("url:", url.href, "type:", details.type); let initiator; @@ -115,8 +108,6 @@ browser.webRequest.onBeforeRequest.addListener( if (!newUrl) newUrl = tiktokHelper.redirect(url, details.type, initiator); - if (!newUrl) newUrl = pixivHelper.redirect(url, details.type, initiator); - if (!newUrl) newUrl = speedtestHelper.redirect(url, details.type, initiator); if (!newUrl) newUrl = sendTargetsHelper.redirect(url, details.type, initiator); @@ -173,20 +164,17 @@ browser.tabs.onRemoved.addListener( } ); - - - - -// Set "blocking" and "responseHeaders". browser.webRequest.onHeadersReceived.addListener( - e => { + async e => { + await wholeInit(); return twitterHelper.removeXFrameOptions(e); }, { urls: ["<all_urls>"], }, ["blocking", "responseHeaders"] ); -function redirectOfflineInstance(url, tabId) { +async function redirectOfflineInstance(url, tabId) { + await wholeInit(); let newUrl; newUrl = youtubeHelper.switchInstance(url); @@ -250,7 +238,8 @@ browser.webRequest.onErrorOccurred.addListener( ) browser.tabs.onUpdated.addListener( - (tabId, changeInfo, _) => { + async (tabId, changeInfo, _) => { + await wholeInit(); let url; try { url = new URL(changeInfo.url); } catch (_) { return } @@ -259,11 +248,11 @@ browser.tabs.onUpdated.addListener( if (translateHelper.isTranslateRedirects(url, 'main_frame', 'lingva')) translateHelper.initLingvaLocalStorage(tabId); if (instagramHelper.isBibliogram(url)) instagramHelper.initBibliogramCookies(url); // if (changeInfo.url && youtubeHelper.isPipedorInvidious(url, 'main_frame', 'pipedMaterial')) youtubeHelper.initPipedMaterialLocalStorage(tabId); - } ); -function changeWholeInstance(url) { +async function changeWholeInstance(url) { + await wholeInit(); let newUrl = youtubeHelper.switchInstance(url); if (!newUrl) newUrl = twitterHelper.switchInstance(url); diff --git a/src/pages/background/incognito.js b/src/pages/background/incognito.js index 689d0422..18096390 100644 --- a/src/pages/background/incognito.js +++ b/src/pages/background/incognito.js @@ -11,7 +11,6 @@ import wikipediaHelper from "../../assets/javascripts/helpers/wikipedia.js"; import mediumHelper from "../../assets/javascripts/helpers/medium.js"; import imgurHelper from "../../assets/javascripts/helpers/imgur.js"; import tiktokHelper from "../../assets/javascripts/helpers/tiktok.js"; -import pixivHelper from "../../assets/javascripts/helpers/pixiv.js"; import speedtestHelper from "../../assets/javascripts/helpers/speedtest.js"; import sendTargetsHelper from "../../assets/javascripts/helpers/sendTargets.js"; import peertubeHelper from "../../assets/javascripts/helpers/peertube.js"; @@ -35,7 +34,6 @@ async function wholeInit() { await wikipediaHelper.init(); await imgurHelper.init(); await tiktokHelper.init(); - await pixivHelper.init(); await speedtestHelper.init(); await sendTargetsHelper.init(); await peertubeHelper.init(); diff --git a/src/pages/options/general/general.html b/src/pages/options/general/general.html index e27ff9d4..615ccee3 100644 --- a/src/pages/options/general/general.html +++ b/src/pages/options/general/general.html @@ -22,7 +22,6 @@ <div class="title"> <img src="../../../assets/images/tiktok-icon.png"><a href="../tiktok/tiktok.html" data-localise="__MSG_tiktok__">TikTok</a></div> <div class="title"> <img src="../../../assets/images/reddit-icon.png"><a href="../reddit/reddit.html" data-localise="__MSG_reddit__">Reddit</a></div> <div class="title"> <img src="../../../assets/images/imgur-icon.png"><a href="../imgur/imgur.html" data-localise="__MSG_imgur__">Imgur</a></div> - <div class="title"> <img src="../../../assets/images/pixiv-icon.svg"><a href="../pixiv/pixiv.html" data-localise="__MSG_pixiv__">Pixiv</a></div> <div class="title"> <img src="../../../assets/images/librespeed-icon.svg"><a href="../speedtest/speedtest.html" data-localise="__MSG_speedtest__">Speedtest</a></div> <div class="title"> <img src="../../../assets/images/spotify-icon.png"><a href="../spotify/spotify.html" data-localise="__MSG_spotify__">Spotify</a></div> <div class="title"> <img src="../../../assets/images/wikipedia-icon.svg"><a href="../wikipedia/wikipedia.html" data-localise="__MSG_wikipedia__">Wikipedia</a></div> @@ -153,10 +152,6 @@ <input id="reddit" type="checkbox"> </div> <div> - <div> <img src="../../../assets/images/pixiv-icon.svg">Pixiv</div> - <input id="pixiv" type="checkbox"> - </div> - <div> <div> <img src="../../../assets/images/spotify-icon.png">Spotify</div> <input id="spotify" type="checkbox"> </div> diff --git a/src/pages/options/imgur/imgur.html b/src/pages/options/imgur/imgur.html index a97c1c28..2f959996 100644 --- a/src/pages/options/imgur/imgur.html +++ b/src/pages/options/imgur/imgur.html @@ -23,7 +23,6 @@ <div class="title"> <img src="../../../assets/images/tiktok-icon.png"><a href="../tiktok/tiktok.html" data-localise="__MSG_tiktok__">TikTok</a></div> <div class="title"> <img src="../../../assets/images/reddit-icon.png"><a href="../reddit/reddit.html" data-localise="__MSG_reddit__">Reddit</a></div> <div class="title"> <img src="../../../assets/images/imgur-icon.png"><a class="selected" href="../imgur/imgur.html" data-localise="__MSG_imgur__">Imgur</a></div> - <div class="title"> <img src="../../../assets/images/pixiv-icon.svg"><a href="../pixiv/pixiv.html" data-localise="__MSG_pixiv__">Pixiv</a></div> <div class="title"> <img src="../../../assets/images/librespeed-icon.svg"><a href="../speedtest/speedtest.html" data-localise="__MSG_speedtest__">Speedtest</a></div> <div class="title"> <img src="../../../assets/images/spotify-icon.png"><a href="../spotify/spotify.html" data-localise="__MSG_spotify__">Spotify</a></div> <div class="title"> <img src="../../../assets/images/wikipedia-icon.svg"><a href="../wikipedia/wikipedia.html" data-localise="__MSG_wikipedia__">Wikipedia</a></div> diff --git a/src/pages/options/imgur/imgur.js b/src/pages/options/imgur/imgur.js index 8d4428cf..2830f665 100644 --- a/src/pages/options/imgur/imgur.js +++ b/src/pages/options/imgur/imgur.js @@ -42,7 +42,7 @@ function init() { ], r => { disableImgurElement.checked = !r.disableImgur; - protocol.value = r.imgurProtocol; + protocolElement.value = r.imgurProtocol; changeProtocolSettings(r.imgurProtocol); } ); diff --git a/src/pages/options/instagram/instagram.html b/src/pages/options/instagram/instagram.html index bc52cd3b..9ff2651c 100644 --- a/src/pages/options/instagram/instagram.html +++ b/src/pages/options/instagram/instagram.html @@ -23,7 +23,6 @@ <div class="title"> <img src="../../../assets/images/tiktok-icon.png"><a href="../tiktok/tiktok.html" data-localise="__MSG_tiktok__">TikTok</a></div> <div class="title"> <img src="../../../assets/images/reddit-icon.png"><a href="../reddit/reddit.html" data-localise="__MSG_reddit__">Reddit</a></div> <div class="title"> <img src="../../../assets/images/imgur-icon.png"><a href="../imgur/imgur.html" data-localise="__MSG_imgur__">Imgur</a></div> - <div class="title"> <img src="../../../assets/images/pixiv-icon.svg"><a href="../pixiv/pixiv.html" data-localise="__MSG_pixiv__">Pixiv</a></div> <div class="title"> <img src="../../../assets/images/librespeed-icon.svg"><a href="../speedtest/speedtest.html" data-localise="__MSG_speedtest__">Speedtest</a></div> <div class="title"> <img src="../../../assets/images/spotify-icon.png"><a href="../spotify/spotify.html" data-localise="__MSG_spotify__">Spotify</a></div> <div class="title"> <img src="../../../assets/images/wikipedia-icon.svg"><a href="../wikipedia/wikipedia.html" data-localise="__MSG_wikipedia__">Wikipedia</a></div> diff --git a/src/pages/options/lbry/lbry.html b/src/pages/options/lbry/lbry.html index d5d459f7..4b6033aa 100644 --- a/src/pages/options/lbry/lbry.html +++ b/src/pages/options/lbry/lbry.html @@ -23,7 +23,6 @@ <div class="title"> <img src="../../../assets/images/tiktok-icon.png"><a href="../tiktok/tiktok.html" data-localise="__MSG_tiktok__">TikTok</a></div> <div class="title"> <img src="../../../assets/images/reddit-icon.png"><a href="../reddit/reddit.html" data-localise="__MSG_reddit__">Reddit</a></div> <div class="title"> <img src="../../../assets/images/imgur-icon.png"><a href="../imgur/imgur.html" data-localise="__MSG_imgur__">Imgur</a></div> - <div class="title"> <img src="../../../assets/images/pixiv-icon.svg"><a href="../pixiv/pixiv.html" data-localise="__MSG_pixiv__">Pixiv</a></div> <div class="title"> <img src="../../../assets/images/librespeed-icon.svg"><a href="../speedtest/speedtest.html" data-localise="__MSG_speedtest__">Speedtest</a></div> <div class="title"> <img src="../../../assets/images/spotify-icon.png"><a href="../spotify/spotify.html" data-localise="__MSG_spotify__">Spotify</a></div> <div class="title"> <img src="../../../assets/images/wikipedia-icon.svg"><a href="../wikipedia/wikipedia.html" data-localise="__MSG_wikipedia__">Wikipedia</a></div> diff --git a/src/pages/options/lbry/lbry.js b/src/pages/options/lbry/lbry.js index 4511373c..3ab04369 100644 --- a/src/pages/options/lbry/lbry.js +++ b/src/pages/options/lbry/lbry.js @@ -2,18 +2,15 @@ import lbryHelper from "../../../assets/javascripts/helpers/lbry.js"; import commonHelper from "../../../assets/javascripts/helpers/common.js"; let disableLbryElement = document.getElementById("disable-lbry"); -disableLbryElement.addEventListener("change", - (event) => lbryHelper.setDisable(!event.target.checked) -); - let protocolElement = document.getElementById("protocol") -protocolElement.addEventListener("change", - event => { - let protocol = event.target.options[protocolElement.selectedIndex].value - lbryHelper.setProtocol(protocol); - changeProtocolSettings(protocol); - } -); + +document.addEventListener("change", async () => { + await browser.storage.local.set({ + disableLbryTargets: !lbryHelper.checked, + lbryTargetsProtocol: protocolElement.value, + }); + changeProtocolSettings(protocolElement.value) +}) function changeProtocolSettings(protocol) { let normalDiv = document.getElementsByClassName("normal")[0]; @@ -28,37 +25,20 @@ function changeProtocolSettings(protocol) { } } -lbryHelper.init().then(() => { - disableLbryElement.checked = !lbryHelper.getDisable(); +browser.storage.local.get( + [ + "disableLbryTargets", + "lbryTargetsProtocol" + ], + r => { + disableLbryElement.checked = !r.disableLbryTargets; - let protocol = lbryHelper.getProtocol(); + let protocol = r.lbryTargetsProtocol; protocolElement.value = protocol; changeProtocolSettings(protocol); - browser.storage.local.get("librarianLatency").then(r => { - commonHelper.processDefaultCustomInstances( - 'librarian', - 'normal', - lbryHelper, - document, - lbryHelper.getLibrarianNormalRedirectsChecks, - lbryHelper.setLibrarianNormalRedirectsChecks, - lbryHelper.getLibrarianNormalCustomRedirects, - lbryHelper.setLibrarianNormalCustomRedirects, - r.librarianLatency, - ); - }) - - commonHelper.processDefaultCustomInstances( - 'librarian', - 'tor', - lbryHelper, - document, - lbryHelper.getLibrarianTorRedirectsChecks, - lbryHelper.setLibrarianTorRedirectsChecks, - lbryHelper.getLibrarianTorCustomRedirects, - lbryHelper.setLibrarianTorCustomRedirects - ) + commonHelper.processDefaultCustomInstances('librarian', 'normal', lbryHelper, document); + commonHelper.processDefaultCustomInstances('librarian', 'tor', lbryHelper, document) }) @@ -75,17 +55,7 @@ latencyElement.addEventListener("click", commonHelper.testLatency(latencyLabel, redirects.librarian.normal).then(r => { browser.storage.local.set({ librarianLatency: r }); latencyLabel.innerHTML = oldHtml; - commonHelper.processDefaultCustomInstances( - 'librarian', - 'normal', - lbryHelper, - document, - lbryHelper.getLibrarianNormalRedirectsChecks, - lbryHelper.setLibrarianNormalRedirectsChecks, - lbryHelper.getLibrarianNormalCustomRedirects, - lbryHelper.setLibrarianNormalCustomRedirects, - r, - ); + commonHelper.processDefaultCustomInstances('librarian', 'normal', lbryHelper, document); latencyElement.removeEventListener("click", reloadWindow); }); } diff --git a/src/pages/options/maps/maps.html b/src/pages/options/maps/maps.html index d4288761..fe18892a 100644 --- a/src/pages/options/maps/maps.html +++ b/src/pages/options/maps/maps.html @@ -23,7 +23,6 @@ <div class="title"> <img src="../../../assets/images/tiktok-icon.png"><a href="../tiktok/tiktok.html" data-localise="__MSG_tiktok__">TikTok</a></div> <div class="title"> <img src="../../../assets/images/reddit-icon.png"><a href="../reddit/reddit.html" data-localise="__MSG_reddit__">Reddit</a></div> <div class="title"> <img src="../../../assets/images/imgur-icon.png"><a href="../imgur/imgur.html" data-localise="__MSG_imgur__">Imgur</a></div> - <div class="title"> <img src="../../../assets/images/pixiv-icon.svg"><a href="../pixiv/pixiv.html" data-localise="__MSG_pixiv__">Pixiv</a></div> <div class="title"> <img src="../../../assets/images/librespeed-icon.svg"><a href="../speedtest/speedtest.html" data-localise="__MSG_speedtest__">Speedtest</a></div> <div class="title"> <img src="../../../assets/images/spotify-icon.png"><a href="../spotify/spotify.html" data-localise="__MSG_spotify__">Spotify</a></div> <div class="title"> <img src="../../../assets/images/wikipedia-icon.svg"><a href="../wikipedia/wikipedia.html" data-localise="__MSG_wikipedia__">Wikipedia</a></div> diff --git a/src/pages/options/maps/maps.js b/src/pages/options/maps/maps.js index 17c628dd..982b7980 100644 --- a/src/pages/options/maps/maps.js +++ b/src/pages/options/maps/maps.js @@ -33,17 +33,7 @@ mapsHelper.init().then(() => { changeFrontendsSettings(frontend); browser.storage.local.get("facilLatency").then(r => { - commonHelper.processDefaultCustomInstances( - 'facil', - 'normal', - mapsHelper, - document, - mapsHelper.getFacilNormalRedirectsChecks, - mapsHelper.setFacilNormalRedirectsChecks, - mapsHelper.getFacilNormalCustomRedirects, - mapsHelper.setFacilNormalCustomRedirects, - r.facilLatency, - ) + commonHelper.processDefaultCustomInstances('facil', 'normal', mapsHelper, document, r.facilLatency) }) }) @@ -60,17 +50,7 @@ latencyElement.addEventListener("click", commonHelper.testLatency(latencyLabel, redirects.facil.normal).then(r => { browser.storage.local.set({ facilLatency: r }); latencyLabel.innerHTML = oldHtml; - commonHelper.processDefaultCustomInstances( - 'facil', - 'normal', - mapsHelper, - document, - mapsHelper.getFacilNormalRedirectsChecks, - mapsHelper.setFacilNormalRedirectsChecks, - mapsHelper.getFacilNormalCustomRedirects, - mapsHelper.setFacilNormalCustomRedirects, - r, - ); + commonHelper.processDefaultCustomInstances('facil', 'normal', mapsHelper, document); latencyElement.removeEventListener("click", reloadWindow); }); } diff --git a/src/pages/options/medium/medium.html b/src/pages/options/medium/medium.html index 303524f7..e7c0a336 100644 --- a/src/pages/options/medium/medium.html +++ b/src/pages/options/medium/medium.html @@ -23,7 +23,6 @@ <div class="title"> <img src="../../../assets/images/tiktok-icon.png"><a href="../tiktok/tiktok.html" data-localise="__MSG_tiktok__">TikTok</a></div> <div class="title"> <img src="../../../assets/images/reddit-icon.png"><a href="../reddit/reddit.html" data-localise="__MSG_reddit__">Reddit</a></div> <div class="title"> <img src="../../../assets/images/imgur-icon.png"><a href="../imgur/imgur.html" data-localise="__MSG_imgur__">Imgur</a></div> - <div class="title"> <img src="../../../assets/images/pixiv-icon.svg"><a href="../pixiv/pixiv.html" data-localise="__MSG_pixiv__">Pixiv</a></div> <div class="title"> <img src="../../../assets/images/librespeed-icon.svg"><a href="../speedtest/speedtest.html" data-localise="__MSG_speedtest__">Speedtest</a></div> <div class="title"> <img src="../../../assets/images/spotify-icon.png"><a href="../spotify/spotify.html" data-localise="__MSG_spotify__">Spotify</a></div> <div class="title"> <img src="../../../assets/images/wikipedia-icon.svg"><a href="../wikipedia/wikipedia.html" data-localise="__MSG_wikipedia__">Wikipedia</a></div> diff --git a/src/pages/options/medium/medium.js b/src/pages/options/medium/medium.js index d79c1de5..4fb04092 100644 --- a/src/pages/options/medium/medium.js +++ b/src/pages/options/medium/medium.js @@ -2,18 +2,32 @@ import mediumHelper from "../../../assets/javascripts/helpers/medium.js"; import commonHelper from "../../../assets/javascripts/helpers/common.js"; let disableMediumElement = document.getElementById("disable-medium"); -disableMediumElement.addEventListener("change", - (event) => mediumHelper.setDisable(!event.target.checked) -); - let protocolElement = document.getElementById("protocol") -protocolElement.addEventListener("change", - (event) => { - let protocol = event.target.options[protocolElement.selectedIndex].value - mediumHelper.setProtocol(protocol); + +browser.storage.local.get( + [ + "disableMedium", + "mediumProtocol" + ], + r => { + disableMediumElement.checked = !r.disableMedium; + + let protocol = r.mediumProtocol; + protocolElement.value = protocol; changeProtocolSettings(protocol); + + commonHelper.processDefaultCustomInstances('scribe', 'normal', mediumHelper, document) + commonHelper.processDefaultCustomInstances('scribe', 'tor', mediumHelper, document) } -); +) + +document.addEventListener("change", async () => { + await browser.storage.local.set({ + disableMedium: !disableMediumElement.checked, + mediumProtocol: protocolElement.value, + }) + changeProtocolSettings(protocolElement.value); +}) function changeProtocolSettings(protocol) { let normalDiv = document.getElementsByClassName("normal")[0]; @@ -28,41 +42,6 @@ function changeProtocolSettings(protocol) { } } - -mediumHelper.init().then(() => { - disableMediumElement.checked = !mediumHelper.getDisable(); - - let protocol = mediumHelper.getProtocol(); - protocolElement.value = protocol; - changeProtocolSettings(protocol); - - - browser.storage.local.get("scribeLatency").then(r => { - commonHelper.processDefaultCustomInstances( - 'scribe', - 'normal', - mediumHelper, - document, - mediumHelper.getScribeNormalRedirectsChecks, - mediumHelper.setScribeNormalRedirectsChecks, - mediumHelper.getScribeNormalCustomRedirects, - mediumHelper.setScribeNormalCustomRedirects, - r.scribeLatency, - ) - }) - - commonHelper.processDefaultCustomInstances( - 'scribe', - 'tor', - mediumHelper, - document, - mediumHelper.getScribeTorRedirectsChecks, - mediumHelper.setScribeTorRedirectsChecks, - mediumHelper.getScribeTorCustomRedirects, - mediumHelper.setScribeTorCustomRedirects - ) -}) - let latencyElement = document.getElementById("latency"); let latencyLabel = document.getElementById("latency-label"); latencyElement.addEventListener("click", @@ -76,17 +55,7 @@ latencyElement.addEventListener("click", commonHelper.testLatency(latencyLabel, redirects.scribe.normal).then(r => { browser.storage.local.set({ scribeLatency: r }); latencyLabel.innerHTML = oldHtml; - commonHelper.processDefaultCustomInstances( - 'scribe', - 'normal', - mediumHelper, - document, - mediumHelper.getScribeNormalRedirectsChecks, - mediumHelper.setScribeNormalRedirectsChecks, - mediumHelper.getScribeNormalCustomRedirects, - mediumHelper.setScribeNormalCustomRedirects, - r, - ); + commonHelper.processDefaultCustomInstances('scribe', 'normal', mediumHelper, document); latencyElement.removeEventListener("click", reloadWindow); }); } diff --git a/src/pages/options/peertube/peertube.html b/src/pages/options/peertube/peertube.html index dd034bed..1a4bfa66 100644 --- a/src/pages/options/peertube/peertube.html +++ b/src/pages/options/peertube/peertube.html @@ -23,7 +23,6 @@ <div class="title"> <img src="../../../assets/images/tiktok-icon.png"><a href="../tiktok/tiktok.html" data-localise="__MSG_tiktok__">TikTok</a></div> <div class="title"> <img src="../../../assets/images/reddit-icon.png"><a href="../reddit/reddit.html" data-localise="__MSG_reddit__">Reddit</a></div> <div class="title"> <img src="../../../assets/images/imgur-icon.png"><a href="../imgur/imgur.html" data-localise="__MSG_imgur__">Imgur</a></div> - <div class="title"> <img src="../../../assets/images/pixiv-icon.svg"><a href="../pixiv/pixiv.html" data-localise="__MSG_pixiv__">Pixiv</a></div> <div class="title"> <img src="../../../assets/images/librespeed-icon.svg"><a href="../speedtest/speedtest.html" data-localise="__MSG_speedtest__">Speedtest</a></div> <div class="title"> <img src="../../../assets/images/spotify-icon.png"><a href="../spotify/spotify.html" data-localise="__MSG_spotify__">Spotify</a></div> <div class="title"> <img src="../../../assets/images/wikipedia-icon.svg"><a href="../wikipedia/wikipedia.html" data-localise="__MSG_wikipedia__">Wikipedia</a></div> diff --git a/src/pages/options/peertube/peertube.js b/src/pages/options/peertube/peertube.js index 0b7a09e6..419523d0 100644 --- a/src/pages/options/peertube/peertube.js +++ b/src/pages/options/peertube/peertube.js @@ -2,18 +2,31 @@ import peertubeHelper from "../../../assets/javascripts/helpers/peertube.js"; import commonHelper from "../../../assets/javascripts/helpers/common.js"; let disablePeertubeElement = document.getElementById("disable-peertube"); -disablePeertubeElement.addEventListener("change", - (event) => peertubeHelper.setDisable(!event.target.checked) -); - let protocolElement = document.getElementById("protocol") -protocolElement.addEventListener("change", - (event) => { - let protocol = event.target.options[protocolElement.selectedIndex].value - peertubeHelper.setProtocol(protocol); +browser.storage.local.get( + [ + "disablePeertubeTargets", + "peertubeTargetsProtocol" + ], + r => { + disablePeertubeElement.checked = !r.disablePeertubeTargets; + + let protocol = peertubeTargetsProtocol; + protocolElement.value = protocol; changeProtocolSettings(protocol); + + commonHelper.processDefaultCustomInstances('simpleertube', 'normal', peertubeHelper, document); + commonHelper.processDefaultCustomInstances('simpleertube', 'tor', peertubeHelper, document) } -); +) + +document.addEventListener("change", async () => { + await browser.storage.local.set({ + disablePeertubeTargets: !disablePeertubeElement.checked, + peertubeTargetsProtocol: protocolElement.value + }) + changeProtocolSettings(protocolElement.value); +}) function changeProtocolSettings(protocol) { let normalDiv = document.getElementsByClassName("normal")[0]; @@ -28,39 +41,6 @@ function changeProtocolSettings(protocol) { } } -peertubeHelper.init().then(() => { - disablePeertubeElement.checked = !peertubeHelper.getDisable(); - - let protocol = peertubeHelper.getProtocol(); - protocolElement.value = protocol; - changeProtocolSettings(protocol); - - browser.storage.local.get("simpleertubeLatency").then(r => { - commonHelper.processDefaultCustomInstances( - 'simpleertube', - 'normal', - peertubeHelper, - document, - peertubeHelper.getSimpleertubeNormalRedirectsChecks, - peertubeHelper.setSimpleertubeNormalRedirectsChecks, - peertubeHelper.getSimpleertubeNormalCustomRedirects, - peertubeHelper.setSimpleertubeNormalCustomRedirects - ); - }) - - commonHelper.processDefaultCustomInstances( - 'simpleertube', - 'tor', - peertubeHelper, - document, - peertubeHelper.getSimpleertubeTorRedirectsChecks, - peertubeHelper.setSimpleertubeTorRedirectsChecks, - peertubeHelper.getSimpleertubeTorCustomRedirects, - peertubeHelper.setSimpleertubeTorCustomRedirects - ) -}) - - let latencyElement = document.getElementById("latency"); let latencyLabel = document.getElementById("latency-label"); latencyElement.addEventListener("click", diff --git a/src/pages/options/pixiv/pixiv.html b/src/pages/options/pixiv/pixiv.html deleted file mode 100644 index 7adbcf2c..00000000 --- a/src/pages/options/pixiv/pixiv.html +++ /dev/null @@ -1,135 +0,0 @@ -<!DOCTYPE html> -<html lang="en"> - <head> - <meta charset="utf-8"> - <meta name="viewport" content="width=device-width, initial-scale=1"> - <link rel="icon" type="image/x-icon" href="../../../assets/images/libredirect.svg"> - <link href="../../stylesheets/styles.css" rel="stylesheet"> - <title>General</title> - </head> -</html> -<script type="module" src="../../../assets/javascripts/localise.js"></script> -<body class="option" dir="auto"> - <section class="links"> - <div class="title"> - <svg xmlns="http://www.w3.org/2000/svg" enable-background="new 0 0 24 24" height="26px" viewBox="0 0 24 24" width="26px" fill="currentColor"> - <path d="M19.14,12.94c0.04-0.3,0.06-0.61,0.06-0.94c0-0.32-0.02-0.64-0.07-0.94l2.03-1.58c0.18-0.14,0.23-0.41,0.12-0.61 l-1.92-3.32c-0.12-0.22-0.37-0.29-0.59-0.22l-2.39,0.96c-0.5-0.38-1.03-0.7-1.62-0.94L14.4,2.81c-0.04-0.24-0.24-0.41-0.48-0.41 h-3.84c-0.24,0-0.43,0.17-0.47,0.41L9.25,5.35C8.66,5.59,8.12,5.92,7.63,6.29L5.24,5.33c-0.22-0.08-0.47,0-0.59,0.22L2.74,8.87 C2.62,9.08,2.66,9.34,2.86,9.48l2.03,1.58C4.84,11.36,4.8,11.69,4.8,12s0.02,0.64,0.07,0.94l-2.03,1.58 c-0.18,0.14-0.23,0.41-0.12,0.61l1.92,3.32c0.12,0.22,0.37,0.29,0.59,0.22l2.39-0.96c0.5,0.38,1.03,0.7,1.62,0.94l0.36,2.54 c0.05,0.24,0.24,0.41,0.48,0.41h3.84c0.24,0,0.44-0.17,0.47-0.41l0.36-2.54c0.59-0.24,1.13-0.56,1.62-0.94l2.39,0.96 c0.22,0.08,0.47,0,0.59-0.22l1.92-3.32c0.12-0.22,0.07-0.47-0.12-0.61L19.14,12.94z M12,15.6c-1.98,0-3.6-1.62-3.6-3.6 s1.62-3.6,3.6-3.6s3.6,1.62,3.6,3.6S13.98,15.6,12,15.6z"></path> - </svg><a href="../general/general.html" data-localise="__MSG_general__">General</a> - </div> - <div class="title"> <img src="../../../assets/images/youtube-icon.png"><a href="../youtube/youtube.html" data-localise="__MSG_youtube__">YouTube </a></div> - <div class="title"> <img src="../../../assets/images/youtube-music-icon.png"><a href="../youtubeMusic/youtubeMusic.html" data-localise="__MSG_ytmusic__">YT Music</a></div> - <div class="title"> <img src="../../../assets/images/twitter-icon.png"><a href="../twitter/twitter.html" data-localise="__MSG_twitter__">Twitter</a></div> - <div class="title"> <img src="../../../assets/images/instagram-icon.png"><a href="../instagram/instagram.html" data-localise="__MSG_instagram__">Instagram</a></div> - <div class="title"> <img src="../../../assets/images/tiktok-icon.png"><a href="../tiktok/tiktok.html" data-localise="__MSG_tiktok__">TikTok</a></div> - <div class="title"> <img src="../../../assets/images/reddit-icon.png"><a href="../reddit/reddit.html" data-localise="__MSG_reddit__">Reddit</a></div> - <div class="title"> <img src="../../../assets/images/imgur-icon.png"><a href="../imgur/imgur.html" data-localise="__MSG_imgur__">Imgur</a></div> - <div class="title"> <img src="../../../assets/images/pixiv-icon.svg"><a class="selected" href="../pixiv/pixiv.html" data-localise="__MSG_pixiv__">Pixiv</a></div> - <div class="title"> <img src="../../../assets/images/librespeed-icon.svg"><a href="../speedtest/speedtest.html" data-localise="__MSG_speedtest__">Speedtest</a></div> - <div class="title"> <img src="../../../assets/images/spotify-icon.png"><a href="../spotify/spotify.html" data-localise="__MSG_spotify__">Spotify</a></div> - <div class="title"> <img src="../../../assets/images/wikipedia-icon.svg"><a href="../wikipedia/wikipedia.html" data-localise="__MSG_wikipedia__">Wikipedia</a></div> - <div class="title"> - <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1770 1000" fill="currentColor"> - <circle cx="500" cy="500" r="500"></circle> - <ellipse ry="475" rx="250" cy="501" cx="1296"></ellipse> - <ellipse cx="1682" cy="502" rx="88" ry="424"></ellipse> - </svg><a href="../medium/medium.html" data-localise="__MSG_medium__">Medium</a> - </div> - <div class="title"> <img src="../../../assets/images/peertube-icon.svg"><a href="../peertube/peertube.html" data-localise="__MSG_peertube__">Peertube</a></div> - <div class="title"> <img src="../../../assets/images/lbry-icon.png"><a href="../lbry/lbry.html" data-localise="__MSG_lbry__">LBRY/Odysee</a></div> - <div class="title"> - <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"> - <path d="M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"></path> - </svg><a href="../search/search.html" data-localise="__MSG_search__">Search</a> - </div> - <div class="title"> - <svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor"> - <path d="M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z"></path> - </svg><a href="../translate/translate.html" data-localise="__MSG_translate__">Translate</a> - </div> - <div class="title"> - <svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor"> - <path d="M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5z"></path> - </svg><a href="../maps/maps.html" data-localise="__MSG_maps__">Maps</a> - </div> - <div class="title"> - <svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor"> - <path d="M19.35 10.04C18.67 6.59 15.64 4 12 4 9.11 4 6.6 5.64 5.35 8.04 2.34 8.36 0 10.91 0 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96zM14 13v4h-4v-4H7l5-5 5 5h-3z"></path> - </svg><a href="../sendTargets/sendTargets.html" data-localise="__MSG_sendFiles__">Send Files</a> - </div> - </section> - <section class="option-block"> - <div class="some-block option-block"> - <h4 data-localise="__MSG_enable__">Enable</h4> - <input id="disable-pixiv" type="checkbox"> - </div> - <div class="some-block option-block"> - <h4> - <x data-localise="__MSG_frontend__">Frontend</x>:<span style="color:red;" data-localise="__MSG_notFullyPrivate__">This isn't a fully private frontend</span> - </h4> - <select id="maps-frontend"> - <option value="pixivMoe" data-localise="__MSG_pixivMoe__">pixiv萌え</option> - </select> - </div> - <div class="some-block option-block"> - <h4 data-localise="__MSG_protocol__">Protocol</h4> - <select id="protocol"> - <option value="normal" data-localise="__MSG_normal__">Normal</option> - <option value="tor" data-localise="__MSG_tor__">Tor </option> - </select> - </div> - <div id="pixivMoe"> - <hr> - <div class="normal"> - <div class="some-block option-block"> - <h4 data-localise="__MSG_defaultInstances__">Default Instances</h4> - </div> - <div class="checklist"></div> - <hr> - <div class="some-block option-block"> - <h4 data-localise="__MSG_customInstances__">Custom Instances</h4> - </div> - <form class="custom-instance-form"> - <div class="some-block option-block"> - <input class="custom-instance" placeholder="https://pixivMoe.com" type="url"> - <button class="add add-instance" type="submit"> - <svg xmlns="https://www.w3.org/2000/svg" height="20px" viewBox="0 0 24 24" width="20px" fill="currentColor"> - <path d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"></path> - </svg> - </button> - </div> - </form> - <div class="checklist custom-checklist"></div> - <label class="button button-inline" id="latency-label" for="latency"> - <svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor"> - <path d="M19 19H5V5h7V3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2v-7h-2v7zM14 3v2h3.59l-9.83 9.83 1.41 1.41L19 6.41V10h2V3h-7z"></path> - </svg> - <x data-localise="__MSG_testInstancesLatency__">Test Instances Latency</x> - </label> - <input class="button button-inline" id="latency" style="display:none;"> - </div> - <div class="tor"> - <div class="some-block option-block"> - <h4 data-localise="__MSG_defaultInstances__">Default Instances</h4> - </div> - <div class="checklist"></div> - <hr> - <div class="some-block option-block"> - <h4 data-localise="__MSG_customInstances__">Custom Instances</h4> - </div> - <form class="custom-instance-form"> - <div class="some-block option-block"> - <input class="custom-instance" placeholder="https://pixivMoe.onion" type="url"> - <button class="add add-instance" type="submit"> - <svg xmlns="https://www.w3.org/2000/svg" height="20px" viewBox="0 0 24 24" width="20px" fill="currentColor"> - <path d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"></path> - </svg> - </button> - </div> - </form> - <div class="checklist custom-checklist"></div> - </div> - </div> - </section> - <script type="module" src="../init.js"></script> - <script type="module" src="./pixiv.js"></script> -</body> \ No newline at end of file diff --git a/src/pages/options/pixiv/pixiv.js b/src/pages/options/pixiv/pixiv.js deleted file mode 100644 index fe60734b..00000000 --- a/src/pages/options/pixiv/pixiv.js +++ /dev/null @@ -1,93 +0,0 @@ -import pixivHelper from "../../../assets/javascripts/helpers/pixiv.js"; -import commonHelper from "../../../assets/javascripts/helpers/common.js"; - -let disablePixivElement = document.getElementById("disable-pixiv"); -disablePixivElement.addEventListener("change", - (event) => pixivHelper.setDisable(!event.target.checked) -); - -let protocolElement = document.getElementById("protocol") -protocolElement.addEventListener("change", - (event) => { - let protocol = event.target.options[protocolElement.selectedIndex].value - pixivHelper.setProtocol(protocol); - changeProtocolSettings(protocol); - } -); - -function changeProtocolSettings(protocol) { - let normalDiv = document.getElementsByClassName("normal")[0]; - let torDiv = document.getElementsByClassName("tor")[0]; - if (protocol == 'normal') { - normalDiv.style.display = 'block'; - torDiv.style.display = 'none'; - } - else if (protocol == 'tor') { - normalDiv.style.display = 'none'; - torDiv.style.display = 'block'; - } -} - -pixivHelper.init().then(() => { - disablePixivElement.checked = !pixivHelper.getDisable(); - - let protocol = pixivHelper.getProtocol(); - protocolElement.value = protocol; - changeProtocolSettings(protocol); - - - browser.storage.local.get("pixivMoeLatency").then(r => { - commonHelper.processDefaultCustomInstances( - 'pixivMoe', - 'normal', - pixivHelper, - document, - pixivHelper.getPixivMoeNormalRedirectsChecks, - pixivHelper.setPixivMoeNormalRedirectsChecks, - pixivHelper.getPixivMoeNormalCustomRedirects, - pixivHelper.setPixivMoeNormalCustomRedirects - ); - }) - - commonHelper.processDefaultCustomInstances( - 'pixivMoe', - 'tor', - pixivHelper, - document, - pixivHelper.getPixivMoeTorRedirectsChecks, - pixivHelper.setPixivMoeTorRedirectsChecks, - pixivHelper.getPixivMoeTorCustomRedirects, - pixivHelper.setPixivMoeTorCustomRedirects - ) -}) - - -let latencyElement = document.getElementById("latency"); -let latencyLabel = document.getElementById("latency-label"); -latencyElement.addEventListener("click", - async () => { - let reloadWindow = () => location.reload(); - latencyElement.addEventListener("click", reloadWindow); - await pixivHelper.init(); - let redirects = pixivHelper.getRedirects(); - const oldHtml = latencyLabel.innerHTML; - latencyLabel.innerHTML = '...'; - commonHelper.testLatency(latencyLabel, redirects.pixivMoe.normal).then(r => { - browser.storage.local.set({ pixivMoeLatency: r }); - latencyLabel.innerHTML = oldHtml; - commonHelper.processDefaultCustomInstances( - 'pixivMoe', - 'normal', - pixivHelper, - document, - pixivHelper.getPixivMoeNormalRedirectsChecks, - pixivHelper.setPixivMoeNormalRedirectsChecks, - pixivHelper.getPixivMoeNormalCustomRedirects, - pixivHelper.setPixivMoeNormalCustomRedirects, - r, - ); - latencyElement.removeEventListener("click", reloadWindow); - }); - - } -); \ No newline at end of file diff --git a/src/pages/options/reddit/reddit.html b/src/pages/options/reddit/reddit.html index 47c0b3b2..9ccc130d 100644 --- a/src/pages/options/reddit/reddit.html +++ b/src/pages/options/reddit/reddit.html @@ -23,7 +23,6 @@ <div class="title"> <img src="../../../assets/images/tiktok-icon.png"><a href="../tiktok/tiktok.html" data-localise="__MSG_tiktok__">TikTok</a></div> <div class="title"> <img src="../../../assets/images/reddit-icon.png"><a class="selected" href="../reddit/reddit.html" data-localise="__MSG_reddit__">Reddit</a></div> <div class="title"> <img src="../../../assets/images/imgur-icon.png"><a href="../imgur/imgur.html" data-localise="__MSG_imgur__">Imgur</a></div> - <div class="title"> <img src="../../../assets/images/pixiv-icon.svg"><a href="../pixiv/pixiv.html" data-localise="__MSG_pixiv__">Pixiv</a></div> <div class="title"> <img src="../../../assets/images/librespeed-icon.svg"><a href="../speedtest/speedtest.html" data-localise="__MSG_speedtest__">Speedtest</a></div> <div class="title"> <img src="../../../assets/images/spotify-icon.png"><a href="../spotify/spotify.html" data-localise="__MSG_spotify__">Spotify</a></div> <div class="title"> <img src="../../../assets/images/wikipedia-icon.svg"><a href="../wikipedia/wikipedia.html" data-localise="__MSG_wikipedia__">Wikipedia</a></div> @@ -67,7 +66,6 @@ <select id="reddit-frontend"> <option value="libreddit">Libreddit</option> <option value="teddit">Teddit</option> - <option value="old">old.reddit.com</option> </select> </div> <div class="some-block option-block"> diff --git a/src/pages/options/reddit/reddit.js b/src/pages/options/reddit/reddit.js index 47bd1856..3f79eeaa 100644 --- a/src/pages/options/reddit/reddit.js +++ b/src/pages/options/reddit/reddit.js @@ -45,11 +45,6 @@ document.addEventListener("change", async () => { init(); }) -window.onblur = () => { - redditHelper.initLibredditCookies(); - redditHelper.initTedditCookies(); -} - function changeProtocolSettings(protocol) { let normalLibredditDiv = libredditDivElement.getElementsByClassName("normal")[0]; let torLibredditDiv = libredditDivElement.getElementsByClassName("tor")[0]; @@ -91,56 +86,54 @@ function changeFrontendsSettings(frontend) { tedditDivElement.style.display = 'none'; } } -function init() { - browser.storage.local.get( - [ - "disableReddit", - "bypassWatchOnReddit", - "redditProtocol", - "redditFrontend", - - "enableLibredditCustomSettings", - - "redditTheme", - "redditFrontPage", - "redditLayout", - "redditWide", - "redditPostSort", - "redditCommentSort", - "redditShowNsfw", - "redditAutoplayVideos", - "redditUseHls", - "redditHideHlsNotification", - ], - r => { - disableRedditElement.checked = !r.disableReddit - bypassWatchOnRedditElement.checked = r.bypassWatchOnReddit - protocolElement.value = r.redditProtocol - redditFrontendElement.value = r.redditFrontend - enableLibredditSettingsElement.checked = r.enableLibredditCustomSettings - changeFrontendsSettings(r.redditFrontend); - changeProtocolSettings(r.redditProtocol); - - theme.value = r.redditTheme; - front_page.value = r.redditFrontPage; - layout.value = r.redditLayout; - wide.checked = r.redditWide; - post_sort.value = r.redditPostSort; - comment_sort.value = r.redditCommentSort; - show_nsfw.checked = r.redditShowNsfw; - autoplay_videos.checked = r.redditAutoplayVideos; - use_hls.checked = r.redditUseHls; - hide_hls_notification.checked = r.redditHideHlsNotification; - } - ) - - commonHelper.processDefaultCustomInstances('libreddit', 'normal', redditHelper, document) - commonHelper.processDefaultCustomInstances('libreddit', 'tor', redditHelper, document) - - commonHelper.processDefaultCustomInstances('teddit', 'normal', redditHelper, document); - commonHelper.processDefaultCustomInstances('teddit', 'tor', redditHelper, document); -} -init(); + +browser.storage.local.get( + [ + "disableReddit", + "bypassWatchOnReddit", + "redditProtocol", + "redditFrontend", + + "enableLibredditCustomSettings", + + "redditTheme", + "redditFrontPage", + "redditLayout", + "redditWide", + "redditPostSort", + "redditCommentSort", + "redditShowNsfw", + "redditAutoplayVideos", + "redditUseHls", + "redditHideHlsNotification", + ], + r => { + disableRedditElement.checked = !r.disableReddit + bypassWatchOnRedditElement.checked = r.bypassWatchOnReddit + protocolElement.value = r.redditProtocol + redditFrontendElement.value = r.redditFrontend + enableLibredditSettingsElement.checked = r.enableLibredditCustomSettings + changeFrontendsSettings(r.redditFrontend); + changeProtocolSettings(r.redditProtocol); + + theme.value = r.redditTheme; + front_page.value = r.redditFrontPage; + layout.value = r.redditLayout; + wide.checked = r.redditWide; + post_sort.value = r.redditPostSort; + comment_sort.value = r.redditCommentSort; + show_nsfw.checked = r.redditShowNsfw; + autoplay_videos.checked = r.redditAutoplayVideos; + use_hls.checked = r.redditUseHls; + hide_hls_notification.checked = r.redditHideHlsNotification; + } +) + +commonHelper.processDefaultCustomInstances('libreddit', 'normal', redditHelper, document) +commonHelper.processDefaultCustomInstances('libreddit', 'tor', redditHelper, document) +commonHelper.processDefaultCustomInstances('teddit', 'normal', redditHelper, document); +commonHelper.processDefaultCustomInstances('teddit', 'tor', redditHelper, document); + let latencyLibredditElement = document.getElementById("latency-libreddit"); let latencyLibredditLabel = document.getElementById("latency-libreddit-label"); @@ -178,4 +171,9 @@ latencyTedditElement.addEventListener("click", latencyTedditElement.removeEventListener("click", reloadWindow); }); } -); \ No newline at end of file +); + +window.onblur = () => { + redditHelper.initLibredditCookies(); + redditHelper.initTedditCookies(); +} \ No newline at end of file diff --git a/src/pages/options/search/search.html b/src/pages/options/search/search.html index cc1bb006..3c0d9d89 100644 --- a/src/pages/options/search/search.html +++ b/src/pages/options/search/search.html @@ -23,7 +23,6 @@ <div class="title"> <img src="../../../assets/images/tiktok-icon.png"><a href="../tiktok/tiktok.html" data-localise="__MSG_tiktok__">TikTok</a></div> <div class="title"> <img src="../../../assets/images/reddit-icon.png"><a href="../reddit/reddit.html" data-localise="__MSG_reddit__">Reddit</a></div> <div class="title"> <img src="../../../assets/images/imgur-icon.png"><a href="../imgur/imgur.html" data-localise="__MSG_imgur__">Imgur</a></div> - <div class="title"> <img src="../../../assets/images/pixiv-icon.svg"><a href="../pixiv/pixiv.html" data-localise="__MSG_pixiv__">Pixiv</a></div> <div class="title"> <img src="../../../assets/images/librespeed-icon.svg"><a href="../speedtest/speedtest.html" data-localise="__MSG_speedtest__">Speedtest</a></div> <div class="title"> <img src="../../../assets/images/spotify-icon.png"><a href="../spotify/spotify.html" data-localise="__MSG_spotify__">Spotify</a></div> <div class="title"> <img src="../../../assets/images/wikipedia-icon.svg"><a href="../wikipedia/wikipedia.html" data-localise="__MSG_wikipedia__">Wikipedia</a></div> diff --git a/src/pages/options/search/search.js b/src/pages/options/search/search.js index 197b17f4..893c3e4f 100644 --- a/src/pages/options/search/search.js +++ b/src/pages/options/search/search.js @@ -1,66 +1,75 @@ import searchHelper from "../../../assets/javascripts/helpers/search.js"; import commonHelper from "../../../assets/javascripts/helpers/common.js"; +let searxDiv = document.getElementById("searx"); +let searxngDiv = document.getElementById("searxng") +let whoogleDiv = document.getElementById("whoogle"); + let disableSearchElement = document.getElementById("disable-search"); -disableSearchElement.addEventListener("change", event => searchHelper.setDisable(!event.target.checked)); +let searchFrontendElement = document.getElementById("search-frontend"); +let protocolElement = document.getElementById("protocol") +browser.storage.local.get( + [ + "disableSearch", + "searchFrontend", + "searchProtocol", + ], + r => { + disableSearchElement.checked = !disableSearch; -let searxDivElement = document.getElementById("searx"); -let searxngDivElement = document.getElementById("searxng") -let whoogleDivElement = document.getElementById("whoogle"); + searchFrontendElement.value = r.searchFronten; + changeFrontendsSettings(r.searchFronten); + protocolElement.value = r.searchProtocol; + changeProtocolSettings(r.searchProtocol); + } +); + +document.addEventListener("change", async () => { + await browser.storage.local.set({ + disableSearch: !disableSearchElement.checked, + searchFrontend: searchFrontendElement.value, + searchProtocol: protocolElement.value, + }); + changeFrontendsSettings(searchFrontendElement.value); + changeProtocolSettings(protocolElement.value); +}) function changeFrontendsSettings(frontend) { let SearxWhoogleElement = document.getElementById("searx-whoogle"); if (frontend == 'searx') { - searxDivElement.style.display = 'block'; - searxngDivElement.style.display = 'none'; - whoogleDivElement.style.display = 'none'; + searxDiv.style.display = 'block'; + searxngDiv.style.display = 'none'; + whoogleDiv.style.display = 'none'; SearxWhoogleElement.style.display = 'block'; } else if (frontend == 'searxng') { - searxDivElement.style.display = 'none'; - searxngDivElement.style.display = 'block'; - whoogleDivElement.style.display = 'none'; + searxDiv.style.display = 'none'; + searxngDiv.style.display = 'block'; + whoogleDiv.style.display = 'none'; SearxWhoogleElement.style.display = 'block'; } else if (frontend == 'whoogle') { - searxDivElement.style.display = 'none'; - searxngDivElement.style.display = 'none'; - whoogleDivElement.style.display = 'block'; + searxDiv.style.display = 'none'; + searxngDiv.style.display = 'none'; + whoogleDiv.style.display = 'block'; SearxWhoogleElement.style.display = 'block'; } } -let searchFrontendElement = document.getElementById("search-frontend"); -searchFrontendElement.addEventListener("change", - event => { - let frontend = event.target.options[searchFrontendElement.selectedIndex].value - searchHelper.setFrontend(frontend) - changeFrontendsSettings(frontend); - } -); - -let protocolElement = document.getElementById("protocol") -protocolElement.addEventListener("change", - event => { - let protocol = event.target.options[protocolElement.selectedIndex].value - searchHelper.setProtocol(protocol); - changeProtocolSettings(protocol); - } -); function changeProtocolSettings(protocol) { - let normalsearxDiv = searxDivElement.getElementsByClassName("normal")[0]; - let torsearxDiv = searxDivElement.getElementsByClassName("tor")[0]; - let i2psearxDiv = searxDivElement.getElementsByClassName("i2p")[0]; + let normalsearxDiv = searxDiv.getElementsByClassName("normal")[0]; + let torsearxDiv = searxDiv.getElementsByClassName("tor")[0]; + let i2psearxDiv = searxDiv.getElementsByClassName("i2p")[0]; - let normalsearxngDiv = searxngDivElement.getElementsByClassName("normal")[0]; - let torsearxngDiv = searxngDivElement.getElementsByClassName("tor")[0]; - let i2psearxngDiv = searxngDivElement.getElementsByClassName("i2p")[0]; + let normalsearxngDiv = searxngDiv.getElementsByClassName("normal")[0]; + let torsearxngDiv = searxngDiv.getElementsByClassName("tor")[0]; + let i2psearxngDiv = searxngDiv.getElementsByClassName("i2p")[0]; - let normalwhoogleDiv = whoogleDivElement.getElementsByClassName("normal")[0]; - let torwhoogleDiv = whoogleDivElement.getElementsByClassName("tor")[0]; - let i2pwhoogleDiv = whoogleDivElement.getElementsByClassName("i2p")[0]; + let normalwhoogleDiv = whoogleDiv.getElementsByClassName("normal")[0]; + let torwhoogleDiv = whoogleDiv.getElementsByClassName("tor")[0]; + let i2pwhoogleDiv = whoogleDiv.getElementsByClassName("i2p")[0]; if (protocol == 'normal') { normalsearxDiv.style.display = 'block'; @@ -97,125 +106,15 @@ function changeProtocolSettings(protocol) { } } -searchHelper.init().then(() => { - disableSearchElement.checked = !searchHelper.getDisable(); - let frontend = searchHelper.getFrontend(); - searchFrontendElement.value = frontend; - changeFrontendsSettings(frontend); - - let protocol = searchHelper.getProtocol(); - protocolElement.value = protocol; - changeProtocolSettings(protocol); - - browser.storage.local.get("searxLatency").then(r => { - commonHelper.processDefaultCustomInstances( - 'searx', - 'normal', - searchHelper, - document, - searchHelper.getSearxNormalRedirectsChecks, - searchHelper.setSearxNormalRedirectsChecks, - searchHelper.getSearxNormalCustomRedirects, - searchHelper.setSearxNormalCustomRedirects, - r.searxLatency - ); - }) - - commonHelper.processDefaultCustomInstances( - 'searx', - 'tor', - searchHelper, - document, - searchHelper.getSearxTorRedirectsChecks, - searchHelper.setSearxTorRedirectsChecks, - searchHelper.getSearxTorCustomRedirects, - searchHelper.setSearxTorCustomRedirects - ); - - commonHelper.processDefaultCustomInstances( - 'searx', - 'i2p', - searchHelper, - document, - searchHelper.getSearxI2pRedirectsChecks, - searchHelper.setSearxI2pRedirectsChecks, - searchHelper.getSearxI2pCustomRedirects, - searchHelper.setSearxI2pCustomRedirects - ); - - browser.storage.local.get("searxngLatency").then(r => { - commonHelper.processDefaultCustomInstances( - 'searxng', - 'normal', - searchHelper, - document, - searchHelper.getSearxngNormalRedirectsChecks, - searchHelper.setSearxngNormalRedirectsChecks, - searchHelper.getSearxngNormalCustomRedirects, - searchHelper.setSearxngNormalCustomRedirects, - r.searxngLatency, - ); - }) - - commonHelper.processDefaultCustomInstances( - 'searxng', - 'tor', - searchHelper, - document, - searchHelper.getSearxngTorRedirectsChecks, - searchHelper.setSearxngTorRedirectsChecks, - searchHelper.getSearxngTorCustomRedirects, - searchHelper.setSearxngTorCustomRedirects - ); - - commonHelper.processDefaultCustomInstances( - 'searxng', - 'i2p', - searchHelper, - document, - searchHelper.getSearxngI2pRedirectsChecks, - searchHelper.setSearxngI2pRedirectsChecks, - searchHelper.getSearxngI2pCustomRedirects, - searchHelper.setSearxngI2pCustomRedirects - ); - - browser.storage.local.get("whoogleLatency").then(r => { - commonHelper.processDefaultCustomInstances( - 'whoogle', - 'normal', - searchHelper, - document, - searchHelper.getWhoogleNormalRedirectsChecks, - searchHelper.setWhoogleNormalRedirectsChecks, - searchHelper.getWhoogleNormalCustomRedirects, - searchHelper.setWhoogleNormalCustomRedirects, - r.whoogleLatency, - ); - }) - - commonHelper.processDefaultCustomInstances( - 'whoogle', - 'tor', - searchHelper, - document, - searchHelper.getWhoogleTorRedirectsChecks, - searchHelper.setWhoogleTorRedirectsChecks, - searchHelper.getWhoogleTorCustomRedirects, - searchHelper.setWhoogleTorCustomRedirects - ); - - commonHelper.processDefaultCustomInstances( - 'whoogle', - 'i2p', - searchHelper, - document, - searchHelper.getWhoogleI2pRedirectsChecks, - searchHelper.setWhoogleI2pRedirectsChecks, - searchHelper.getWhoogleI2pCustomRedirects, - searchHelper.setWhoogleI2pCustomRedirects - ); -}); - +commonHelper.processDefaultCustomInstances('searx', 'normal', searchHelper, document); +commonHelper.processDefaultCustomInstances('searx', 'tor', searchHelper, document); +commonHelper.processDefaultCustomInstances('searx', 'i2p', searchHelper, document); +commonHelper.processDefaultCustomInstances('searxng', 'normal', searchHelper, document); +commonHelper.processDefaultCustomInstances('searxng', 'tor', searchHelper, document); +commonHelper.processDefaultCustomInstances('searxng', 'i2p', searchHelper, document); +commonHelper.processDefaultCustomInstances('whoogle', 'normal', searchHelper, document); +commonHelper.processDefaultCustomInstances('whoogle', 'tor', searchHelper, document); +commonHelper.processDefaultCustomInstances('whoogle', 'i2p', searchHelper, document); let latencySearxElement = document.getElementById("latency-searx"); let latencySearxLabel = document.getElementById("latency-searx-label"); @@ -230,17 +129,7 @@ latencySearxElement.addEventListener("click", commonHelper.testLatency(latencySearxLabel, redirects.searx.normal).then(r => { browser.storage.local.set({ searxLatency: r }); latencySearxLabel.innerHTML = oldHtml; - commonHelper.processDefaultCustomInstances( - 'searx', - 'normal', - searchHelper, - document, - searchHelper.getSearxNormalRedirectsChecks, - searchHelper.setSearxNormalRedirectsChecks, - searchHelper.getSearxNormalCustomRedirects, - searchHelper.setSearxNormalCustomRedirects, - r, - ); + commonHelper.processDefaultCustomInstances('searx', 'normal', searchHelper, document); latencySearxElement.removeEventListener("click", reloadWindow); }); } @@ -259,17 +148,7 @@ latencySearxngElement.addEventListener("click", commonHelper.testLatency(latencySearxngLabel, redirects.searxng.normal).then(r => { browser.storage.local.set({ searxngLatency: r }); latencySearxngLabel.innerHTML = oldHtml; - commonHelper.processDefaultCustomInstances( - 'searxng', - 'normal', - searchHelper, - document, - searchHelper.getSearxngNormalRedirectsChecks, - searchHelper.setSearxngNormalRedirectsChecks, - searchHelper.getSearxngNormalCustomRedirects, - searchHelper.setSearxngNormalCustomRedirects, - r, - ); + commonHelper.processDefaultCustomInstances('searxng', 'normal', searchHelper, document); latencySearxngElement.removeEventListener("click", reloadWindow); }); } @@ -288,18 +167,13 @@ latencyWhoogleElement.addEventListener("click", commonHelper.testLatency(latencyWhoogleLabel, redirects.whoogle.normal).then(r => { browser.storage.local.set({ whoogleLatency: r }); latencyWhoogleLabel.innerHTML = oldHtml; - commonHelper.processDefaultCustomInstances( - 'whoogle', - 'normal', - searchHelper, - document, - searchHelper.getWhoogleNormalRedirectsChecks, - searchHelper.setWhoogleNormalRedirectsChecks, - searchHelper.getWhoogleNormalCustomRedirects, - searchHelper.setWhoogleNormalCustomRedirects, - r, - ); + commonHelper.processDefaultCustomInstances('whoogle', 'normal', searchHelper, document); latencyWhoogleElement.removeEventListener("click", reloadWindow); }); } -); \ No newline at end of file +); + +window.onblur = () => { + searchHelper.initSearxCookies(); + searchHelper.initSearxngCookies(); +} \ No newline at end of file diff --git a/src/pages/options/sendTargets/sendTargets.html b/src/pages/options/sendTargets/sendTargets.html index c54c1582..b63c8233 100644 --- a/src/pages/options/sendTargets/sendTargets.html +++ b/src/pages/options/sendTargets/sendTargets.html @@ -23,7 +23,6 @@ <div class="title"> <img src="../../../assets/images/tiktok-icon.png"><a href="../tiktok/tiktok.html" data-localise="__MSG_tiktok__">TikTok</a></div> <div class="title"> <img src="../../../assets/images/reddit-icon.png"><a href="../reddit/reddit.html" data-localise="__MSG_reddit__">Reddit</a></div> <div class="title"> <img src="../../../assets/images/imgur-icon.png"><a href="../imgur/imgur.html" data-localise="__MSG_imgur__">Imgur</a></div> - <div class="title"> <img src="../../../assets/images/pixiv-icon.svg"><a href="../pixiv/pixiv.html" data-localise="__MSG_pixiv__">Pixiv</a></div> <div class="title"> <img src="../../../assets/images/librespeed-icon.svg"><a href="../speedtest/speedtest.html" data-localise="__MSG_speedtest__">Speedtest</a></div> <div class="title"> <img src="../../../assets/images/spotify-icon.png"><a href="../spotify/spotify.html" data-localise="__MSG_spotify__">Spotify</a></div> <div class="title"> <img src="../../../assets/images/wikipedia-icon.svg"><a href="../wikipedia/wikipedia.html" data-localise="__MSG_wikipedia__">Wikipedia</a></div> diff --git a/src/pages/options/sendTargets/sendTargets.js b/src/pages/options/sendTargets/sendTargets.js index ae6f9e77..dc40f83f 100644 --- a/src/pages/options/sendTargets/sendTargets.js +++ b/src/pages/options/sendTargets/sendTargets.js @@ -2,18 +2,28 @@ import sendTargetsHelper from "../../../assets/javascripts/helpers/sendTargets.j import commonHelper from "../../../assets/javascripts/helpers/common.js"; let disableSendTargetsElement = document.getElementById("disable-sendTargets"); -disableSendTargetsElement.addEventListener("change", - (event) => sendTargetsHelper.setDisable(!event.target.checked) -); - let protocolElement = document.getElementById("protocol") -protocolElement.addEventListener("change", - (event) => { - let protocol = event.target.options[protocolElement.selectedIndex].value - sendTargetsHelper.setProtocol(protocol); - changeProtocolSettings(protocol); + +browser.storage.local.get( + [ + "disableSendTarget", + "sendTargetsProtocol", + ], + r => { + disableSendTargetsElement.checked = !r.disableSendTarget; + + protocolElement.value = r.sendTargetsProtocol; + changeProtocolSettings(r.sendTargetsProtocol); } -); +) + +document.addEventListener("change", async () => { + await browser.storage.local.set({ + disableSendTarget: !disableSendTargetsElement.checked, + sendTargetsProtocol: protocolElement.value, + }) + changeProtocolSettings(protocolElement.value); +}) function changeProtocolSettings(protocol) { let normalDiv = document.getElementsByClassName("normal")[0]; @@ -28,38 +38,8 @@ function changeProtocolSettings(protocol) { } } -sendTargetsHelper.init().then(() => { - disableSendTargetsElement.checked = !sendTargetsHelper.getDisable(); - - let protocol = sendTargetsHelper.getProtocol(); - protocolElement.value = protocol; - changeProtocolSettings(protocol); - - browser.storage.local.get("sendLatency").then(r => { - commonHelper.processDefaultCustomInstances( - 'send', - 'normal', - sendTargetsHelper, - document, - sendTargetsHelper.getSendNormalRedirectsChecks, - sendTargetsHelper.setSendNormalRedirectsChecks, - sendTargetsHelper.getSendNormalCustomRedirects, - sendTargetsHelper.setSendNormalCustomRedirects, - r.sendLatency, - ); - }) - - commonHelper.processDefaultCustomInstances( - 'send', - 'tor', - sendTargetsHelper, - document, - sendTargetsHelper.getSendTorRedirectsChecks, - sendTargetsHelper.setSendTorRedirectsChecks, - sendTargetsHelper.getSendTorCustomRedirects, - sendTargetsHelper.setSendTorCustomRedirects - ) -}) +commonHelper.processDefaultCustomInstances('send', 'normal', sendTargetsHelper, document); +commonHelper.processDefaultCustomInstances('send', 'tor', sendTargetsHelper, document,) let latencyElement = document.getElementById("latency"); let latencyLabel = document.getElementById("latency-label"); @@ -74,17 +54,7 @@ latencyElement.addEventListener("click", commonHelper.testLatency(latencyLabel, redirects.send.normal).then(r => { browser.storage.local.set({ sendLatency: r }); latencyLabel.innerHTML = oldHtml; - commonHelper.processDefaultCustomInstances( - 'send', - 'normal', - sendTargetsHelper, - document, - sendTargetsHelper.getSendNormalRedirectsChecks, - sendTargetsHelper.setSendNormalRedirectsChecks, - sendTargetsHelper.getSendNormalCustomRedirects, - sendTargetsHelper.setSendNormalCustomRedirects, - r, - ) + commonHelper.processDefaultCustomInstances('send', 'normal', sendTargetsHelper, document) latencyElement.removeEventListener("click", reloadWindow) }); } diff --git a/src/pages/options/speedtest/speedtest.html b/src/pages/options/speedtest/speedtest.html index 5ac5cdaa..369d226a 100644 --- a/src/pages/options/speedtest/speedtest.html +++ b/src/pages/options/speedtest/speedtest.html @@ -23,7 +23,6 @@ <div class="title"> <img src="../../../assets/images/tiktok-icon.png"><a href="../tiktok/tiktok.html" data-localise="__MSG_tiktok__">TikTok</a></div> <div class="title"> <img src="../../../assets/images/reddit-icon.png"><a href="../reddit/reddit.html" data-localise="__MSG_reddit__">Reddit</a></div> <div class="title"> <img src="../../../assets/images/imgur-icon.png"><a href="../imgur/imgur.html" data-localise="__MSG_imgur__">Imgur</a></div> - <div class="title"> <img src="../../../assets/images/pixiv-icon.svg"><a href="../pixiv/pixiv.html" data-localise="__MSG_pixiv__">Pixiv</a></div> <div class="title"> <img src="../../../assets/images/librespeed-icon.svg"><a class="selected" href="../speedtest/speedtest.html" data-localise="__MSG_speedtest__">Speedtest</a></div> <div class="title"> <img src="../../../assets/images/spotify-icon.png"><a href="../spotify/spotify.html" data-localise="__MSG_spotify__">Spotify</a></div> <div class="title"> <img src="../../../assets/images/wikipedia-icon.svg"><a href="../wikipedia/wikipedia.html" data-localise="__MSG_wikipedia__">Wikipedia</a></div> diff --git a/src/pages/options/speedtest/speedtest.js b/src/pages/options/speedtest/speedtest.js index 077d6440..95fa9fea 100644 --- a/src/pages/options/speedtest/speedtest.js +++ b/src/pages/options/speedtest/speedtest.js @@ -2,18 +2,28 @@ import speedtestHelper from "../../../assets/javascripts/helpers/speedtest.js"; import commonHelper from "../../../assets/javascripts/helpers/common.js"; let disableSpeedtestElement = document.getElementById("disable-speedtest"); -disableSpeedtestElement.addEventListener("change", - (event) => speedtestHelper.setDisable(!event.target.checked) -); - let protocolElement = document.getElementById("protocol") -protocolElement.addEventListener("change", - (event) => { - let protocol = event.target.options[protocolElement.selectedIndex].value - speedtestHelper.setProtocol(protocol); - changeProtocolSettings(protocol); + +browser.storage.local.get( + [ + "disableSpeedtest", + "speedtestProtocol", + ], + r => { + disableSpeedtestElement.checked = !r.disableSpeedtest; + + protocolElement.value = r.speedtestProtocol; + changeProtocolSettings(r.speedtestProtocol); } -); +) + +document.addEventListener("change", async () => { + await browser.storage.local.set({ + disableSpeedtest: !disableSpeedtestElement.checked, + speedtestProtocol: protocolElement.value, + }) + changeProtocolSettings(protocolElement.value); +}) function changeProtocolSettings(protocol) { let normalDiv = document.getElementsByClassName("normal")[0]; @@ -28,38 +38,8 @@ function changeProtocolSettings(protocol) { } } -speedtestHelper.init().then(() => { - disableSpeedtestElement.checked = !speedtestHelper.getDisable(); - - let protocol = speedtestHelper.getProtocol(); - protocolElement.value = protocol; - changeProtocolSettings(protocol); - - browser.storage.local.get("librespeedLatency").then(r => { - commonHelper.processDefaultCustomInstances( - 'librespeed', - 'normal', - speedtestHelper, - document, - speedtestHelper.getLibrespeedNormalRedirectsChecks, - speedtestHelper.setLibrespeedNormalRedirectsChecks, - speedtestHelper.getLibrespeedNormalCustomRedirects, - speedtestHelper.setLibrespeedNormalCustomRedirects, - r.librespeedLatency, - ); - }) - - commonHelper.processDefaultCustomInstances( - 'librespeed', - 'tor', - speedtestHelper, - document, - speedtestHelper.getLibrespeedTorRedirectsChecks, - speedtestHelper.setLibrespeedTorRedirectsChecks, - speedtestHelper.getLibrespeedTorCustomRedirects, - speedtestHelper.setLibrespeedTorCustomRedirects - ) -}) +commonHelper.processDefaultCustomInstances('librespeed', 'normal', speedtestHelper, document); +commonHelper.processDefaultCustomInstances('librespeed', 'tor', speedtestHelper, document); let latencyElement = document.getElementById("latency"); let latencyLabel = document.getElementById("latency-label"); @@ -74,17 +54,7 @@ latencyElement.addEventListener("click", commonHelper.testLatency(latencyLabel, redirects.librespeed.normal).then(r => { browser.storage.local.set({ librespeedLatency: r }); latencyLabel.innerHTML = oldHtml; - commonHelper.processDefaultCustomInstances( - 'librespeed', - 'normal', - speedtestHelper, - document, - speedtestHelper.getLibrespeedNormalRedirectsChecks, - speedtestHelper.setLibrespeedNormalRedirectsChecks, - speedtestHelper.getLibrespeedNormalCustomRedirects, - speedtestHelper.setLibrespeedNormalCustomRedirects, - r, - ) + commonHelper.processDefaultCustomInstances('librespeed', 'normal', speedtestHelper, document) latencyElement.removeEventListener("click", reloadWindow) }); } diff --git a/src/pages/options/spotify/spotify.html b/src/pages/options/spotify/spotify.html index 0496875a..03a1ca9e 100644 --- a/src/pages/options/spotify/spotify.html +++ b/src/pages/options/spotify/spotify.html @@ -23,7 +23,6 @@ <div class="title"> <img src="../../../assets/images/tiktok-icon.png"><a href="../tiktok/tiktok.html" data-localise="__MSG_tiktok__">TikTok</a></div> <div class="title"> <img src="../../../assets/images/reddit-icon.png"><a href="../reddit/reddit.html" data-localise="__MSG_reddit__">Reddit</a></div> <div class="title"> <img src="../../../assets/images/imgur-icon.png"><a href="../imgur/imgur.html" data-localise="__MSG_imgur__">Imgur</a></div> - <div class="title"> <img src="../../../assets/images/pixiv-icon.svg"><a href="../pixiv/pixiv.html" data-localise="__MSG_pixiv__">Pixiv</a></div> <div class="title"> <img src="../../../assets/images/librespeed-icon.svg"><a href="../speedtest/speedtest.html" data-localise="__MSG_speedtest__">Speedtest</a></div> <div class="title"> <img src="../../../assets/images/spotify-icon.png"><a class="selected" href="../spotify/spotify.html" data-localise="__MSG_spotify__">Spotify</a></div> <div class="title"> <img src="../../../assets/images/wikipedia-icon.svg"><a href="../wikipedia/wikipedia.html" data-localise="__MSG_wikipedia__">Wikipedia</a></div> @@ -62,13 +61,6 @@ <h4 data-localise="__MSG_enable__">Enable</h4> <input id="disable-spotify" type="checkbox"> </div> - <div class="some-block option-block"> - <h4 data-localise="__MSG_protocol__">Protocol</h4> - <select id="protocol"> - <option value="normal" data-localise="__MSG_normal__">Normal</option> - <option value="tor" data-localise="__MSG_tor__">Tor</option> - </select> - </div> <div id="soju"> <hr> <div class="normal"> @@ -99,27 +91,6 @@ </label> <input class="button button-inline" id="latency" style="display:none;"> </div> - <div class="tor"> - <div class="some-block option-block"> - <h4 data-localise="__MSG_defaultInstances__">Default Instances</h4> - </div> - <div class="checklist"></div> - <hr> - <div class="some-block option-block"> - <h4 data-localise="__MSG_customInstances__">Custom Instances</h4> - </div> - <form class="custom-instance-form"> - <div class="some-block option-block"> - <input class="custom-instance" placeholder="https://soju.onion" type="url"> - <button class="add add-instance" type="submit"> - <svg xmlns="https://www.w3.org/2000/svg" height="20px" viewBox="0 0 24 24" width="20px" fill="currentColor"> - <path d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"></path> - </svg> - </button> - </div> - </form> - <div class="checklist custom-checklist"></div> - </div> <script type="module" src="../init.js"></script> <script type="module" src="./spotify.js"></script> </div> diff --git a/src/pages/options/spotify/spotify.js b/src/pages/options/spotify/spotify.js index d158412d..33cc9e91 100644 --- a/src/pages/options/spotify/spotify.js +++ b/src/pages/options/spotify/spotify.js @@ -2,64 +2,17 @@ import spotifyHelper from "../../../assets/javascripts/helpers/spotify.js"; import commonHelper from "../../../assets/javascripts/helpers/common.js"; let disableSpotifyElement = document.getElementById("disable-spotify"); -disableSpotifyElement.addEventListener("change", - (event) => spotifyHelper.setDisable(!event.target.checked) -); -let protocolElement = document.getElementById("protocol") -protocolElement.addEventListener("change", - (event) => { - let protocol = event.target.options[protocolElement.selectedIndex].value - spotifyHelper.setProtocol(protocol); - changeProtocolSettings(protocol); +browser.storage.local.get( + [ + "disableSpotifyTargets", + ], + r => { + disableSpotifyElement.checked = !r.disableSpotifyTargets; } -); +) -function changeProtocolSettings(protocol) { - let normalDiv = document.getElementsByClassName("normal")[0]; - let torDiv = document.getElementsByClassName("tor")[0]; - if (protocol == 'normal') { - normalDiv.style.display = 'block'; - torDiv.style.display = 'none'; - } - else if (protocol == 'tor') { - normalDiv.style.display = 'none'; - torDiv.style.display = 'block'; - } -} - -spotifyHelper.init().then(() => { - disableSpotifyElement.checked = !spotifyHelper.getDisable(); - - let protocol = spotifyHelper.getProtocol(); - protocolElement.value = protocol; - changeProtocolSettings(protocol); - - browser.storage.local.get("sojuLatency").then(r => { - commonHelper.processDefaultCustomInstances( - 'soju', - 'normal', - spotifyHelper, - document, - spotifyHelper.getSojuNormalRedirectsChecks, - spotifyHelper.setSojuNormalRedirectsChecks, - spotifyHelper.getSojuNormalCustomRedirects, - spotifyHelper.setSojuNormalCustomRedirects, - r.sojuLatency, - ); - }) - - commonHelper.processDefaultCustomInstances( - 'soju', - 'tor', - spotifyHelper, - document, - spotifyHelper.getSojuTorRedirectsChecks, - spotifyHelper.setSojuTorRedirectsChecks, - spotifyHelper.getSojuTorCustomRedirects, - spotifyHelper.setSojuTorCustomRedirects - ) -}) +commonHelper.processDefaultCustomInstances('soju', 'normal', spotifyHelper, document); let latencyElement = document.getElementById("latency"); let latencyLabel = document.getElementById("latency-label"); @@ -74,17 +27,7 @@ latencyElement.addEventListener("click", commonHelper.testLatency(latencyLabel, redirects.soju.normal).then(r => { browser.storage.local.set({ sojuLatency: r }); latencyLabel.innerHTML = oldHtml; - commonHelper.processDefaultCustomInstances( - 'soju', - 'normal', - spotifyHelper, - document, - spotifyHelper.getSojuNormalRedirectsChecks, - spotifyHelper.setSojuNormalRedirectsChecks, - spotifyHelper.getSojuNormalCustomRedirects, - spotifyHelper.setSojuNormalCustomRedirects, - r, - ) + commonHelper.processDefaultCustomInstances('soju', 'normal', spotifyHelper, document) latencyElement.removeEventListener("click", reloadWindow) }); } diff --git a/src/pages/options/tiktok/tiktok.html b/src/pages/options/tiktok/tiktok.html index 9aff1e47..e422eef7 100644 --- a/src/pages/options/tiktok/tiktok.html +++ b/src/pages/options/tiktok/tiktok.html @@ -23,7 +23,6 @@ <div class="title"> <img src="../../../assets/images/tiktok-icon.png"><a class="selected" href="../tiktok/tiktok.html" data-localise="__MSG_tiktok__">TikTok</a></div> <div class="title"> <img src="../../../assets/images/reddit-icon.png"><a href="../reddit/reddit.html" data-localise="__MSG_reddit__">Reddit</a></div> <div class="title"> <img src="../../../assets/images/imgur-icon.png"><a href="../imgur/imgur.html" data-localise="__MSG_imgur__">Imgur</a></div> - <div class="title"> <img src="../../../assets/images/pixiv-icon.svg"><a href="../pixiv/pixiv.html" data-localise="__MSG_pixiv__">Pixiv</a></div> <div class="title"> <img src="../../../assets/images/librespeed-icon.svg"><a href="../speedtest/speedtest.html" data-localise="__MSG_speedtest__">Speedtest</a></div> <div class="title"> <img src="../../../assets/images/spotify-icon.png"><a href="../spotify/spotify.html" data-localise="__MSG_spotify__">Spotify</a></div> <div class="title"> <img src="../../../assets/images/wikipedia-icon.svg"><a href="../wikipedia/wikipedia.html" data-localise="__MSG_wikipedia__">Wikipedia</a></div> diff --git a/src/pages/options/tiktok/tiktok.js b/src/pages/options/tiktok/tiktok.js index 299664db..61841145 100644 --- a/src/pages/options/tiktok/tiktok.js +++ b/src/pages/options/tiktok/tiktok.js @@ -26,68 +26,44 @@ document.addEventListener("change", async () => { window.onblur = tiktokHelper.initProxiTokCookies; -function init() { - tiktokHelper.init().then(() => { - browser.storage.local.get( - [ - "disableTiktok", - "tiktokProtocol", - - "enableTiktokCustomSettings", - - "proxiTokTheme", - "proxiTokApiLegacy", - ], - r => { - disable.checked = !r.disableTiktok; - protocol.value = r.tiktokProtocol; - let normalDiv = document.getElementsByClassName("normal")[0]; - let torDiv = document.getElementsByClassName("tor")[0]; - if (r.tiktokProtocol == 'normal') { - normalDiv.style.display = 'block'; - torDiv.style.display = 'none'; - } - else if (r.tiktokProtocol == 'tor') { - normalDiv.style.display = 'none'; - torDiv.style.display = 'block'; - } - - enableCustomSettings.checked = r.enableTiktokCustomSettings; - if (r.enableTiktokCustomSettings) - customSettingsDiv.style.display = 'block'; - else - customSettingsDiv.style.display = 'none'; - - theme.value = r.proxiTokTheme; - api_legacy.value = r.proxiTokApiLegacy - } - ) - browser.storage.local.get("proxiTokLatency").then(r => { - commonHelper.processDefaultCustomInstances( - 'proxiTok', - 'normal', - tiktokHelper, - document, - tiktokHelper.getProxiTokNormalRedirectsChecks, - tiktokHelper.setProxiTokNormalRedirectsChecks, - tiktokHelper.getProxiTokNormalCustomRedirects, - tiktokHelper.setProxiTokNormalCustomRedirects, - r.proxiTokLatency, - ); - }) - commonHelper.processDefaultCustomInstances( - 'proxiTok', - 'tor', - tiktokHelper, - document, - tiktokHelper.getProxiTokTorRedirectsChecks, - tiktokHelper.setProxiTokTorRedirectsChecks, - tiktokHelper.getProxiTokTorCustomRedirects, - tiktokHelper.setProxiTokTorCustomRedirects - ) - }) -} -init(); +browser.storage.local.get( + [ + "disableTiktok", + "tiktokProtocol", + + "enableTiktokCustomSettings", + + "proxiTokTheme", + "proxiTokApiLegacy", + ], + r => { + disable.checked = !r.disableTiktok; + protocol.value = r.tiktokProtocol; + let normalDiv = document.getElementsByClassName("normal")[0]; + let torDiv = document.getElementsByClassName("tor")[0]; + if (r.tiktokProtocol == 'normal') { + normalDiv.style.display = 'block'; + torDiv.style.display = 'none'; + } + else if (r.tiktokProtocol == 'tor') { + normalDiv.style.display = 'none'; + torDiv.style.display = 'block'; + } + + enableCustomSettings.checked = r.enableTiktokCustomSettings; + if (r.enableTiktokCustomSettings) + customSettingsDiv.style.display = 'block'; + else + customSettingsDiv.style.display = 'none'; + + theme.value = r.proxiTokTheme; + api_legacy.value = r.proxiTokApiLegacy + } +) + +commonHelper.processDefaultCustomInstances('proxiTok', 'normal', tiktokHelper, document); +commonHelper.processDefaultCustomInstances('proxiTok', 'tor', tiktokHelper, document) + let latencyElement = document.getElementById("latency"); let latencyLabel = document.getElementById("latency-label"); @@ -102,17 +78,7 @@ latencyElement.addEventListener("click", commonHelper.testLatency(latencyLabel, redirects.proxiTok.normal).then(r => { browser.storage.local.set({ proxiTokLatency: r }); latencyLabel.innerHTML = oldHtml; - commonHelper.processDefaultCustomInstances( - 'proxiTok', - 'normal', - tiktokHelper, - document, - tiktokHelper.getProxiTokNormalRedirectsChecks, - tiktokHelper.setProxiTokNormalRedirectsChecks, - tiktokHelper.getProxiTokNormalCustomRedirects, - tiktokHelper.setProxiTokNormalCustomRedirects, - r, - ) + commonHelper.processDefaultCustomInstances('proxiTok', 'normal', tiktokHelper, document) latencyElement.removeEventListener("click", reloadWindow) }); } diff --git a/src/pages/options/translate/translate.html b/src/pages/options/translate/translate.html index 8f63ace9..f80854f1 100644 --- a/src/pages/options/translate/translate.html +++ b/src/pages/options/translate/translate.html @@ -23,7 +23,6 @@ <div class="title"> <img src="../../../assets/images/tiktok-icon.png"><a href="../tiktok/tiktok.html" data-localise="__MSG_tiktok__">TikTok</a></div> <div class="title"> <img src="../../../assets/images/reddit-icon.png"><a href="../reddit/reddit.html" data-localise="__MSG_reddit__">Reddit</a></div> <div class="title"> <img src="../../../assets/images/imgur-icon.png"><a href="../imgur/imgur.html" data-localise="__MSG_imgur__">Imgur</a></div> - <div class="title"> <img src="../../../assets/images/pixiv-icon.svg"><a href="../pixiv/pixiv.html" data-localise="__MSG_pixiv__">Pixiv</a></div> <div class="title"> <img src="../../../assets/images/librespeed-icon.svg"><a href="../speedtest/speedtest.html" data-localise="__MSG_speedtest__">Speedtest</a></div> <div class="title"> <img src="../../../assets/images/spotify-icon.png"><a href="../spotify/spotify.html" data-localise="__MSG_spotify__">Spotify</a></div> <div class="title"> <img src="../../../assets/images/wikipedia-icon.svg"><a href="../wikipedia/wikipedia.html" data-localise="__MSG_wikipedia__">Wikipedia</a></div> diff --git a/src/pages/options/twitter/twitter.html b/src/pages/options/twitter/twitter.html index d7b14abf..d553d72c 100644 --- a/src/pages/options/twitter/twitter.html +++ b/src/pages/options/twitter/twitter.html @@ -23,7 +23,6 @@ <div class="title"> <img src="../../../assets/images/tiktok-icon.png"><a href="../tiktok/tiktok.html" data-localise="__MSG_tiktok__">TikTok</a></div> <div class="title"> <img src="../../../assets/images/reddit-icon.png"><a href="../reddit/reddit.html" data-localise="__MSG_reddit__">Reddit</a></div> <div class="title"> <img src="../../../assets/images/imgur-icon.png"><a href="../imgur/imgur.html" data-localise="__MSG_imgur__">Imgur</a></div> - <div class="title"> <img src="../../../assets/images/pixiv-icon.svg"><a href="../pixiv/pixiv.html" data-localise="__MSG_pixiv__">Pixiv</a></div> <div class="title"> <img src="../../../assets/images/librespeed-icon.svg"><a href="../speedtest/speedtest.html" data-localise="__MSG_speedtest__">Speedtest</a></div> <div class="title"> <img src="../../../assets/images/spotify-icon.png"><a href="../spotify/spotify.html" data-localise="__MSG_spotify__">Spotify</a></div> <div class="title"> <img src="../../../assets/images/wikipedia-icon.svg"><a href="../wikipedia/wikipedia.html" data-localise="__MSG_wikipedia__">Wikipedia</a></div> diff --git a/src/pages/options/twitter/twitter.js b/src/pages/options/twitter/twitter.js index bd611497..b77f5ecc 100644 --- a/src/pages/options/twitter/twitter.js +++ b/src/pages/options/twitter/twitter.js @@ -21,8 +21,56 @@ let hlsPlayback = document.getElementById('nitter').getElementsByClassName('hlsP let proxyVideos = document.getElementById('nitter').getElementsByClassName('proxyVideos')[0]; let muteVideos = document.getElementById('nitter').getElementsByClassName('muteVideos')[0]; let autoplayGifs = document.getElementById('nitter').getElementsByClassName('autoplayGifs')[0]; - let nitterElement = document.getElementById("nitter"); + +browser.storage.local.get( + [ + "disableTwitter", + "twitterProtocol", + "enableTwitterCustomSettings", + "bypassWatchOnTwitter", + "nitterTheme", + "nitterInfiniteScroll", + "nitterStickyProfile", + "nitterBidiSupport", + "nitterHideTweetStats", + "nitterHideBanner", + "nitterHidePins", + "nitterHideReplies", + "nitterSquareAvatars", + "nitterMp4Playback", + "nitterHlsPlayback", + "nitterProxyVideos", + "nitterMuteVideos", + "nitterAutoplayGifs", + ], + r => { + disableTwitterElement.checked = !r.disableTwitter; + enableYoutubeCustomSettingsElement.checked = r.enableTwitterCustomSettings; + bypassWatchOnTwitterElement.checked = r.bypassWatchOnTwitter; + protocolElement.value = r.twitterProtocol; + changeProtocolSettings(r.twitterProtocol); + + // Display + theme.value = r.nitterTheme; + infiniteScroll.checked = r.nitterInfiniteScroll; + stickyProfile.checked = r.nitterStickyProfile; + bidiSupport.checked = r.nitterBidiSupport; + hideTweetStats.checked = r.nitterHideTweetStats; + hideBanner.checked = r.nitterHideBanner; + hidePins.checked = r.nitterHidePins; + hideReplies.checked = r.nitterHideReplies; + squareAvatars.checked = r.nitterSquareAvatars; + + // Media + mp4Playback.checked = r.nitterMp4Playback; + hlsPlayback.checked = r.nitterHlsPlayback; + proxyVideos.checked = r.nitterProxyVideos; + muteVideos.checked = r.nitterMuteVideos; + autoplayGifs.checked = r.nitterAutoplayGifs; + } +) + document.addEventListener("change", async () => { await browser.storage.local.set({ disableTwitter: !disableTwitterElement.checked, @@ -68,58 +116,8 @@ function changeProtocolSettings(protocol) { for (const item of customSettingsDivElement) item.style.display = 'none'; } -function init() { - twitterHelper.init().then(() => { - disableTwitterElement.checked = !twitterHelper.getDisable(); - enableYoutubeCustomSettingsElement.checked = twitterHelper.getEnableCustomSettings(); - bypassWatchOnTwitterElement.checked = twitterHelper.getBypassWatchOnTwitter(); - - let protocol = twitterHelper.getProtocol(); - protocolElement.value = protocol; - changeProtocolSettings(protocol); - theme.value = twitterHelper.getTheme(); - infiniteScroll.checked = twitterHelper.getInfiniteScroll(); - stickyProfile.checked = twitterHelper.getStickyProfile(); - bidiSupport.checked = twitterHelper.getBidiSupport(); - hideTweetStats.checked = twitterHelper.getHideTweetStats(); - hideBanner.checked = twitterHelper.getHideBanner(); - hidePins.checked = twitterHelper.getHidePins(); - hideReplies.checked = twitterHelper.getHideReplies(); - squareAvatars.checked = twitterHelper.getSquareAvatars(); - mp4Playback.checked = twitterHelper.getMp4Playback(); - hlsPlayback.checked = twitterHelper.getHlsPlayback(); - proxyVideos.checked = twitterHelper.getProxyVideos(); - muteVideos.checked = twitterHelper.getMuteVideos(); - autoplayGifs.checked = twitterHelper.getAutoplayGifs(); - - browser.storage.local.get("nitterLatency").then(r => { - commonHelper.processDefaultCustomInstances( - 'nitter', - 'normal', - twitterHelper, - document, - twitterHelper.getNitterNormalRedirectsChecks, - twitterHelper.setNitterNormalRedirectsChecks, - twitterHelper.getNitterNormalCustomRedirects, - twitterHelper.setNitterNormalCustomRedirects, - r.nitterLatency, - ); - }); - - commonHelper.processDefaultCustomInstances( - 'nitter', - 'tor', - twitterHelper, - document, - twitterHelper.getNitterTorRedirectsChecks, - twitterHelper.setNitterTorRedirectsChecks, - twitterHelper.getNitterTorCustomRedirects, - twitterHelper.setNitterTorCustomRedirects - ) - }); -} -init(); - +// commonHelper.processDefaultCustomInstances('nitter', 'normal', twitterHelper, document); +// commonHelper.processDefaultCustomInstances('nitter', 'tor', twitterHelper, document) window.onblur = twitterHelper.initNitterCookies; let latencyElement = document.getElementById("latency"); @@ -135,17 +133,7 @@ latencyElement.addEventListener("click", commonHelper.testLatency(latencyLabel, redirects.nitter.normal).then(r => { browser.storage.local.set({ nitterLatency: r }); latencyLabel.innerHTML = oldHtml; - commonHelper.processDefaultCustomInstances( - 'nitter', - 'normal', - twitterHelper, - document, - twitterHelper.getNitterNormalRedirectsChecks, - twitterHelper.setNitterNormalRedirectsChecks, - twitterHelper.getNitterNormalCustomRedirects, - twitterHelper.setNitterNormalCustomRedirects, - r, - ) + commonHelper.processDefaultCustomInstances('nitter', 'normal', twitterHelper, document) latencyElement.removeEventListener("click", reloadWindow) }); } diff --git a/src/pages/options/wikipedia/wikipedia.html b/src/pages/options/wikipedia/wikipedia.html index 246c269b..4d0f08cb 100644 --- a/src/pages/options/wikipedia/wikipedia.html +++ b/src/pages/options/wikipedia/wikipedia.html @@ -23,7 +23,6 @@ <div class="title"> <img src="../../../assets/images/tiktok-icon.png"><a href="../tiktok/tiktok.html" data-localise="__MSG_tiktok__">TikTok</a></div> <div class="title"> <img src="../../../assets/images/reddit-icon.png"><a href="../reddit/reddit.html" data-localise="__MSG_reddit__">Reddit</a></div> <div class="title"> <img src="../../../assets/images/imgur-icon.png"><a href="../imgur/imgur.html" data-localise="__MSG_imgur__">Imgur</a></div> - <div class="title"> <img src="../../../assets/images/pixiv-icon.svg"><a href="../pixiv/pixiv.html" data-localise="__MSG_pixiv__">Pixiv</a></div> <div class="title"> <img src="../../../assets/images/librespeed-icon.svg"><a href="../speedtest/speedtest.html" data-localise="__MSG_speedtest__">Speedtest</a></div> <div class="title"> <img src="../../../assets/images/spotify-icon.png"><a href="../spotify/spotify.html" data-localise="__MSG_spotify__">Spotify</a></div> <div class="title"> <img src="../../../assets/images/wikipedia-icon.svg"><a class="selected" href="../wikipedia/wikipedia.html" data-localise="__MSG_wikipedia__">Wikipedia</a></div> diff --git a/src/pages/options/wikipedia/wikipedia.js b/src/pages/options/wikipedia/wikipedia.js index 526068b4..0d9a1a6c 100644 --- a/src/pages/options/wikipedia/wikipedia.js +++ b/src/pages/options/wikipedia/wikipedia.js @@ -2,18 +2,27 @@ import wikipediaHelper from "../../../assets/javascripts/helpers/wikipedia.js"; import commonHelper from "../../../assets/javascripts/helpers/common.js"; let disableWikipediaElement = document.getElementById("disable-wikipedia"); -disableWikipediaElement.addEventListener("change", - event => wikipediaHelper.setDisable(!event.target.checked) -); - let protocolElement = document.getElementById("protocol"); -protocolElement.addEventListener("change", - event => { - let protocol = event.target.options[protocolElement.selectedIndex].value - wikipediaHelper.setProtocol(protocol); - changeProtocolSettings(protocol); + +browser.storage.local.get( + [ + "disableWikipedia", + "wikipediaProtocol", + ], + r => { + disableWikipediaElement.checked = !r.disableWikipedia; + protocolElement.value = r.wikipediaProtocol; + changeProtocolSettings(r.wikipediaProtocol); } -); +) + +document.addEventListener("change", async () => { + await browser.storage.local.set({ + disableWikipedia: !disableWikipediaElement.checked, + wikipediaProtocol: protocolElement.value, + }) + changeProtocolSettings(protocolElement.value) +}) function changeProtocolSettings(protocol) { let normalDiv = document.getElementsByClassName("normal")[0]; @@ -35,51 +44,11 @@ function changeProtocolSettings(protocol) { i2pDiv.style.display = 'block'; } } +commonHelper.processDefaultCustomInstances('wikiless', 'normal', wikipediaHelper, document); +commonHelper.processDefaultCustomInstances('wikiless', 'tor', wikipediaHelper, document) +commonHelper.processDefaultCustomInstances('wikiless', 'i2p', wikipediaHelper, document) -wikipediaHelper.init().then(() => { - disableWikipediaElement.checked = !wikipediaHelper.getDisable(); - - let protocol = wikipediaHelper.getProtocol(); - console.log('protocol', protocol); - protocolElement.value = protocol; - changeProtocolSettings(protocol); - - browser.storage.local.get("wikilessLatency").then(r => { - commonHelper.processDefaultCustomInstances( - 'wikiless', - 'normal', - wikipediaHelper, - document, - wikipediaHelper.getWikilessNormalRedirectsChecks, - wikipediaHelper.setWikilessNormalRedirectsChecks, - wikipediaHelper.getWikilessNormalCustomRedirects, - wikipediaHelper.setWikilessNormalCustomRedirects, - r.wikilessLatency, - ); - }) - - commonHelper.processDefaultCustomInstances( - 'wikiless', - 'tor', - wikipediaHelper, - document, - wikipediaHelper.getWikilessTorRedirectsChecks, - wikipediaHelper.setWikilessTorRedirectsChecks, - wikipediaHelper.getWikilessTorCustomRedirects, - wikipediaHelper.setWikilessTorCustomRedirects - ) - - commonHelper.processDefaultCustomInstances( - 'wikiless', - 'i2p', - wikipediaHelper, - document, - wikipediaHelper.getWikilessI2pRedirectsChecks, - wikipediaHelper.setWikilessI2pRedirectsChecks, - wikipediaHelper.getWikilessI2pCustomRedirects, - wikipediaHelper.setWikilessI2pCustomRedirects - ) -}) +window.onblur = wikipediaHelper.initWikilessCookies; let latencyElement = document.getElementById("latency"); let latencyLabel = document.getElementById("latency-label"); @@ -94,17 +63,7 @@ latencyElement.addEventListener("click", commonHelper.testLatency(latencyLabel, redirects.wikiless.normal).then(r => { browser.storage.local.set({ wikilessLatency: r }); latencyLabel.innerHTML = oldHtml; - commonHelper.processDefaultCustomInstances( - 'wikiless', - 'normal', - wikipediaHelper, - document, - wikipediaHelper.getWikilessNormalRedirectsChecks, - wikipediaHelper.setWikilessNormalRedirectsChecks, - wikipediaHelper.getWikilessNormalCustomRedirects, - wikipediaHelper.setWikilessNormalCustomRedirects, - r, - ) + commonHelper.processDefaultCustomInstances('wikiless', 'normal', wikipediaHelper, document) latencyElement.removeEventListener("click", reloadWindow) }); } diff --git a/src/pages/options/youtube/youtube.html b/src/pages/options/youtube/youtube.html index 569e7f12..aa257726 100644 --- a/src/pages/options/youtube/youtube.html +++ b/src/pages/options/youtube/youtube.html @@ -23,7 +23,6 @@ <div class="title"> <img src="../../../assets/images/tiktok-icon.png"><a href="../tiktok/tiktok.html" data-localise="__MSG_tiktok__">TikTok</a></div> <div class="title"> <img src="../../../assets/images/reddit-icon.png"><a href="../reddit/reddit.html" data-localise="__MSG_reddit__">Reddit</a></div> <div class="title"> <img src="../../../assets/images/imgur-icon.png"><a href="../imgur/imgur.html" data-localise="__MSG_imgur__">Imgur</a></div> - <div class="title"> <img src="../../../assets/images/pixiv-icon.svg"><a href="../pixiv/pixiv.html" data-localise="__MSG_pixiv__">Pixiv</a></div> <div class="title"> <img src="../../../assets/images/librespeed-icon.svg"><a href="../speedtest/speedtest.html" data-localise="__MSG_speedtest__">Speedtest</a></div> <div class="title"> <img src="../../../assets/images/spotify-icon.png"><a href="../spotify/spotify.html" data-localise="__MSG_spotify__">Spotify</a></div> <div class="title"> <img src="../../../assets/images/wikipedia-icon.svg"><a href="../wikipedia/wikipedia.html" data-localise="__MSG_wikipedia__">Wikipedia</a></div> @@ -182,7 +181,7 @@ <input class="volume" type="range" min="0" max="100" step="1"> </div> <div class="some-block option-block"> - <h4 data-localise="__MSG_prefDashQuality__">Default comments</h4> + <h4 data-localise="__MSG_defaultComments__">Default comments</h4> <select class="comments[0]"> <option value="" data-localise="__MSG_none__">none</option> <option value="youtube">YouTube</option> diff --git a/src/pages/options/youtubeMusic/youtubeMusic.html b/src/pages/options/youtubeMusic/youtubeMusic.html index 9286ed64..5a93bffc 100644 --- a/src/pages/options/youtubeMusic/youtubeMusic.html +++ b/src/pages/options/youtubeMusic/youtubeMusic.html @@ -23,7 +23,6 @@ <div class="title"> <img src="../../../assets/images/tiktok-icon.png"><a href="../tiktok/tiktok.html" data-localise="__MSG_tiktok__">TikTok</a></div> <div class="title"> <img src="../../../assets/images/reddit-icon.png"><a href="../reddit/reddit.html" data-localise="__MSG_reddit__">Reddit</a></div> <div class="title"> <img src="../../../assets/images/imgur-icon.png"><a href="../imgur/imgur.html" data-localise="__MSG_imgur__">Imgur</a></div> - <div class="title"> <img src="../../../assets/images/pixiv-icon.svg"><a href="../pixiv/pixiv.html" data-localise="__MSG_pixiv__">Pixiv</a></div> <div class="title"> <img src="../../../assets/images/librespeed-icon.svg"><a href="../speedtest/speedtest.html" data-localise="__MSG_speedtest__">Speedtest</a></div> <div class="title"> <img src="../../../assets/images/spotify-icon.png"><a href="../spotify/spotify.html" data-localise="__MSG_spotify__">Spotify</a></div> <div class="title"> <img src="../../../assets/images/wikipedia-icon.svg"><a href="../wikipedia/wikipedia.html" data-localise="__MSG_wikipedia__">Wikipedia</a></div> diff --git a/src/pages/options/youtubeMusic/youtubeMusic.js b/src/pages/options/youtubeMusic/youtubeMusic.js index 98d8b9a0..54a6f8d6 100644 --- a/src/pages/options/youtubeMusic/youtubeMusic.js +++ b/src/pages/options/youtubeMusic/youtubeMusic.js @@ -2,27 +2,23 @@ import youtubeMusicHelper from "../../../assets/javascripts/helpers/youtubeMusic import commonHelper from "../../../assets/javascripts/helpers/common.js"; let disableYoutubeMusicElement = document.getElementById("disable-beatbump"); -disableYoutubeMusicElement.addEventListener("change", - (event) => youtubeMusicHelper.setDisable(!event.target.checked) -); -youtubeMusicHelper.init().then(() => { - disableYoutubeMusicElement.checked = !youtubeMusicHelper.getDisable(); +browser.storage.local.get( + [ + "disableYoutubeMusic", + ], + r => { + disableYoutubeMusicElement.checked = !r.disableYoutubeMusic; + } +); - browser.storage.local.get("beatbumpLatency").then(r => { - commonHelper.processDefaultCustomInstances( - 'beatbump', - 'normal', - youtubeMusicHelper, - document, - youtubeMusicHelper.getBeatbumpNormalRedirectsChecks, - youtubeMusicHelper.setBeatbumpNormalRedirectsChecks, - youtubeMusicHelper.getBeatbumpNormalCustomRedirects, - youtubeMusicHelper.setBeatbumpNormalCustomRedirects, - r.beatbumpLatency, - ); +document.addEventListener("change", async () => { + await browser.storage.local.set({ + disableYoutubeMusic: !disableYoutubeMusicElement.checked, }) -}); +}) + +commonHelper.processDefaultCustomInstances('beatbump', 'normal', youtubeMusicHelper, document); let latencyElement = document.getElementById("latency"); let latencyLabel = document.getElementById("latency-label"); @@ -37,17 +33,7 @@ latencyElement.addEventListener("click", commonHelper.testLatency(latencyLabel, redirects.beatbump.normal).then(r => { browser.storage.local.set({ beatbumpLatency: r }); latencyLabel.innerHTML = oldHtml; - commonHelper.processDefaultCustomInstances( - 'beatbump', - 'normal', - youtubeMusicHelper, - document, - youtubeMusicHelper.getBeatbumpNormalRedirectsChecks, - youtubeMusicHelper.setBeatbumpNormalRedirectsChecks, - youtubeMusicHelper.getBeatbumpNormalCustomRedirects, - youtubeMusicHelper.setBeatbumpNormalCustomRedirects, - r, - ) + commonHelper.processDefaultCustomInstances('beatbump', 'normal', youtubeMusicHelper, document) latencyElement.removeEventListener("click", reloadWindow) }); } diff --git a/src/pages/popup/popup.html b/src/pages/popup/popup.html index 2c4f76d5..465b177b 100644 --- a/src/pages/popup/popup.html +++ b/src/pages/popup/popup.html @@ -68,15 +68,6 @@ <input id="disable-reddit" type="checkbox" checked /> </div> - <div id="pixiv" class="some-block"> - <a class="title" href="https://pixiv.net"> - <!-- https://clipground.com/pics/getsecond?url=pixiv-logo-2.png --> - <img src="../../assets/images/pixiv-icon.svg" /> - <h4 data-localise="__MSG_pixiv__">Pixiv</h4> - </a> - <input id="disable-pixiv" type="checkbox" checked /> - </div> - <div id="spotify" class="some-block"> <a class="title" href="https://spotify.com"> <img src="../../../assets/images/spotify-icon.png" /> diff --git a/src/pages/popup/popup.js b/src/pages/popup/popup.js index 60146900..a7d6450a 100644 --- a/src/pages/popup/popup.js +++ b/src/pages/popup/popup.js @@ -14,7 +14,6 @@ import wikipediaHelper from "../../assets/javascripts/helpers/wikipedia.js"; import mediumHelper from "../../assets/javascripts/helpers/medium.js"; import imgurHelper from "../../assets/javascripts/helpers/imgur.js"; import tiktokHelper from "../../assets/javascripts/helpers/tiktok.js"; -import pixivHelper from "../../assets/javascripts/helpers/pixiv.js"; import spotifyHelper from "../../assets/javascripts/helpers/spotify.js"; import sendTargetsHelper from "../../assets/javascripts/helpers/sendTargets.js"; import peertubeHelper from "../../assets/javascripts/helpers/peertube.js"; @@ -36,7 +35,6 @@ let disableLbryElement = document.getElementById("disable-lbry"); let disableSendTargetsElement = document.getElementById("disable-sendTargets"); let disableImgurElement = document.getElementById("disable-imgur"); let disableTiktokElement = document.getElementById("disable-tiktok"); -let disablePixivElement = document.getElementById("disable-pixiv"); let disableSpotifyElement = document.getElementById("disable-spotify"); let copyRawElement = document.getElementById('copy_raw'); @@ -53,7 +51,6 @@ browser.storage.local.get( "disableWikipedia", "disableImgur", "disableTiktok", - "disablePixiv", "disableSpotifyTargets", "disableMedium", "disablePeertubeTargets", @@ -72,7 +69,6 @@ browser.storage.local.get( disableWikipediaElement.checked = !r.disableWikipedia; disableImgurElement.checked = !r.disableImgur; disableTiktokElement.checked = !r.disableTiktok; - disablePixivElement.checked = !r.disablePixiv; disableSpotifyElement.checked = !r.disableSpotifyTargets; disableMediumElement.checked = !r.disableMedium; disablePeertubeElement.checked = !r.disablePeertubeTargets; @@ -94,7 +90,6 @@ document.addEventListener("change", () => { disableWikipedia: !disableWikipediaElement.checked, disableImgur: !disableImgurElement.checked, disableTiktok: !disableTiktokElement.checked, - disablePixiv: !disablePixivElement.checked, disableSpotifyTargets: !disableSpotifyElement.checked, disableMedium: !disableMediumElement.checked, disablePeertubeTargets: !disablePeertubeElement.checked, |