updated instances get function

This commit is contained in:
ManeraKai 2022-01-29 14:00:30 +03:00
parent 491729a7f9
commit 208d93982e
5 changed files with 35 additions and 27 deletions

View File

@ -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,
};

View File

@ -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/,

View File

@ -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),
};

View File

@ -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';
});

View File

@ -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", () => {