Added support for username:password for urls #143
This commit is contained in:
parent
2bd630315a
commit
9c2f273064
@ -12,28 +12,6 @@ function getRandomInstance(instances) {
|
||||
return instances[~~(instances.length * Math.random())];
|
||||
}
|
||||
|
||||
async function getRandomOnlineInstance(instances) {
|
||||
const shuffledInstances = instances.sort((a, b) => 0.5 - Math.random())
|
||||
|
||||
for (let ins of shuffledInstances) {
|
||||
try {
|
||||
const res = await fetch(ins, { redirect: 'follow' })
|
||||
console.log(res)
|
||||
if (res.status >= 200 && res.status < 300)
|
||||
return ins // instance seems healthy!
|
||||
else
|
||||
console.warn(`Instance ${ins} seems offline (status code: ${res.status}). we try another one`)
|
||||
|
||||
} catch (err) {
|
||||
console.warn(`Instance ${ins} seems offline. we try another one`)
|
||||
}
|
||||
}
|
||||
|
||||
// everything offline? -> unlikely
|
||||
// rather respond with any entry instead of breaking the functionality
|
||||
return shuffledInstances[0]
|
||||
}
|
||||
|
||||
async function wholeInit() {
|
||||
await youtubeHelper.init();
|
||||
await twitterHelper.init();
|
||||
@ -85,6 +63,11 @@ function isFirefox() {
|
||||
return typeof InstallTrigger !== "undefined";
|
||||
}
|
||||
|
||||
function protocolHost(url) {
|
||||
if (url.username && url.password) return `${url.protocol}//${url.username}:${url.password}@${url.host}`;
|
||||
return `${url.protocol}//${url.host}`;
|
||||
}
|
||||
|
||||
function processDefaultCustomInstances(
|
||||
name,
|
||||
protocol,
|
||||
@ -173,10 +156,10 @@ function processDefaultCustomInstances(
|
||||
event.preventDefault();
|
||||
let nameCustomInstanceInput = document.getElementById(`${name}-${protocol}-custom-instance`);
|
||||
let url = new URL(nameCustomInstanceInput.value);
|
||||
let protocolHost = `${url.protocol}//${url.host}`;
|
||||
if (nameCustomInstanceInput.validity.valid && !nameHelper.getRedirects()[name][protocol].includes(protocolHost)) {
|
||||
if (!nameCustomInstances.includes(protocolHost)) {
|
||||
nameCustomInstances.push(protocolHost)
|
||||
let protocolHostVar = protocolHost(url);
|
||||
if (nameCustomInstanceInput.validity.valid && !nameHelper.getRedirects()[name][protocol].includes(protocolHostVar)) {
|
||||
if (!nameCustomInstances.includes(protocolHostVar)) {
|
||||
nameCustomInstances.push(protocolHostVar)
|
||||
setNameCustomRedirects(nameCustomInstances);
|
||||
nameCustomInstanceInput.value = '';
|
||||
}
|
||||
@ -187,8 +170,8 @@ function processDefaultCustomInstances(
|
||||
|
||||
export default {
|
||||
getRandomInstance,
|
||||
getRandomOnlineInstance,
|
||||
updateInstances,
|
||||
protocolHost,
|
||||
isFirefox,
|
||||
processDefaultCustomInstances,
|
||||
};
|
||||
|
@ -120,7 +120,7 @@ function redirect(url, type) {
|
||||
}
|
||||
|
||||
function switchInstance(url) {
|
||||
let protocolHost = `${url.protocol}//${url.host}`;
|
||||
let protocolHost = commonHelper.protocolHost(url);
|
||||
|
||||
let imgurList = [
|
||||
...redirects.rimgo.normal,
|
||||
|
@ -121,7 +121,7 @@ function redirect(url, type, initiator) {
|
||||
}
|
||||
|
||||
function switchInstance(url) {
|
||||
let protocolHost = `${url.protocol}//${url.host}`;
|
||||
let protocolHost = commonHelper.protocolHost(url);
|
||||
|
||||
let instagramList = [
|
||||
...redirects.bibliogram.normal,
|
||||
@ -147,7 +147,7 @@ function switchInstance(url) {
|
||||
}
|
||||
|
||||
function isBibliogram(url) {
|
||||
let protocolHost = `${url.protocol}//${url.host}`;
|
||||
let protocolHost = commonHelper.protocolHost(url);
|
||||
return [
|
||||
...redirects.bibliogram.normal,
|
||||
...redirects.bibliogram.tor,
|
||||
@ -160,7 +160,7 @@ let instancesCookies;
|
||||
let theme;
|
||||
let applyThemeToSites;
|
||||
function initBibliogramCookies(url) {
|
||||
let protocolHost = `${url.protocol}//${url.host}`;
|
||||
let protocolHost = commonHelper.protocolHost(url);
|
||||
browser.cookies.get(
|
||||
{
|
||||
url: protocolHost,
|
||||
|
@ -97,7 +97,7 @@ function setProtocol(val) {
|
||||
}
|
||||
|
||||
function switchInstance(url) {
|
||||
let protocolHost = `${url.protocol}//${url.host}`;
|
||||
let protocolHost = commonHelper.protocolHost(url);
|
||||
|
||||
let librarianList = [
|
||||
...redirects.librarian.normal,
|
||||
|
@ -135,7 +135,7 @@ function redirect(url, type, initiator) {
|
||||
}
|
||||
|
||||
function switchInstance(url) {
|
||||
let protocolHost = `${url.protocol}//${url.host}`;
|
||||
let protocolHost = commonHelper.protocolHost(url);
|
||||
|
||||
let mediumList = [
|
||||
...redirects.scribe.tor,
|
||||
|
@ -92,7 +92,7 @@ function setProtocol(val) {
|
||||
}
|
||||
|
||||
function switchInstance(url) {
|
||||
let protocolHost = `${url.protocol}//${url.host}`;
|
||||
let protocolHost = commonHelper.protocolHost(url);
|
||||
|
||||
let simpleertubeList = [
|
||||
...redirects.simpleertube.normal,
|
||||
@ -119,7 +119,7 @@ function switchInstance(url) {
|
||||
|
||||
function redirect(url, type, initiator) {
|
||||
|
||||
let protocolHost = `${url.protocol}//${url.host}`;
|
||||
let protocolHost = commonHelper.protocolHost(url);
|
||||
|
||||
if (disable) return null;
|
||||
if (initiator && ([...redirects.simpleertube.normal, ...simpleertubeNormalCustomRedirects].includes(initiator.origin) || targets.includes(initiator.host))) return null;
|
||||
|
@ -246,7 +246,7 @@ let alwaysUsePreferred;
|
||||
function redirect(url, type, initiator) {
|
||||
if (disableReddit) return null;
|
||||
|
||||
let protocolHost = `${url.protocol}//${url.host}`;
|
||||
let protocolHost = commonHelper.protocolHost(url);
|
||||
|
||||
let isTeddit = [
|
||||
...redirects.teddit.normal,
|
||||
@ -367,7 +367,7 @@ function redirect(url, type, initiator) {
|
||||
}
|
||||
|
||||
function switchInstance(url) {
|
||||
let protocolHost = `${url.protocol}//${url.host}`;
|
||||
let protocolHost = commonHelper.protocolHost(url);
|
||||
|
||||
let isTeddit = [
|
||||
...redirects.teddit.normal,
|
||||
|
@ -270,7 +270,7 @@ function redirect(url) {
|
||||
}
|
||||
|
||||
function switchInstance(url) {
|
||||
let protocolHost = `${url.protocol}//${url.host}`;
|
||||
let protocolHost = commonHelper.protocolHost(url);
|
||||
|
||||
let searchList = [
|
||||
...redirects.searx.normal,
|
||||
|
@ -107,7 +107,7 @@ function setProtocol(val) {
|
||||
}
|
||||
|
||||
function switchInstance(url) {
|
||||
let protocolHost = `${url.protocol}//${url.host}`;
|
||||
let protocolHost = commonHelper.protocolHost(url);
|
||||
|
||||
let sendList = [
|
||||
...redirects.send.normal,
|
||||
|
@ -91,7 +91,7 @@ function setProtocol(val) {
|
||||
}
|
||||
|
||||
function switchInstance(url) {
|
||||
let protocolHost = `${url.protocol}//${url.host}`;
|
||||
let protocolHost = commonHelper.protocolHost(url);
|
||||
|
||||
let sojuList = [
|
||||
...redirects.soju.normal,
|
||||
|
@ -185,7 +185,7 @@ function setSimplyTranslateEngine(val) {
|
||||
}
|
||||
|
||||
function isTranslateRedirects(url, type, frontend) {
|
||||
let protocolHost = `${url.protocol}//${url.host}`;
|
||||
let protocolHost = commonHelper.protocolHost(url);
|
||||
|
||||
if (type !== "main_frame") return false;
|
||||
|
||||
@ -271,7 +271,7 @@ function redirect(url) {
|
||||
}
|
||||
|
||||
function switchInstance(url) {
|
||||
let protocolHost = `${url.protocol}//${url.host}`;
|
||||
let protocolHost = commonHelper.protocolHost(url);
|
||||
|
||||
let translateList = [
|
||||
...redirects.simplyTranslate.normal,
|
||||
|
@ -103,7 +103,7 @@ function setBypassWatchOnTwitter(val) {
|
||||
let alwaysUsePreferred;
|
||||
|
||||
function redirect(url, initiator) {
|
||||
let protocolHost = `${url.protocol}//${url.host}`;
|
||||
let protocolHost = commonHelper.protocolHost(url);
|
||||
let isNitter = [
|
||||
...redirects.nitter.normal,
|
||||
...redirects.nitter.tor
|
||||
@ -159,7 +159,7 @@ function redirect(url, initiator) {
|
||||
}
|
||||
|
||||
function switchInstance(url) {
|
||||
let protocolHost = `${url.protocol}//${url.host}`;
|
||||
let protocolHost = commonHelper.protocolHost(url);
|
||||
|
||||
let twitterList = [
|
||||
...redirects.nitter.normal,
|
||||
@ -186,7 +186,7 @@ function switchInstance(url) {
|
||||
|
||||
function removeXFrameOptions(e) {
|
||||
let url = new URL(e.url);
|
||||
let protocolHost = `${url.protocol}//${url.host}`;
|
||||
let protocolHost = commonHelper.protocolHost(url);
|
||||
let twitterList = [
|
||||
...redirects.nitter.normal,
|
||||
...redirects.nitter.tor,
|
||||
@ -204,7 +204,7 @@ function removeXFrameOptions(e) {
|
||||
}
|
||||
|
||||
function isNitter(url, type) {
|
||||
let protocolHost = `${url.protocol}//${url.host}`;
|
||||
let protocolHost = commonHelper.protocolHost(url);
|
||||
|
||||
if (type !== "main_frame" && type !== "sub_frame") return false;
|
||||
|
||||
|
@ -157,7 +157,7 @@ function redirect(url) {
|
||||
}
|
||||
|
||||
function switchInstance(url) {
|
||||
let protocolHost = `${url.protocol}//${url.host}`;
|
||||
let protocolHost = commonHelper.protocolHost(url);
|
||||
|
||||
let wikipediaList = [
|
||||
...redirects.wikiless.normal,
|
||||
|
@ -307,7 +307,7 @@ function setExceptions(val) {
|
||||
|
||||
function isException(url) {
|
||||
for (const item of exceptions.url) {
|
||||
let protocolHost = `${url.protocol}//${url.host}`
|
||||
let protocolHost = commonHelper.protocolHost(url);
|
||||
console.log(item, protocolHost)
|
||||
if (item == protocolHost) return true;
|
||||
}
|
||||
@ -320,7 +320,7 @@ let alwaysUsePreferred;
|
||||
function redirect(url, details, initiator) {
|
||||
if (disable) return null;
|
||||
|
||||
let protocolHost = `${url.protocol}//${url.host}`;
|
||||
let protocolHost = commonHelper.protocolHost(url);
|
||||
|
||||
let isInvidious = [
|
||||
...redirects.invidious.normal,
|
||||
@ -450,7 +450,7 @@ function redirect(url, details, initiator) {
|
||||
}
|
||||
|
||||
function switchInstance(url) {
|
||||
let protocolHost = `${url.protocol}//${url.host}`;
|
||||
let protocolHost = commonHelper.protocolHost(url);
|
||||
if (
|
||||
protocol == 'normal' &&
|
||||
![
|
||||
@ -501,7 +501,7 @@ function switchInstance(url) {
|
||||
}
|
||||
|
||||
function isPipedorInvidious(url, type, frontend) {
|
||||
let protocolHost = `${url.protocol}//${url.host}`;
|
||||
let protocolHost = commonHelper.protocolHost(url);
|
||||
|
||||
if (type !== "main_frame" && type !== "sub_frame") return false;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user