diff options
author | ManeraKai <manerakai@protonmail.com> | 2022-03-28 21:00:35 +0300 |
---|---|---|
committer | ManeraKai <manerakai@protonmail.com> | 2022-03-28 21:00:35 +0300 |
commit | 9c2f273064b335665e0f196d343cc0af1a784f09 (patch) | |
tree | bec592c645e659b711724f7522c9de2e4f9c07ae | |
parent | Merge branch 'master' of https://github.com/libredirect/libredirect (diff) | |
download | libredirect-9c2f273064b335665e0f196d343cc0af1a784f09.zip |
Added support for username:password for urls #143
-rw-r--r-- | src/assets/javascripts/helpers/common.js | 37 | ||||
-rw-r--r-- | src/assets/javascripts/helpers/imgur.js | 2 | ||||
-rw-r--r-- | src/assets/javascripts/helpers/instagram.js | 6 | ||||
-rw-r--r-- | src/assets/javascripts/helpers/lbry.js | 2 | ||||
-rw-r--r-- | src/assets/javascripts/helpers/medium.js | 2 | ||||
-rw-r--r-- | src/assets/javascripts/helpers/peertube.js | 4 | ||||
-rw-r--r-- | src/assets/javascripts/helpers/reddit.js | 4 | ||||
-rw-r--r-- | src/assets/javascripts/helpers/search.js | 2 | ||||
-rw-r--r-- | src/assets/javascripts/helpers/sendTargets.js | 2 | ||||
-rw-r--r-- | src/assets/javascripts/helpers/spotify.js | 2 | ||||
-rw-r--r-- | src/assets/javascripts/helpers/translate/translate.js | 4 | ||||
-rw-r--r-- | src/assets/javascripts/helpers/twitter.js | 8 | ||||
-rw-r--r-- | src/assets/javascripts/helpers/wikipedia.js | 2 | ||||
-rw-r--r-- | src/assets/javascripts/helpers/youtube/youtube.js | 8 |
14 files changed, 34 insertions, 51 deletions
diff --git a/src/assets/javascripts/helpers/common.js b/src/assets/javascripts/helpers/common.js index 961f5bd6..f3982cd6 100644 --- a/src/assets/javascripts/helpers/common.js +++ b/src/assets/javascripts/helpers/common.js @@ -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, }; diff --git a/src/assets/javascripts/helpers/imgur.js b/src/assets/javascripts/helpers/imgur.js index 407a7586..7227bab6 100644 --- a/src/assets/javascripts/helpers/imgur.js +++ b/src/assets/javascripts/helpers/imgur.js @@ -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, diff --git a/src/assets/javascripts/helpers/instagram.js b/src/assets/javascripts/helpers/instagram.js index bae8147e..eedf1475 100644 --- a/src/assets/javascripts/helpers/instagram.js +++ b/src/assets/javascripts/helpers/instagram.js @@ -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, diff --git a/src/assets/javascripts/helpers/lbry.js b/src/assets/javascripts/helpers/lbry.js index 56857f17..21779fa9 100644 --- a/src/assets/javascripts/helpers/lbry.js +++ b/src/assets/javascripts/helpers/lbry.js @@ -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, diff --git a/src/assets/javascripts/helpers/medium.js b/src/assets/javascripts/helpers/medium.js index 02d5a9b6..dc044505 100644 --- a/src/assets/javascripts/helpers/medium.js +++ b/src/assets/javascripts/helpers/medium.js @@ -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, diff --git a/src/assets/javascripts/helpers/peertube.js b/src/assets/javascripts/helpers/peertube.js index a68eddba..c9aae80c 100644 --- a/src/assets/javascripts/helpers/peertube.js +++ b/src/assets/javascripts/helpers/peertube.js @@ -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; diff --git a/src/assets/javascripts/helpers/reddit.js b/src/assets/javascripts/helpers/reddit.js index 9a970a68..73f10c42 100644 --- a/src/assets/javascripts/helpers/reddit.js +++ b/src/assets/javascripts/helpers/reddit.js @@ -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, diff --git a/src/assets/javascripts/helpers/search.js b/src/assets/javascripts/helpers/search.js index e1c3bdef..ea14ca35 100644 --- a/src/assets/javascripts/helpers/search.js +++ b/src/assets/javascripts/helpers/search.js @@ -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, diff --git a/src/assets/javascripts/helpers/sendTargets.js b/src/assets/javascripts/helpers/sendTargets.js index d81aa4ee..8cfca7bb 100644 --- a/src/assets/javascripts/helpers/sendTargets.js +++ b/src/assets/javascripts/helpers/sendTargets.js @@ -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, diff --git a/src/assets/javascripts/helpers/spotify.js b/src/assets/javascripts/helpers/spotify.js index a4e56f77..22f596d0 100644 --- a/src/assets/javascripts/helpers/spotify.js +++ b/src/assets/javascripts/helpers/spotify.js @@ -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, diff --git a/src/assets/javascripts/helpers/translate/translate.js b/src/assets/javascripts/helpers/translate/translate.js index 24339ed7..525480eb 100644 --- a/src/assets/javascripts/helpers/translate/translate.js +++ b/src/assets/javascripts/helpers/translate/translate.js @@ -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, diff --git a/src/assets/javascripts/helpers/twitter.js b/src/assets/javascripts/helpers/twitter.js index 5ecd244e..a8ed2cf5 100644 --- a/src/assets/javascripts/helpers/twitter.js +++ b/src/assets/javascripts/helpers/twitter.js @@ -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; diff --git a/src/assets/javascripts/helpers/wikipedia.js b/src/assets/javascripts/helpers/wikipedia.js index 21263e33..5570045f 100644 --- a/src/assets/javascripts/helpers/wikipedia.js +++ b/src/assets/javascripts/helpers/wikipedia.js @@ -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, diff --git a/src/assets/javascripts/helpers/youtube/youtube.js b/src/assets/javascripts/helpers/youtube/youtube.js index e180996c..48b6a077 100644 --- a/src/assets/javascripts/helpers/youtube/youtube.js +++ b/src/assets/javascripts/helpers/youtube/youtube.js @@ -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; |