diff --git a/src/assets/javascripts/data.js b/src/assets/javascripts/data.js index fad2ea9d..a4e37ca7 100644 --- a/src/assets/javascripts/data.js +++ b/src/assets/javascripts/data.js @@ -1,12 +1,5 @@ "use strict"; -let exceptions; - -function setExceptions(val) { - exceptions = val; - browser.storage.sync.set({ exceptions }) -}; - let theme; function setTheme(val) { theme = val; @@ -17,5 +10,4 @@ export default { exceptions, theme, setTheme, - setExceptions, } \ No newline at end of file diff --git a/src/assets/javascripts/helpers/common.js b/src/assets/javascripts/helpers/common.js index 373929f6..313808a9 100644 --- a/src/assets/javascripts/helpers/common.js +++ b/src/assets/javascripts/helpers/common.js @@ -10,11 +10,6 @@ import wikipediaHelper from "./wikipedia.js"; import mapsHelper from "./maps.js"; import medium from "./medium.js"; - -function addHttps(instances) { - return instances.map((item, i) => "https://" + item) -} - function getRandomInstance(instances) { return instances[~~(instances.length * Math.random())]; } @@ -51,72 +46,12 @@ function updateInstances() { return false; } -function debounce(func, wait, immediate) { - let timeout; - return () => { - let context = this, - args = arguments; - let later = () => { - timeout = null; - if (!immediate) func.apply(context, args); - }; - let callNow = immediate && !timeout; - clearTimeout(timeout); - timeout = setTimeout(later, wait); - if (callNow) func.apply(context, args); - }; -} - -function validURL(str) { - var pattern = new RegExp('^(https?:\\/\\/)?' + // protocol - '((([a-z\\d]([a-z\\d-]*[a-z\\d])*)\\.)+[a-z]{2,}|' + // domain name - '((\\d{1,3}\\.){3}\\d{1,3}))' + // OR ip (v4) address - '(\\:\\d+)?(\\/[-a-z\\d%_.~+]*)*' + // port and path - '(\\?[;&a-z\\d%_.~+=-]*)?' + // query string - '(\\#[-a-z\\d_]*)?$', 'i'); // fragment locator - return !!pattern.test(str); -} - -function filterList(oldList) { - oldList.filter((x) => x.trim() != ""); - let newList = []; - oldList.forEach((c) => { - if (!newList.includes(c.trim())) - newList.push(c.trim()); - }); - newList = newList.filter(validURL) - return newList; -} - -function updateListElement(listElement, list) { - while (listElement.firstChild) - listElement.removeChild(listElement.firstChild); - list.forEach(element => { - let entry = document.createElement('li'); - entry.appendChild(document.createTextNode(element)); - listElement.appendChild(entry); - }); -} - function isFirefox() { return typeof InstallTrigger !== "undefined"; } -function isException(url, initiator) { - return ( - data.exceptions.some((regex) => regex.test(url.href)) || - (initiator && data.exceptions.some((regex) => regex.test(initiator.href))) - ); -} - export default { getRandomInstance, updateInstances, - addHttps, - debounce, - validURL, - filterList, - updateListElement, isFirefox, - isException, }; diff --git a/src/assets/javascripts/helpers/instagram.js b/src/assets/javascripts/helpers/instagram.js index 666b9f71..fac1f534 100644 --- a/src/assets/javascripts/helpers/instagram.js +++ b/src/assets/javascripts/helpers/instagram.js @@ -60,37 +60,23 @@ function setDisableInstagram(val) { browser.storage.sync.set({ disableInstagram }) } -let bibliogramInstance; -const getBibliogramInstance = () => bibliogramInstance; -function setBibliogramInstance(val) { - bibliogramInstance = val; - browser.storage.sync.set({ bibliogramInstance }) -}; - function redirect(url, initiator, type) { if (disableInstagram) return null; // Do not redirect Bibliogram view on Instagram links - if ( - initiator && - (initiator.origin === bibliogramInstance || redirects.normal.includes(initiator.origin) || targets.includes(initiator.host)) - ) + if (initiator && (redirects.normal.includes(initiator.origin) || targets.includes(initiator.host))) return null; // Do not redirect /accounts, /embeds.js, or anything other than main_frame if (type !== "main_frame" || url.pathname.match(bypassPaths)) - return null; + return 'CANCEL'; let link = commonHelper.getRandomInstance(redirects.normal); - if ( - url.pathname === "/" || - instagramReservedPaths.includes(url.pathname.split("/")[1]) - ) + if (url.pathname === "/" || instagramReservedPaths.includes(url.pathname.split("/")[1])) return `${link}${url.pathname}${url.search}`; else - // Likely a user profile, redirect to '/u/...' - return `${link}/u${url.pathname}${url.search}`; + return `${link}/u${url.pathname}${url.search}`; // Likely a user profile, redirect to '/u/...' } function isInstagram(url) { @@ -100,11 +86,9 @@ function isInstagram(url) { async function init() { let result = await browser.storage.sync.get([ "disableInstagram", - "bibliogramInstance", "instagramRedirects" ]) disableInstagram = result.disableInstagram ?? false; - bibliogramInstance = result.bibliogramInstance; if (result.instagramRedirects) redirects = result.instagramRedirects } @@ -114,8 +98,6 @@ export default { setRedirects, getDisableInstagram, setDisableInstagram, - getBibliogramInstance, - setBibliogramInstance, isInstagram, redirect, init, diff --git a/src/assets/javascripts/helpers/maps.js b/src/assets/javascripts/helpers/maps.js index 40f070c2..cee15557 100644 --- a/src/assets/javascripts/helpers/maps.js +++ b/src/assets/javascripts/helpers/maps.js @@ -54,13 +54,6 @@ function setDisableMaps(val) { browser.storage.sync.set({ disableMaps }) } -let osmInstance; -const getOsmInstance = () => osmInstance; -function setOsmInstance(val) { - osmInstance = val; - browser.storage.sync.set({ osmInstance }) -} - function redirect(url, initiator) { if (disableMaps) return null; @@ -82,8 +75,7 @@ function redirect(url, initiator) { params = "&zoom=17"; // Set map layer - params = `${params}&layers=${layers[url.searchParams.get("layer")] || layers["none"] - }`; + params = `${params}&layers=${layers[url.searchParams.get("layer")] || layers["none"]}`; // Handle Google Maps Embed API if (url.pathname.split("/").includes("embed")) { let query = ""; @@ -93,8 +85,7 @@ function redirect(url, initiator) { try { query = url.searchParams.get("pb").split(/!2s(.*?)!/)[1]; } catch (error) { - console.error(error); - // Unable to find map marker in URL. + console.error(error); // Unable to find map marker in URL. } } let marker, bbox; @@ -145,18 +136,14 @@ function isMaps(url) { async function init() { let result = await browser.storage.sync.get([ "disableMaps", - "osmInstance", ]) disableMaps = result.disableMaps ?? false; - osmInstance = result.osmInstance; } export default { addressToLatLng, getDisableMaps, setDisableMaps, - getOsmInstance, - setOsmInstance, redirect, isMaps, init, diff --git a/src/assets/javascripts/helpers/medium.js b/src/assets/javascripts/helpers/medium.js index ce91e99c..16a6eac5 100644 --- a/src/assets/javascripts/helpers/medium.js +++ b/src/assets/javascripts/helpers/medium.js @@ -39,12 +39,6 @@ function setDisableMedium(val) { } -let scribeInstance; -const getScribeInstance = () => scribeInstance; -function setScribeInstance(val) { - scribeInstance = val; - browser.storage.sync.set({ scribeInstance }) -}; function redirect(url, initiator) { if (disableMedium) return null; @@ -52,13 +46,8 @@ function redirect(url, initiator) { if (url.pathname == "/") return null; if ( - commonHelper.isFirefox() && - initiator && - ( - initiator.origin === scribeInstance || - redirects.normal.includes(initiator.origin) || - targets.includes(initiator.host) - ) + commonHelper.isFirefox() && initiator && + (redirects.normal.includes(initiator.origin) || targets.includes(initiator.host)) ) { browser.storage.sync.set({ redirectBypassFlag: true }); return null; @@ -73,11 +62,9 @@ function isMedium(url) { async function init() { let result = await browser.storage.sync.get([ "disableMedium", - "scribeInstance", "mediumRedirects" ]) disableMedium = result.disableMedium ?? false; - scribeInstance = result.scribeInstance; if (result.mediumRedirects) redirects = result.mediumRedirects; } @@ -91,9 +78,6 @@ export default { getDisableMedium, setDisableMedium, - getScribeInstance, - setScribeInstance, - redirect, isMedium, init, diff --git a/src/assets/javascripts/helpers/reddit.js b/src/assets/javascripts/helpers/reddit.js index 880d1576..ba3455d0 100644 --- a/src/assets/javascripts/helpers/reddit.js +++ b/src/assets/javascripts/helpers/reddit.js @@ -79,12 +79,6 @@ function setDisableReddit(val) { disableReddit = val; browser.storage.sync.set({ disableReddit }) } -let redditInstance; -const getRedditInstance = () => redditInstance; -function setRedditInstance(val) { - redditInstance = val; - browser.storage.sync.set({ redditInstance }) -}; let redditFrontend; const getRedditFrontend = () => redditFrontend; @@ -99,8 +93,8 @@ function redirect(url, initiator, type) { return null; // Do not redirect when already on the selected view - if ((initiator && initiator.origin === redditInstance) || url.origin === redditInstance) - return null; + // if ((initiator && initiator.origin === redditInstance) || url.origin === redditInstance) + // return null; // Do not redirect exclusions nor anything other than main_frame @@ -140,12 +134,10 @@ function isReddit(url) { async function init() { let result = await browser.storage.sync.get([ "disableReddit", - "redditInstance", "redditFrontend", "redditRedirects" ]) disableReddit = result.disableReddit ?? false; - redditInstance = result.redditInstance; redditFrontend = result.redditFrontend ?? 'libreddit'; if (result.redditRedirects) redirects = result.redditRedirects; @@ -160,9 +152,6 @@ export default { getDisableReddit, setDisableReddit, - getRedditInstance, - setRedditInstance, - getRedditFrontend, setRedditFrontend, diff --git a/src/assets/javascripts/helpers/search.js b/src/assets/javascripts/helpers/search.js index 84b63f9a..1130aa3e 100644 --- a/src/assets/javascripts/helpers/search.js +++ b/src/assets/javascripts/helpers/search.js @@ -6,7 +6,7 @@ const targets = [ /https?:\/\/(((www|maps)\.)?(google\.).*(\/search)|search\.(google\.).*)/ ]; let redirects = { - "searx": { + "searx": { "normal": [ "https://a.searx.space", "https://anon.sx", @@ -137,7 +137,7 @@ let redirects = { "http://mqamk4cfykdvhw5kjez2gnvse56gmnqxn7vkvvbuor4k4j2lbbnq.b32.i2p" ] }, - "whoogle": { + "whoogle": { "normal": [ "https://s.alefvanoon.xyz", "https://search.albony.xyz", @@ -164,8 +164,6 @@ function setWhoogleRedirects(val) { console.log("whoogleRedirects:", val) } - - let disableSearch; const getDisableSearch = () => disableSearch; function setDisableSearch(val) { @@ -174,13 +172,6 @@ function setDisableSearch(val) { console.log("disableSearch: ", disableSearch) } -let searchInstance; -const getSearchInstance = () => searchInstance; -function setSearchInstance(val) { - searchInstance = val; - browser.storage.sync.set({ searchInstance }) -}; - let searchFrontend; const getSearchFrontend = () => searchFrontend; function setSearchFrontend(val) { @@ -208,7 +199,6 @@ function redirect(url, initiator) { url.search.slice(1).split("&").forEach(function (input) { if (input.startsWith("q=")) searchQuery = input; }); - console.log("Will return"); return `${instance}${path}?${searchQuery}`; } @@ -219,12 +209,10 @@ function isSearch(url) { async function init() { let result = await browser.storage.sync.get([ "disableSearch", - "searchInstance", "searchFrontend", "searchRedirects", ]) disableSearch = result.disableSearch ?? false; - searchInstance = result.searchInstance; searchFrontend = result.searchFrontend ?? 'searx'; if (result.searchRedirects) redirects = result.searchRedirects; @@ -241,9 +229,6 @@ export default { getDisableSearch, setDisableSearch, - getSearchInstance, - setSearchInstance, - getSearchFrontend, setSearchFrontend, diff --git a/src/assets/javascripts/helpers/translate.js b/src/assets/javascripts/helpers/translate.js index 198603e9..c0f95994 100644 --- a/src/assets/javascripts/helpers/translate.js +++ b/src/assets/javascripts/helpers/translate.js @@ -35,6 +35,7 @@ let redirects = { } }; + const getRedirects = () => redirects; function setSimplyTranslateRedirects(val) { @@ -57,13 +58,6 @@ function setDisableTranslate(val) { console.log("disableTranslate: ", disableTranslate) } -let simplyTranslateInstance; -const getSimplyTranslateInstance = () => simplyTranslateInstance; -function setSimplyTranslateInstance(val) { - simplyTranslateInstance = val; - browser.storage.sync.set({ simplyTranslateInstance }) -}; - let translateFrontend; const getFrontend = () => translateFrontend; function setFrontend(val) { @@ -108,12 +102,10 @@ function isTranslate(url) { async function init() { let result = await browser.storage.sync.get([ "disableTranslate", - "simplyTranslateInstance", "translateFrontend", "translateRedirects" ]); disableTranslate = result.disableTranslate ?? false; - simplyTranslateInstance = result.simplyTranslateInstance; translateFrontend = result.translateFrontend ?? "simplyTransalte"; if (result.translateRedirects) redirects = result.translateRedirects @@ -123,18 +115,15 @@ export default { getRedirects, setSimplyTranslateRedirects, setLingvaRedirects, - + isTranslate, - + getDisableTranslate, setDisableTranslate, - - getSimplyTranslateInstance, - setSimplyTranslateInstance, - + getFrontend, setFrontend, - + redirect, init, }; diff --git a/src/assets/javascripts/helpers/twitter.js b/src/assets/javascripts/helpers/twitter.js index 24d2725e..d97505cc 100644 --- a/src/assets/javascripts/helpers/twitter.js +++ b/src/assets/javascripts/helpers/twitter.js @@ -12,11 +12,7 @@ const targets = [ "pbs.twimg.com", "video.twimg.com", ]; -/* - Please remember to also update the - src/assets/javascripts/remove-twitter-sw.js file - (const nitterInstances) when updating this list: - */ + let redirects = { "normal": [ "https://nitter.net", @@ -93,12 +89,6 @@ function setDisableTwitter(val) { browser.storage.sync.set({ disableTwitter }) } -let nitterInstance; -const getNitterInstance = () => nitterInstance; -function setNitterInstance(val) { - nitterInstance = val; - browser.storage.sync.set({ nitterInstance }) -} function redirect(url, initiator) { if (disableTwitter) @@ -110,11 +100,7 @@ function redirect(url, initiator) { if ( commonHelper.isFirefox() && initiator && - ( - initiator.origin === nitterInstance || - redirects.normal.includes(initiator.origin) || - targets.includes(initiator.host) - ) + (redirects.normal.includes(initiator.origin) || targets.includes(initiator.host)) ) { browser.storage.sync.set({ redirectBypassFlag: true }); return null; @@ -138,11 +124,9 @@ function isTwitter(url) { async function init() { let result = await browser.storage.sync.get([ "disableTwitter", - "nitterInstance", "twitterRedirects" ]); disableTwitter = result.disableTwitter ?? false; - nitterInstance = result.nitterInstance; if (result.twitterRedirects) redirects = result.twitterRedirects; } @@ -154,9 +138,6 @@ export default { getDisableTwitter, setDisableTwitter, - getNitterInstance, - setNitterInstance, - redirect, isTwitter, init, diff --git a/src/assets/javascripts/helpers/wikipedia.js b/src/assets/javascripts/helpers/wikipedia.js index e730c8b8..111eee2c 100644 --- a/src/assets/javascripts/helpers/wikipedia.js +++ b/src/assets/javascripts/helpers/wikipedia.js @@ -27,13 +27,6 @@ function setDisableWikipedia(val) { browser.storage.sync.set({ disableWikipedia }) } -let wikipediaInstance; -const getWikipediaInstance = () => wikipediaInstance; -function setWikipediaInstance(val) { - wikipediaInstance = val; - browser.storage.sync.set({ wikipediaInstance }) -}; - function redirect(url, initiator) { if (disableWikipedia) return null; @@ -46,7 +39,7 @@ function redirect(url, initiator) { GETArguments.push([args[0], args[1]]); } } - let instance = wikipediaInstance ?? commonHelper.getRandomInstance(redirects.normal) + let instance = commonHelper.getRandomInstance(redirects.normal) let link = `${instance}${url.pathname}`; let urlSplit = url.host.split("."); if (urlSplit[0] != "wikipedia" && urlSplit[0] != "www") { @@ -55,7 +48,7 @@ function redirect(url, initiator) { else GETArguments.push(["lang", urlSplit[0]]); if (urlSplit[1] == "m") GETArguments.push(["mobileaction", "toggle_view_mobile"]); - //wikiless doesn't have mobile view support yet + // wikiless doesn't have mobile view support yet } for (let i = 0; i < GETArguments.length; i++) link += (i == 0 ? "?" : "&") + GETArguments[i][0] + "=" + GETArguments[i][1]; @@ -76,11 +69,9 @@ function isWikipedia(url) { async function init() { let result = await browser.storage.sync.get([ "disableWikipedia", - "wikipediaInstance", "wikipediaRedirects" ]); disableWikipedia = result.disableWikipedia ?? false; - wikipediaInstance = result.wikipediaInstance; if (result.wikipediaRedirects) redirects = result.wikipediaRedirects; } @@ -92,9 +83,6 @@ export default { setDisableWikipedia, getDisableWikipedia, - setWikipediaInstance, - getWikipediaInstance, - redirect, isWikipedia, init, diff --git a/src/assets/javascripts/helpers/youtube/youtube.js b/src/assets/javascripts/helpers/youtube/youtube.js index 0ce6b097..b6588808 100644 --- a/src/assets/javascripts/helpers/youtube/youtube.js +++ b/src/assets/javascripts/helpers/youtube/youtube.js @@ -91,14 +91,6 @@ function setDisableYoutube(val) { console.log("disableYoutube: ", disableYoutube) } -let invidiousInstance; -const getInvidiousInstance = () => invidiousInstance; -function setInvidiousInstance(val) { - invidiousInstance = val; - browser.storage.sync.set({ invidiousInstance }) - console.log("invidiousInstance: ", invidiousInstance) -} - let invidiousAlwaysProxy; function setInvidiousAlwaysProxy(val) { invidiousAlwaysProxy = val; @@ -208,7 +200,6 @@ async function init() { "invidiousTheme", "persistInvidiousPrefs", "disableYoutube", - "invidiousInstance", "invidiousOnlyEmbeddedVideo", "invidiousVolume", "invidiousPlayerStyle", @@ -219,7 +210,7 @@ async function init() { "invidiousRedirectsChecks", "invidiousCustomRedirects", ]); - if (result.youtubeRedirects) redirects = result.youtubeRedirects + if (result.youtubeRedirects) redirects = result.youtubeRedirects; if (result.invidiousRedirectsChecks) invidiousRedirectsChecks = result.invidiousRedirectsChecks; @@ -228,8 +219,6 @@ async function init() { frontend = result.youtubeFrontend ?? 'piped'; disableYoutube = result.disableYoutube ?? false; - invidiousInstance = result.invidiousInstance; - invidiousAlwaysProxy = result.invidiousAlwaysProxy ?? 'DEFAULT'; invidiousOnlyEmbeddedVideo = result.invidiousOnlyEmbeddedVideo ?? false; invidiousVideoQuality = result.invidiousVideoQuality ?? 'DEFAULT'; @@ -240,8 +229,6 @@ async function init() { invidiousAutoplay = result.invidiousAutoplay ?? 'DEFAULT'; persistInvidiousPrefs = result.persistInvidiousPrefs ?? false; - - } function invidiousInitCookies(tabId) { @@ -259,7 +246,6 @@ function redirect(url, initiator, type) { if ( initiator && ( - initiator.origin === invidiousInstance || redirects.invidious.normal.includes(initiator.origin) || redirects.piped.normal.includes(initiator.origin) || targets.includes(initiator.host) @@ -326,9 +312,6 @@ export default { getDisableYoutube, setDisableYoutube, - setInvidiousInstance, - getInvidiousInstance, - setInvidiousAlwaysProxy, getInvidiousAlwaysProxy, diff --git a/src/pages/options/general/general.html b/src/pages/options/general/general.html index 3a7e8cf2..92cd48c5 100644 --- a/src/pages/options/general/general.html +++ b/src/pages/options/general/general.html @@ -38,65 +38,6 @@ Update Instances - - - diff --git a/src/pages/options/general/general.js b/src/pages/options/general/general.js index 23c739aa..17b7a843 100644 --- a/src/pages/options/general/general.js +++ b/src/pages/options/general/general.js @@ -47,31 +47,6 @@ browser.storage.sync.get( } ); -// function addToExceptions() { -// const input = document.getElementById("new-exceptions-item"); -// const type = document.querySelector('input[name="type"]:checked').value; -// if (input.value) { -// try { -// let value = input.value; -// new RegExp(input.value); -// if (type === "URL") -// value = value.replace(/[-\/\\^$*+?.()|[\]{}]/g, "\\$&"); - -// exceptions.push(value); -// browser.storage.sync.set({ -// exceptions: exceptions, -// }); -// prependExceptionsItem(value, exceptions.indexOf(value)); -// input.value = ""; -// } catch (error) { -// input.setCustomValidity("Invalid RegExp"); -// } -// } else { -// input.setCustomValidity("Invalid RegExp"); -// } -// } -// document.getElementById("add-to-exceptions").addEventListener("click", addToExceptions); - themeElement.addEventListener("change", (event) => { const value = event.target.options[theme.selectedIndex].value; switch (value) { diff --git a/src/pages/options/instagram/instagram.html b/src/pages/options/instagram/instagram.html index 1f09cab7..98e296f8 100644 --- a/src/pages/options/instagram/instagram.html +++ b/src/pages/options/instagram/instagram.html @@ -28,22 +28,6 @@