diff options
author | ManeraKai <manerakai@protonmail.com> | 2022-02-26 01:31:48 +0300 |
---|---|---|
committer | ManeraKai <manerakai@protonmail.com> | 2022-02-26 01:31:48 +0300 |
commit | 41e145bf7a63fc0a181370005f780d5e85f72e83 (patch) | |
tree | 05749311c1a8c7fa256dd5d2114776c7f706009b /src/assets | |
parent | Added youtube embed exceptions #46 (diff) | |
download | libredirect-41e145bf7a63fc0a181370005f780d5e85f72e83.zip |
Made auto changing instances manual #59
Diffstat (limited to 'src/assets')
-rw-r--r-- | src/assets/javascripts/helpers/imgur.js | 27 | ||||
-rw-r--r-- | src/assets/javascripts/helpers/instagram.js | 27 | ||||
-rw-r--r-- | src/assets/javascripts/helpers/medium.js | 28 | ||||
-rw-r--r-- | src/assets/javascripts/helpers/reddit.js | 65 | ||||
-rw-r--r-- | src/assets/javascripts/helpers/search.js | 44 | ||||
-rw-r--r-- | src/assets/javascripts/helpers/translate.js | 41 | ||||
-rw-r--r-- | src/assets/javascripts/helpers/twitter.js | 27 | ||||
-rw-r--r-- | src/assets/javascripts/helpers/wikipedia.js | 27 | ||||
-rw-r--r-- | src/assets/javascripts/helpers/youtube/youtube.js | 20 |
9 files changed, 289 insertions, 17 deletions
diff --git a/src/assets/javascripts/helpers/imgur.js b/src/assets/javascripts/helpers/imgur.js index 560c396d..927ce4a7 100644 --- a/src/assets/javascripts/helpers/imgur.js +++ b/src/assets/javascripts/helpers/imgur.js @@ -118,6 +118,32 @@ function redirect(url, type) { return `${randomInstance}${url.pathname}${url.search}`; } +function changeInstance(url) { + let protocolHost = `${url.protocol}//${url.host}`; + + let imgurList = [ + ...redirects.rimgo.normal, + ...redirects.rimgo.tor, + + ...rimgoNormalCustomRedirects, + ...rimgoTorCustomRedirects, + ]; + if (!imgurList.includes(protocolHost)) return null; + + let instancesList; + if (protocol == 'normal') instancesList = [...rimgoNormalCustomRedirects, ...rimgoNormalRedirectsChecks]; + else if (protocol == 'tor') instancesList = [...rimgoTorCustomRedirects, ...rimgoTorRedirectsChecks]; + + console.log("instancesList", instancesList); + let index = instancesList.indexOf(protocolHost); + if (index > -1) instancesList.splice(index, 1); + + if (instancesList.length === 0) return null; + + let randomInstance = commonHelper.getRandomInstance(instancesList); + return randomInstance; +} + async function init() { return new Promise((resolve) => { fetch('/instances/data.json').then(response => response.text()).then(data => { @@ -179,4 +205,5 @@ export default { redirect, isImgur, init, + changeInstance, }; diff --git a/src/assets/javascripts/helpers/instagram.js b/src/assets/javascripts/helpers/instagram.js index 9aeeebc0..410d6377 100644 --- a/src/assets/javascripts/helpers/instagram.js +++ b/src/assets/javascripts/helpers/instagram.js @@ -135,6 +135,32 @@ function redirect(url, type) { return `${randomInstance}/u${url.pathname}${url.search}`; // Likely a user profile, redirect to '/u/...' } +function changeInstance(url) { + let protocolHost = `${url.protocol}//${url.host}`; + + let instagramList = [ + ...redirects.bibliogram.normal, + ...redirects.bibliogram.tor, + ...bibliogramNormalCustomRedirects, + ...bibliogramTorCustomRedirects, + ]; + + if (!instagramList.includes(protocolHost)) return null; + + let instancesList; + if (protocol == 'normal') instancesList = [...bibliogramNormalCustomRedirects, ...bibliogramNormalRedirectsChecks]; + else if (protocol == 'tor') instancesList = [...bibliogramTorCustomRedirects, ...bibliogramTorRedirectsChecks]; + + console.log("instancesList", instancesList); + let index = instancesList.indexOf(protocolHost); + if (index > -1) instancesList.splice(index, 1); + + if (instancesList.length === 0) return null; + + let randomInstance = commonHelper.getRandomInstance(instancesList); + return randomInstance; +} + async function init() { return new Promise((resolve) => { @@ -199,4 +225,5 @@ export default { redirect, init, + changeInstance, }; diff --git a/src/assets/javascripts/helpers/medium.js b/src/assets/javascripts/helpers/medium.js index 7bd5aa68..0c0455c0 100644 --- a/src/assets/javascripts/helpers/medium.js +++ b/src/assets/javascripts/helpers/medium.js @@ -128,6 +128,33 @@ function redirect(url, type) { return `${randomInstance}${url.pathname}${url.search}`; } +function changeInstance(url) { + let protocolHost = `${url.protocol}//${url.host}`; + + let mediumList = [ + ...redirects.scribe.tor, + ...redirects.scribe.normal, + + ...scribeNormalCustomRedirects, + ...scribeTorCustomRedirects, + ]; + + if (!mediumList.includes(protocolHost)) return null; + + let instancesList; + if (protocol == 'normal') instancesList = [...scribeNormalCustomRedirects, ...scribeNormalRedirectsChecks]; + else if (protocol == 'tor') instancesList = [...scribeTorCustomRedirects, ...scribeTorRedirectsChecks]; + + console.log("instancesList", instancesList); + let index = instancesList.indexOf(protocolHost); + if (index > -1) instancesList.splice(index, 1); + + if (instancesList.length === 0) return null; + + let randomInstance = commonHelper.getRandomInstance(instancesList); + return randomInstance; +} + async function init() { return new Promise((resolve) => { fetch('/instances/data.json').then(response => response.text()).then(data => { @@ -189,4 +216,5 @@ export default { redirect, isMedium, init, + changeInstance, }; diff --git a/src/assets/javascripts/helpers/reddit.js b/src/assets/javascripts/helpers/reddit.js index 382f15cc..26350ef7 100644 --- a/src/assets/javascripts/helpers/reddit.js +++ b/src/assets/javascripts/helpers/reddit.js @@ -169,11 +169,11 @@ function setDisableReddit(val) { browser.storage.local.set({ disableReddit }) } -let redditFrontend; -const getRedditFrontend = () => redditFrontend; -function setRedditFrontend(val) { - redditFrontend = val; - browser.storage.local.set({ redditFrontend }) +let frontend; +const getFrontend = () => frontend; +function setFrontend(val) { + frontend = val; + browser.storage.local.set({ redditFrontend: frontend }) }; let protocol; @@ -184,7 +184,6 @@ function setProtocol(val) { console.log("redditProtocol: ", val) } - function isReddit(url, initiator) { if ( initiator && @@ -223,12 +222,12 @@ function redirect(url, type) { return `${libredditRandomInstance}/img${url.pathname}${url.search}`; } else if (url.host === "redd.it") { - if (redditFrontend == 'libreddit') { + if (frontend == 'libreddit') { if (libredditInstancesList.length === 0) return null; let libredditRandomInstance = commonHelper.getRandomInstance(libredditInstancesList); return `${libredditRandomInstance}${url.pathname}${url.search}`; } - if (redditFrontend == 'teddit' && !url.pathname.match(/^\/+[^\/]+\/+[^\/]/)) { + if (frontend == 'teddit' && !url.pathname.match(/^\/+[^\/]+\/+[^\/]/)) { if (tedditInstancesList.length === 0) return null; let tedditRandomInstance = commonHelper.getRandomInstance(tedditInstancesList); // As of 2021-04-22, redirects for teddit redd.it/foo links don't work. @@ -241,18 +240,57 @@ function redirect(url, type) { return `${tedditRandomInstance}/comments${url.pathname}${url.search}`; } } - if (redditFrontend == 'libreddit') { + if (frontend == 'libreddit') { if (libredditInstancesList.length === 0) return null; let libredditRandomInstance = commonHelper.getRandomInstance(libredditInstancesList); return `${libredditRandomInstance}${url.pathname}${url.search}`; } - if (redditFrontend == 'teddit') { + if (frontend == 'teddit') { if (tedditInstancesList.length === 0) return null; let tedditRandomInstance = commonHelper.getRandomInstance(tedditInstancesList); return `${tedditRandomInstance}${url.pathname}${url.search}`; } } +function changeInstance(url) { + let protocolHost = `${url.protocol}//${url.host}`; + + let redditList = [ + ...redirects.libreddit.normal, + ...redirects.libreddit.tor, + + ...libredditNormalCustomRedirects, + ...libredditTorCustomRedirects, + + ...redirects.teddit.normal, + ...redirects.teddit.tor, + + ...tedditNormalCustomRedirects, + ...tedditTorCustomRedirects, + ] + + if (!redditList.includes(protocolHost)) return null; + + let instancesList; + if (frontend == 'libreddit') { + if (protocol == 'normal') instancesList = [...libredditNormalRedirectsChecks, ...libredditNormalCustomRedirects]; + else if (protocol == 'tor') instancesList = [...libredditTorRedirectsChecks, ...libredditTorCustomRedirects]; + } + else if (frontend == 'teddit') { + if (protocol == 'normal') instancesList = [...tedditNormalRedirectsChecks, ...tedditNormalCustomRedirects]; + else if (protocol == 'tor') instancesList = [...tedditTorRedirectsChecks, ...tedditTorCustomRedirects]; + } + + console.log("instancesList", instancesList); + let index = instancesList.indexOf(protocolHost); + if (index > -1) instancesList.splice(index, 1); + + if (instancesList.length === 0) return null; + + let randomInstance = commonHelper.getRandomInstance(instancesList); + return randomInstance; +} + async function init() { return new Promise((resolve) => { fetch('/instances/data.json').then(response => response.text()).then(data => { @@ -277,7 +315,7 @@ async function init() { ], (result) => { disableReddit = result.disableReddit ?? false; protocol = result.redditProtocol ?? 'normal'; - redditFrontend = result.redditFrontend ?? 'libreddit'; + frontend = result.redditFrontend ?? 'libreddit'; redirects.teddit = dataJson.teddit; if (result.redditRedirects) redirects = result.redditRedirects; @@ -313,8 +351,8 @@ export default { getDisableReddit, setDisableReddit, - getRedditFrontend, - setRedditFrontend, + getFrontend, + setFrontend, getProtocol, setProtocol, @@ -342,4 +380,5 @@ export default { redirect, isReddit, init, + changeInstance, }; diff --git a/src/assets/javascripts/helpers/search.js b/src/assets/javascripts/helpers/search.js index 789f7d97..efbc10d3 100644 --- a/src/assets/javascripts/helpers/search.js +++ b/src/assets/javascripts/helpers/search.js @@ -186,6 +186,45 @@ function redirect(url) { return `${randomInstance}${path}?${searchQuery}`; } +function changeInstance(url) { + let protocolHost = `${url.protocol}//${url.host}`; + + let searchList = [ + ...redirects.searx.normal, + ...redirects.searx.tor, + + ...searxNormalCustomRedirects, + ...searxTorCustomRedirects, + + ...redirects.whoogle.normal, + ...redirects.whoogle.tor, + + ...whoogleNormalCustomRedirects, + ...whoogleTorCustomRedirects, + ] + + if (!searchList.includes(protocolHost)) return null; + + let instancesList; + if (frontend == 'searx') { + if (protocol == 'normal') instancesList = [...searxNormalRedirectsChecks, ...searxNormalCustomRedirects]; + else if (protocol == 'tor') instancesList = [...searxTorRedirectsChecks, ...searxTorCustomRedirects]; + } + else if (frontend == 'whoogle') { + if (protocol == 'normal') instancesList = [...whoogleNormalRedirectsChecks, ...whoogleNormalCustomRedirects]; + else if (protocol == 'tor') instancesList = [...whoogleTorRedirectsChecks, ...whoogleTorCustomRedirects]; + } + + console.log("instancesList", instancesList); + let index = instancesList.indexOf(protocolHost); + if (index > -1) instancesList.splice(index, 1); + + if (instancesList.length === 0) return null; + + let randomInstance = commonHelper.getRandomInstance(instancesList); + return randomInstance; +} + async function init() { return new Promise((resolve) => { fetch('/instances/data.json').then(response => response.text()).then(data => { @@ -198,13 +237,13 @@ async function init() { "whoogleNormalRedirectsChecks", "whoogleNormalCustomRedirects", - + "whoogleTorRedirectsChecks", "whoogleTorCustomRedirects", "searxNormalRedirectsChecks", "searxNormalCustomRedirects", - + "searxTorRedirectsChecks", "searxTorCustomRedirects", @@ -279,4 +318,5 @@ export default { redirect, init, + changeInstance, }; diff --git a/src/assets/javascripts/helpers/translate.js b/src/assets/javascripts/helpers/translate.js index 72ba8a58..1f92bb78 100644 --- a/src/assets/javascripts/helpers/translate.js +++ b/src/assets/javascripts/helpers/translate.js @@ -220,6 +220,46 @@ function redirect(url) { } } +function changeInstance(url) { + let protocolHost = `${url.protocol}//${url.host}`; + + let translateList = [ + ...redirects.simplyTranslate.normal, + ...redirects.simplyTranslate.tor, + + ...simplyTranslateNormalCustomRedirects, + ...simplyTranslateTorCustomRedirects, + + ...redirects.lingva.normal, + ...redirects.lingva.tor, + + ...lingvaNormalCustomRedirects, + ...lingvaTorCustomRedirects, + ] + + if (!translateList.includes(protocolHost)) return null; + + let instancesList; + if (frontend == 'simplyTranslate') { + if (protocol == 'normal') instancesList = [...simplyTranslateNormalRedirectsChecks, ...simplyTranslateNormalCustomRedirects]; + else if (protocol == 'tor') instancesList = [...simplyTranslateTorRedirectsChecks, ...simplyTranslateTorCustomRedirects]; + } + else if (frontend == 'lingva') { + if (protocol == 'normal') instancesList = [...lingvaNormalRedirectsChecks, ...lingvaNormalCustomRedirects]; + else if (protocol == 'tor') instancesList = [...lingvaTorRedirectsChecks, ...lingvaTorCustomRedirects]; + } + + console.log("instancesList", instancesList); + let index = instancesList.indexOf(protocolHost); + if (index > -1) instancesList.splice(index, 1); + + if (instancesList.length === 0) return null; + + let randomInstance = commonHelper.getRandomInstance(instancesList); + return randomInstance; + +} + async function init() { return new Promise((resolve) => { fetch('/instances/data.json').then(response => response.text()).then(data => { @@ -318,4 +358,5 @@ export default { redirect, init, + changeInstance, }; diff --git a/src/assets/javascripts/helpers/twitter.js b/src/assets/javascripts/helpers/twitter.js index 3757edc4..4465aba4 100644 --- a/src/assets/javascripts/helpers/twitter.js +++ b/src/assets/javascripts/helpers/twitter.js @@ -132,6 +132,32 @@ function redirect(url) { return `${randomInstance}${url.pathname}${url.search}`; } +function changeInstance(url) { + let protocolHost = `${url.protocol}//${url.host}`; + + let twitterList = [ + ...redirects.nitter.normal, + ...redirects.nitter.tor, + ...nitterNormalCustomRedirects, + ...nitterTorCustomRedirects, + ]; + + if (!twitterList.includes(protocolHost)) return null; + + let instancesList; + if (protocol == 'normal') instancesList = [...nitterNormalRedirectsChecks, ...nitterNormalCustomRedirects]; + else if (protocol == 'tor') instancesList = [...nitterTorRedirectsChecks, ...nitterTorCustomRedirects]; + + console.log("instancesList", instancesList); + let index = instancesList.indexOf(protocolHost); + if (index > -1) instancesList.splice(index, 1); + + if (instancesList.length === 0) return null; + + let randomInstance = commonHelper.getRandomInstance(instancesList); + return randomInstance; +} + async function init() { return new Promise((resolve) => { fetch('/instances/data.json').then(response => response.text()).then(data => { @@ -193,4 +219,5 @@ export default { redirect, isTwitter, init, + changeInstance, }; diff --git a/src/assets/javascripts/helpers/wikipedia.js b/src/assets/javascripts/helpers/wikipedia.js index 02110639..402b3009 100644 --- a/src/assets/javascripts/helpers/wikipedia.js +++ b/src/assets/javascripts/helpers/wikipedia.js @@ -134,6 +134,32 @@ function redirect(url) { } +function changeInstance(url) { + let protocolHost = `${url.protocol}//${url.host}`; + + let wikipediaList = [ + ...redirects.wikiless.normal, + ...redirects.wikiless.tor, + + ...wikilessNormalCustomRedirects, + ...wikilessTorCustomRedirects, + ] + if (!wikipediaList.includes(protocolHost)) return null; + + let instancesList; + if (protocol == 'normal') instancesList = [...wikilessNormalCustomRedirects, ...wikilessNormalRedirectsChecks]; + else if (protocol == 'tor') instancesList = [...wikilessTorCustomRedirects, ...wikilessTorRedirectsChecks]; + + console.log("instancesList", instancesList); + let index = instancesList.indexOf(protocolHost); + if (index > -1) instancesList.splice(index, 1); + + if (instancesList.length === 0) return null; + + let randomInstance = commonHelper.getRandomInstance(instancesList); + return randomInstance; +} + async function init() { return new Promise((resolve) => { fetch('/instances/data.json').then(response => response.text()).then(data => { @@ -193,4 +219,5 @@ export default { redirect, isWikipedia, init, + changeInstance, }; diff --git a/src/assets/javascripts/helpers/youtube/youtube.js b/src/assets/javascripts/helpers/youtube/youtube.js index 55f18555..f17b4626 100644 --- a/src/assets/javascripts/helpers/youtube/youtube.js +++ b/src/assets/javascripts/helpers/youtube/youtube.js @@ -383,6 +383,23 @@ function redirect(url, type, details) { function changeInstance(url) { let protocolHost = `${url.protocol}//${url.host}`; + + if ( + protocol == 'normal' && + ![ + ...redirects.invidious.normal, + ...redirects.piped.normal, + ...invidiousNormalCustomRedirects, + ...pipedNormalCustomRedirects + ].includes(protocolHost) + ) return null; + if (protocol == 'tor' && ![ + ...redirects.invidious.tor, + ...redirects.piped.tor, + ...invidiousTorCustomRedirects, + ...pipedTorCustomRedirects + ].includes(protocolHost)) return null; + let instancesList; if (frontend == 'invidious') { if (protocol == 'normal') instancesList = [...invidiousNormalRedirectsChecks, ...invidiousNormalCustomRedirects]; @@ -399,7 +416,7 @@ function changeInstance(url) { if (instancesList.length === 0) return null; let randomInstance = commonHelper.getRandomInstance(instancesList); - return `${randomInstance}${url.pathname}${url.search}`; + return randomInstance; } function isPipedorInvidious(url, type) { @@ -527,7 +544,6 @@ function invidiousInitCookies(tabId) { ); } - async function init() { return new Promise((resolve) => { fetch('/instances/data.json').then(response => response.text()).then(data => { |