From 208d93982ed8e536cbc3611f5146de4a807cdc47 Mon Sep 17 00:00:00 2001 From: ManeraKai Date: Sat, 29 Jan 2022 14:00:30 +0300 Subject: [PATCH] updated instances get function --- src/assets/javascripts/helpers/common.js | 23 ++++++++++++++++++++++- src/assets/javascripts/helpers/medium.js | 3 ++- src/pages/background/background.js | 1 + src/pages/options/options.js | 15 +++------------ src/pages/popup/popup.js | 20 +++++++------------- 5 files changed, 35 insertions(+), 27 deletions(-) diff --git a/src/assets/javascripts/helpers/common.js b/src/assets/javascripts/helpers/common.js index a0e05c7f..2c99bc2e 100644 --- a/src/assets/javascripts/helpers/common.js +++ b/src/assets/javascripts/helpers/common.js @@ -1,12 +1,33 @@ + function filterInstances(instances) { - return instances.filter((instance) => !instance.includes(".onion")); + let filtered = instances.filter((instance) => !instance.includes(".onion")); + let result = filtered.map((item, i) => "https://" + item) + return result; } function getRandomInstance(instances) { return instances[~~(instances.length * Math.random())]; } +function getInstances() { + const apiEndpoint = 'https://raw.githubusercontent.com/libredirect/instances/main/data.json'; + let request = new XMLHttpRequest(); + request.open('GET', apiEndpoint, false); + request.send(null); + + if (request.status === 200) { + const instances = JSON.parse(request.responseText); + const nitterRandomPool = filterInstances(instances.twitter).join(','); + const invidiousRandomPool = filterInstances(instances.youtube).join(','); + const bibliogramRandomPool = filterInstances(instances.instagram).join(','); + browser.storage.sync.set({ nitterRandomPool, invidiousRandomPool, bibliogramRandomPool }); + return true; + } + return false; +} + export default { filterInstances, getRandomInstance, + getInstances, }; diff --git a/src/assets/javascripts/helpers/medium.js b/src/assets/javascripts/helpers/medium.js index 039e780c..e62a6549 100644 --- a/src/assets/javascripts/helpers/medium.js +++ b/src/assets/javascripts/helpers/medium.js @@ -1,5 +1,6 @@ const targets = [ - /.*medium.com/, + // /(.*\.medium\.com)?(?(1)|^medium\.com)/, + /^medium.com/, /.*\.medium.com/, // Other domains of medium blogs, source(s): https://findingtom.com/best-medium-blogs-to-follow/#1-forge /towardsdatascience.com/, diff --git a/src/pages/background/background.js b/src/pages/background/background.js index aae71834..1f2eccce 100644 --- a/src/pages/background/background.js +++ b/src/pages/background/background.js @@ -653,6 +653,7 @@ browser.webRequest.onBeforeRequest.addListener( redirectUrl: redirectReddit(url, initiator, details.type), }; } else if (mediumDomains.some((rx) => rx.test(url.host))) { + oldDomain = "https://medium.com/" redirect = { redirectUrl: redirectMedium(url, initiator), }; diff --git a/src/pages/options/options.js b/src/pages/options/options.js index 639d351b..e0fd03e1 100644 --- a/src/pages/options/options.js +++ b/src/pages/options/options.js @@ -614,19 +614,10 @@ for (i = 0; i < coll.length; i++) { }); } -const apiEndpoint = 'https://raw.githubusercontent.com/libredirect/instances/main/data.json'; document.querySelector("#update-instances").addEventListener("click", () => { document.querySelector("#update-instances").innerHTML = '...'; - let request = new XMLHttpRequest(); - request.open('GET', apiEndpoint, false); - request.send(null); - - if (request.status === 200) { - const instances = JSON.parse(request.responseText); - const nitterRandomPool = instances.twitter.join(','); - const invidiousRandomPool = instances.youtube.join(','); - const bibliogramRandomPool = instances.instagram.join(','); - browser.storage.sync.set({ nitterRandomPool, invidiousRandomPool, bibliogramRandomPool }); + if (commonHelper.getInstances()) document.querySelector("#update-instances").innerHTML = 'Done!'; - } + else + document.querySelector("#update-instances").innerHTML = 'Failed Miserabely'; }); \ No newline at end of file diff --git a/src/pages/popup/popup.js b/src/pages/popup/popup.js index 01497cad..8ee09521 100644 --- a/src/pages/popup/popup.js +++ b/src/pages/popup/popup.js @@ -1,5 +1,7 @@ "use strict"; +import commonHelper from "../../assets/javascripts/helpers/common.js"; + let disableNitter = document.querySelector("#disable-nitter"); let disableInvidious = document.querySelector("#disable-invidious"); let disableBibliogram = document.querySelector("#disable-bibliogram"); @@ -75,21 +77,13 @@ disableScribe.addEventListener("change", (event) => { browser.storage.sync.set({ disableScribe: !event.target.checked }); }); -const apiEndpoint = 'https://raw.githubusercontent.com/libredirect/instances/main/data.json'; -document.querySelector("#update-instances").addEventListener("click", () => { - let request = new XMLHttpRequest(); - request.open('GET', apiEndpoint, false); - request.send(null); - if (request.status === 200) { - document.querySelector("#update-instances").innerHTML = 'gav'; - const instances = JSON.parse(request.responseText); - const nitterRandomPool = instances.twitter.join(','); - const invidiousRandomPool = instances.youtube.join(','); - const bibliogramRandomPool = instances.instagram.join(','); - browser.storage.sync.set({ nitterRandomPool, invidiousRandomPool, bibliogramRandomPool }); +document.querySelector("#update-instances").addEventListener("click", () => { + document.querySelector("#update-instances").innerHTML = '...'; + if (commonHelper.getInstances()) document.querySelector("#update-instances").innerHTML = 'Done!'; - } + else + document.querySelector("#update-instances").innerHTML = 'Failed Miserabely'; }); document.querySelector("#more-options").addEventListener("click", () => {