From f454ced9490309f37199c2a47dcd8cbc7e976798 Mon Sep 17 00:00:00 2001 From: ManeraKai Date: Wed, 7 Dec 2022 10:51:43 +0300 Subject: Removed LatencyTest, AutoRedirect, Unify, DisableInstance --- src/assets/javascripts/general.js | 2 - src/assets/javascripts/services.js | 53 +--------- src/assets/javascripts/utils.js | 205 ++----------------------------------- 3 files changed, 10 insertions(+), 250 deletions(-) (limited to 'src/assets/javascripts') diff --git a/src/assets/javascripts/general.js b/src/assets/javascripts/general.js index 9e490c4a..7b8f9dac 100644 --- a/src/assets/javascripts/general.js +++ b/src/assets/javascripts/general.js @@ -32,10 +32,8 @@ async function initDefaults() { }, theme: "detect", popupServices: ["youtube", "twitter", "instagram", "tiktok", "imgur", "reddit", "quora", "translate", "maps"], - autoRedirect: false, network: "clearnet", networkFallback: true, - latencyThreshold: 1000, }, }, () => resolve() diff --git a/src/assets/javascripts/services.js b/src/assets/javascripts/services.js index a8d99075..5463bfca 100644 --- a/src/assets/javascripts/services.js +++ b/src/assets/javascripts/services.js @@ -550,50 +550,6 @@ function reverse(url, urlString) { }) } -function unifyPreferences(url, tabId) { - return new Promise(async resolve => { - await init() - const protocolHost = utils.protocolHost(url) - for (const service in config.services) { - for (const frontend in config.services[service].frontends) { - if (all(service, frontend, options, config, redirects).includes(protocolHost)) { - let instancesList = [...options[frontend][options.network].enabled, ...options[frontend][options.network].custom] - if (options.networkFallback && options.network != "clearnet") instancesList.push(...options[frontend].clearnet.enabled, ...options[frontend].clearnet.custom) - - const frontendObject = config.services[service].frontends[frontend] - if ("cookies" in frontendObject.preferences) { - for (const cookie of frontendObject.preferences.cookies) { - await utils.copyCookie(url, instancesList, cookie) - } - } - if ("localstorage" in frontendObject.preferences) { - browser.storage.local.set({ tmp: [frontend, frontendObject.preferences.localstorage] }) - browser.tabs.executeScript(tabId, { - file: "/assets/javascripts/get-localstorage.js", - runAt: "document_start", - }) - for (const instance of instancesList) - browser.tabs.create({ url: instance }, tab => - browser.tabs.executeScript(tab.id, { - file: "/assets/javascripts/set-localstorage.js", - runAt: "document_start", - }) - ) - } - /* - if ("indexeddb" in frontendObject.preferences) { - } - if ("token" in frontendObject.preferences) { - } - */ - resolve(true) - return - } - } - } - }) -} - function setRedirects(passedRedirects) { return new Promise(resolve => { fetch("/config/config.json") @@ -662,7 +618,6 @@ function initDefaults() { let targets = {} let config = JSON.parse(configData) const localstorage = {} - const latency = {} for (const service in config.services) { options[service] = {} if (config.services[service].targets == "datajson") { @@ -687,7 +642,7 @@ function initDefaults() { } } } - browser.storage.local.set({ redirects, options, targets, latency, localstorage }) + browser.storage.local.set({ redirects, options, targets, localstorage }) resolve() }) }) @@ -702,7 +657,6 @@ function upgradeOptions() { .then(configData => { browser.storage.local.get(null, r => { let options = r.options - let latency = {} const config = JSON.parse(configData) options.exceptions = r.exceptions if (r.theme != "DEFAULT") options.theme = r.theme @@ -717,7 +671,6 @@ function upgradeOptions() { options.popupServices.splice(tmp, 1) options.popupServices.push("sendFiles") } - options.autoRedirect = r.autoRedirect switch (r.onlyEmbeddedVideo) { case "onlyNotEmbedded": options.youtube.redirectType = "main_frame" @@ -747,7 +700,6 @@ function upgradeOptions() { if (r[oldService + "EmbedFrontend"] && (service != "youtube" || r[oldService + "EmbedFrontend"] == "invidious" || r[oldService + "EmbedFrontend"] == "piped")) options[service].embedFrontend = r[oldService + "EmbedFrontend"] for (const frontend in config.services[service].frontends) { - if (r[frontend + "Latency"]) latency[frontend] = r[frontend + "Latency"] for (const network in config.networks) { let protocol if (network == "clearnet") protocol = "normal" @@ -763,7 +715,7 @@ function upgradeOptions() { } } } - browser.storage.local.set({ options, latency }, () => resolve()) + browser.storage.local.set({ options }, () => resolve()) }) }) }) @@ -870,7 +822,6 @@ export default { computeService, switchInstance, reverse, - unifyPreferences, setRedirects, initDefaults, upgradeOptions, diff --git a/src/assets/javascripts/utils.js b/src/assets/javascripts/utils.js index b176967b..4dd537fc 100644 --- a/src/assets/javascripts/utils.js +++ b/src/assets/javascripts/utils.js @@ -13,7 +13,6 @@ function camelCase(str) { let cloudflareBlackList = [] let authenticateBlackList = [] -let offlineBlackList = [] async function initBlackList() { return new Promise(resolve => { fetch("/instances/blacklist.json") @@ -21,7 +20,6 @@ async function initBlackList() { .then(data => { cloudflareBlackList = JSON.parse(data).cloudflare authenticateBlackList = JSON.parse(data).authenticate - offlineBlackList = JSON.parse(data).offline resolve() }) }) @@ -60,7 +58,6 @@ function protocolHost(url) { } async function processDefaultCustomInstances(service, frontend, network, document) { - let instancesLatency let frontendNetworkElement = document.getElementById(frontend).getElementsByClassName(network)[0] let frontendCustomInstances = [] @@ -74,11 +71,10 @@ async function processDefaultCustomInstances(service, frontend, network, documen async function getFromStorage() { return new Promise(async resolve => - browser.storage.local.get(["options", "redirects", "latency"], r => { + browser.storage.local.get(["options", "redirects",], r => { frontendDefaultRedirects = r.options[frontend][network].enabled frontendCustomInstances = r.options[frontend][network].custom options = r.options - instancesLatency = r.latency[frontend] ?? [] redirects = r.redirects resolve() }) @@ -106,27 +102,17 @@ async function processDefaultCustomInstances(service, frontend, network, documen Toggle All `, - ...redirects[frontend][network].map(x => { - const cloudflare = cloudflareBlackList.includes(x) ? ' cloudflare' : "" - const authenticate = authenticateBlackList.includes(x) ? ' authenticate' : "" - const offline = offlineBlackList.includes(x) ? ' offline' : "" + ...redirects[frontend][network] + .map(x => { + const cloudflare = cloudflareBlackList.includes(x) ? ' cloudflare' : "" + const authenticate = authenticateBlackList.includes(x) ? ' authenticate' : "" - let ms = instancesLatency[x] - let latencyColor = ms == -1 ? "red" : ms <= 1000 ? "green" : ms <= 2000 ? "orange" : "red" - let latencyLimit - if (ms == 5000) latencyLimit = "5000ms+" - else if (ms > 5000) latencyLimit = `ERROR: ${ms - 5000}` - else if (ms == -1) latencyLimit = "Server not found" - else latencyLimit = ms + "ms" - - const latency = x in instancesLatency ? '' + latencyLimit + "" : "" - - let warnings = [cloudflare, authenticate, offline, latency].join(" ") - return `
+ let warnings = [cloudflare, authenticate].join(" ") + return `
${x}${warnings}
` - }), + }), ].join("\n
\n") localise.localisePage() @@ -211,133 +197,6 @@ async function processDefaultCustomInstances(service, frontend, network, documen }) } -function ping(href) { - return new Promise(async resolve => { - let average = 0 - let time - for (let i = 0; i < 3; i++) { - time = await pingOnce(href) - if (i == 0) continue - if (time >= 5000) { - resolve(time) - return - } - average += time - } - average = parseInt(average / 3) - resolve(average) - }) -} - -function pingOnce(href) { - return new Promise(async resolve => { - let started - let http = new XMLHttpRequest() - http.timeout = 5000 - http.ontimeout = () => resolve(5000) - http.onerror = () => resolve() - http.onreadystatechange = () => { - if (http.readyState == 2) { - if (http.status == 200) { - let ended = new Date().getTime() - http.abort() - resolve(ended - started) - } else { - resolve(5000 + http.status) - } - } - } - http.open("GET", `${href}?_=${new Date().getTime()}`, true) - started = new Date().getTime() - http.send(null) - }) -} - -async function testLatency(element, instances, frontend) { - return new Promise(async resolve => { - let myList = {} - let latencyThreshold, options - browser.storage.local.get(["options"], r => { - latencyThreshold = r.options.latencyThreshold - options = r.options - }) - for (const href of instances) { - await ping(href).then(time => { - let color - if (time) { - myList[href] = time - if (time <= 1000) color = "green" - else if (time <= 2000) color = "orange" - else color = "red" - - if (time > latencyThreshold && options[frontend].clearnet.enabled.includes(href)) { - options[frontend].clearnet.enabled.splice(options[frontend].clearnet.enabled.indexOf(href), 1) - } - - let text - if (time == 5000) text = "5000ms+" - else if (time > 5000) text = `ERROR: ${time - 5000}` - else text = `${time}ms` - element.innerHTML = `${href}: ${text}` - } else { - myList[href] = -1 - color = "red" - element.innerHTML = `${href}: Server not found` - if (options[frontend].clearnet.enabled.includes(href)) options[frontend].clearnet.enabled.splice(options[frontend].clearnet.enabled.indexOf(href), 1) - } - }) - } - browser.storage.local.set({ options }) - resolve(myList) - }) -} - -function copyCookie(targetUrl, urls, name) { - return new Promise(resolve => { - const query = { - url: protocolHost(targetUrl), - name: name, - } - browser.cookies.getAll(query, async cookies => { - for (const cookie of cookies) - if (cookie.name == name) { - for (const url of urls) { - const setQuery = { - url: url, - name: name, - value: cookie.value, - secure: true, - expirationDate: cookie.expirationDate, - } - browser.cookies.set(setQuery) - } - break - } - resolve() - }) - }) -} - -function getPreferencesFromToken(frontend, targetUrl, urls, name, endpoint) { - return new Promise(resolve => { - const http = new XMLHttpRequest() - const url = `${targetUrl}${endpoint}` - http.open("GET", url, false) - //http.setRequestHeader("Cookie", `${name}=${cookie.value}`) - http.send(null) - const preferences = JSON.parse(http.responseText) - let formdata = new FormData() - for (var key in preferences) formdata.append(key, preferences[key]) - for (const url of urls) { - const http = new XMLHttpRequest() - http.open("POST", `${url}/settings/stay`, false) - http.send(null) - } - resolve() - return - }) -} - function copyRaw(test, copyRawElement) { return new Promise(resolve => { browser.tabs.query({ active: true, currentWindow: true }, async tabs => { @@ -370,25 +229,6 @@ function copyRaw(test, copyRawElement) { }) } -function unify() { - return new Promise(resolve => { - browser.tabs.query({ active: true, currentWindow: true }, async tabs => { - let currTab = tabs[0] - if (currTab) { - let url - try { - url = new URL(currTab.url) - } catch { - resolve() - return - } - - resolve(await servicesHelper.unifyPreferences(url, currTab.id)) - } - }) - }) -} - function switchInstance(test) { return new Promise(resolve => { browser.tabs.query({ active: true, currentWindow: true }, async tabs => { @@ -412,41 +252,12 @@ function switchInstance(test) { }) } -function latency(service, frontend, document, location) { - let latencyElement = document.getElementById(`latency-${frontend}`) - let latencyLabel = document.getElementById(`latency-${frontend}-label`) - latencyElement.addEventListener("click", async () => { - let reloadWindow = () => location.reload() - latencyElement.addEventListener("click", reloadWindow) - browser.storage.local.get("redirects", r => { - let redirects = r.redirects - const oldHtml = latencyLabel.innerHTML - latencyLabel.innerHTML = "..." - testLatency(latencyLabel, redirects[frontend].clearnet, frontend).then(r => { - const frontendLatency = r - browser.storage.local.get("latency", r => { - let latency = r.latency - latency[frontend] = frontendLatency - browser.storage.local.set({ latency }) - latencyLabel.innerHTML = oldHtml - processDefaultCustomInstances(service, frontend, "clearnet", document) - latencyElement.removeEventListener("click", reloadWindow) - }) - }) - }) - }) -} - export default { getRandomInstance, updateInstances, protocolHost, processDefaultCustomInstances, - latency, - copyCookie, - getPreferencesFromToken, switchInstance, copyRaw, - unify, camelCase, } -- cgit 1.4.1 From decc32e7e6fc729e2aec7adc46949b0f63bc3a04 Mon Sep 17 00:00:00 2001 From: ManeraKai Date: Wed, 7 Dec 2022 10:52:08 +0300 Subject: Sorted the instances out https://github.com/libredirect/libredirect/issues/537 --- src/assets/javascripts/utils.js | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'src/assets/javascripts') diff --git a/src/assets/javascripts/utils.js b/src/assets/javascripts/utils.js index 4dd537fc..2b69e9a6 100644 --- a/src/assets/javascripts/utils.js +++ b/src/assets/javascripts/utils.js @@ -103,6 +103,11 @@ async function processDefaultCustomInstances(service, frontend, network, documen
`, ...redirects[frontend][network] + .sort((a, b) => + (cloudflareBlackList.includes(a) && !cloudflareBlackList.includes(b)) + || + (authenticateBlackList.includes(a) && !authenticateBlackList.includes(b)) + ) .map(x => { const cloudflare = cloudflareBlackList.includes(x) ? ' cloudflare' : "" const authenticate = authenticateBlackList.includes(x) ? ' authenticate' : "" -- cgit 1.4.1 From e7f3b7d1c1c1c09b119e3de6796f0bfb39b3e1ae Mon Sep 17 00:00:00 2001 From: ManeraKai Date: Thu, 8 Dec 2022 11:59:06 +0300 Subject: Keeping the other url parameters in Search redirections https://github.com/libredirect/libredirect/issues/523 --- src/assets/javascripts/services.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src/assets/javascripts') diff --git a/src/assets/javascripts/services.js b/src/assets/javascripts/services.js index 5463bfca..0f92d93c 100644 --- a/src/assets/javascripts/services.js +++ b/src/assets/javascripts/services.js @@ -138,11 +138,11 @@ function redirect(url, type, initiator, forceRedirection) { else return `${randomInstance}${url.pathname}/` case "searx": case "searxng": - return `${randomInstance}/?q=${encodeURIComponent(url.searchParams.get("q"))}` + return `${randomInstance}/${url.search}` case "whoogle": - return `${randomInstance}/search?q=${encodeURIComponent(url.searchParams.get("q"))}` + return `${randomInstance}/search${url.search}` case "librex": - return `${randomInstance}/search.php?q=${encodeURIComponent(url.searchParams.get("q"))}` + return `${randomInstance}/search.php${url.search}` case "send": return randomInstance case "nitter": -- cgit 1.4.1 From ee4ee90e1aa8418926cdafbf951624b0e8a53799 Mon Sep 17 00:00:00 2001 From: ManeraKai Date: Thu, 8 Dec 2022 12:47:07 +0300 Subject: Fixed PeerTube redirections https://github.com/libredirect/libredirect/issues/545 --- src/assets/javascripts/services.js | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'src/assets/javascripts') diff --git a/src/assets/javascripts/services.js b/src/assets/javascripts/services.js index 0f92d93c..c59e4344 100644 --- a/src/assets/javascripts/services.js +++ b/src/assets/javascripts/services.js @@ -47,7 +47,9 @@ function all(service, frontend, options, config, redirects) { function regexArray(service, url, config, frontend) { if (config.services[service].targets == "datajson") { - if (targets[service].startsWith(utils.protocolHost(url))) return true + for (const instance of targets[service]) { + if (instance.startsWith(utils.protocolHost(url))) return true + } } else { const targetList = config.services[service].targets if (frontend && config.services[service].frontends[frontend].excludeTargets) @@ -443,8 +445,10 @@ function redirect(url, type, initiator, forceRedirection) { else return `${randomInstance}${url.pathname}${url.search}&teddit_proxy=${url.hostname}` } return `${randomInstance}${url.pathname}${url.search}` + case "simpleertube": + return `${randomInstance}/${url.hostname}${url.pathname}${url.search}` default: - return `${randomInstance}${url.pathname}${url.search}` + return `${randomInstance}${url.pathname}${url.search} ` } } @@ -506,7 +510,7 @@ function switchInstance(url) { return } const randomInstance = utils.getRandomInstance(instancesList) - const oldUrl = `${oldInstance}${url.pathname}${url.search}` + const oldUrl = `${oldInstance}${url.pathname}${url.search} ` // This is to make instance switching work when the instance depends on the pathname, eg https://darmarit.org/searx // Doesn't work because of .includes array method, not a top priotiry atm resolve(oldUrl.replace(oldInstance, randomInstance)) -- cgit 1.4.1 From 2a738e883c5c48207a1f9e737feb3ce53fdd969b Mon Sep 17 00:00:00 2001 From: ManeraKai Date: Thu, 8 Dec 2022 20:59:52 +0300 Subject: Added Url Parameters support for Invidious, Piped https://github.com/libredirect/libredirect/issues/491 --- src/assets/javascripts/services.js | 9 +++++++-- src/assets/javascripts/utils.js | 2 +- 2 files changed, 8 insertions(+), 3 deletions(-) (limited to 'src/assets/javascripts') diff --git a/src/assets/javascripts/services.js b/src/assets/javascripts/services.js index c59e4344..0b418f91 100644 --- a/src/assets/javascripts/services.js +++ b/src/assets/javascripts/services.js @@ -97,6 +97,9 @@ function redirect(url, type, initiator, forceRedirection) { break } if (!frontend || !randomInstance) return + let randomInstanceURL = new URL(randomInstance); + let allParams = randomInstanceURL.searchParams + url.searchParams.forEach((value, key) => allParams.append(key, value)) // Here is a (temperory) space for defining constants required in 2 or more switch cases. // When possible, try have the two switch cases share all their code as done with searx and searxng. @@ -116,7 +119,6 @@ function redirect(url, type, initiator, forceRedirection) { } return [zoom, lon, lat] } - console.log(frontend) switch (frontend) { // This is where all instance-specific code must be ran to convert the service url to one that can be understood by the frontend. case "beatbump": @@ -447,8 +449,11 @@ function redirect(url, type, initiator, forceRedirection) { return `${randomInstance}${url.pathname}${url.search}` case "simpleertube": return `${randomInstance}/${url.hostname}${url.pathname}${url.search}` + case "invidious": + case "piped": + return `${utils.protocolHost(randomInstanceURL)}${url.pathname}?${allParams.toString()}` default: - return `${randomInstance}${url.pathname}${url.search} ` + return `${randomInstance}${url.pathname}${url.search}` } } diff --git a/src/assets/javascripts/utils.js b/src/assets/javascripts/utils.js index 2b69e9a6..dce7f349 100644 --- a/src/assets/javascripts/utils.js +++ b/src/assets/javascripts/utils.js @@ -188,7 +188,7 @@ async function processDefaultCustomInstances(service, frontend, network, documen event.preventDefault() let frontendCustomInstanceInput = frontendNetworkElement.getElementsByClassName("custom-instance")[0] let url = new URL(frontendCustomInstanceInput.value) - let protocolHostVar = protocolHost(url) + let protocolHostVar = url.href if (frontendCustomInstanceInput.validity.valid && !redirects[frontend][network].includes(protocolHostVar)) { if (!frontendCustomInstances.includes(protocolHostVar)) { frontendCustomInstances.push(protocolHostVar) -- cgit 1.4.1 From ad4c00e663d8451557a4b77520c97b656fb23439 Mon Sep 17 00:00:00 2001 From: ManeraKai Date: Sat, 10 Dec 2022 10:48:21 +0300 Subject: Revert "Added Url Parameters support for Invidious, Piped https://github.com/libredirect/libredirect/issues/491" This reverts commit 2a738e883c5c48207a1f9e737feb3ce53fdd969b. --- src/assets/javascripts/services.js | 9 ++------- src/assets/javascripts/utils.js | 2 +- 2 files changed, 3 insertions(+), 8 deletions(-) (limited to 'src/assets/javascripts') diff --git a/src/assets/javascripts/services.js b/src/assets/javascripts/services.js index 0b418f91..c59e4344 100644 --- a/src/assets/javascripts/services.js +++ b/src/assets/javascripts/services.js @@ -97,9 +97,6 @@ function redirect(url, type, initiator, forceRedirection) { break } if (!frontend || !randomInstance) return - let randomInstanceURL = new URL(randomInstance); - let allParams = randomInstanceURL.searchParams - url.searchParams.forEach((value, key) => allParams.append(key, value)) // Here is a (temperory) space for defining constants required in 2 or more switch cases. // When possible, try have the two switch cases share all their code as done with searx and searxng. @@ -119,6 +116,7 @@ function redirect(url, type, initiator, forceRedirection) { } return [zoom, lon, lat] } + console.log(frontend) switch (frontend) { // This is where all instance-specific code must be ran to convert the service url to one that can be understood by the frontend. case "beatbump": @@ -449,11 +447,8 @@ function redirect(url, type, initiator, forceRedirection) { return `${randomInstance}${url.pathname}${url.search}` case "simpleertube": return `${randomInstance}/${url.hostname}${url.pathname}${url.search}` - case "invidious": - case "piped": - return `${utils.protocolHost(randomInstanceURL)}${url.pathname}?${allParams.toString()}` default: - return `${randomInstance}${url.pathname}${url.search}` + return `${randomInstance}${url.pathname}${url.search} ` } } diff --git a/src/assets/javascripts/utils.js b/src/assets/javascripts/utils.js index dce7f349..2b69e9a6 100644 --- a/src/assets/javascripts/utils.js +++ b/src/assets/javascripts/utils.js @@ -188,7 +188,7 @@ async function processDefaultCustomInstances(service, frontend, network, documen event.preventDefault() let frontendCustomInstanceInput = frontendNetworkElement.getElementsByClassName("custom-instance")[0] let url = new URL(frontendCustomInstanceInput.value) - let protocolHostVar = url.href + let protocolHostVar = protocolHost(url) if (frontendCustomInstanceInput.validity.valid && !redirects[frontend][network].includes(protocolHostVar)) { if (!frontendCustomInstances.includes(protocolHostVar)) { frontendCustomInstances.push(protocolHostVar) -- cgit 1.4.1 From c19491edc01b9e7cd009bc8f63bf8b1dcd95605e Mon Sep 17 00:00:00 2001 From: ManeraKai Date: Sat, 10 Dec 2022 11:59:28 +0300 Subject: Added partial BreezWiki Copy Raw support https://github.com/libredirect/libredirect/issues/513 --- src/assets/javascripts/services.js | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'src/assets/javascripts') diff --git a/src/assets/javascripts/services.js b/src/assets/javascripts/services.js index c59e4344..8bba127c 100644 --- a/src/assets/javascripts/services.js +++ b/src/assets/javascripts/services.js @@ -413,7 +413,7 @@ function redirect(url, type, initiator, forceRedirection) { if (url.hostname.match(/^[a-zA-Z0-9-]+\.fandom\.com/)) { wiki = url.hostname.match(/^[a-zA-Z0-9-]+(?=\.fandom\.com)/) if (wiki == "www" || !wiki) wiki = "" - else wiki = "/" + wiki + else wiki = `/${wiki}`; urlpath = url.pathname } else { wiki = url.pathname.match(/(?<=wiki\/w:c:)[a-zA-Z0-9-]+(?=:)/) @@ -545,6 +545,14 @@ function reverse(url, urlString) { if (!urlString) resolve(config.services[service].url + url.pathname + url.search) else resolve(url.replace(/https?:\/{2}(?:[^\s\/]+\.)+[a-zA-Z0-9]+/, config.services[service].url)) return + case "fandom": + let regex = url.pathname.match(/^\/([a-zA-Z0-9-]+)\/wiki\/([a-zA-Z0-9-]+)/) + if (regex) { + resolve(`https://${regex[1]}.fandom.com/wiki/${regex[2]}`) + return + } + resolve() + return default: resolve() return -- cgit 1.4.1 From 0d0ea9d2a4199e905432bc435fbf4373702a3d53 Mon Sep 17 00:00:00 2001 From: ManeraKai Date: Sat, 10 Dec 2022 12:06:28 +0300 Subject: Fixed Isntagram reels not redirecting https://github.com/libredirect/libredirect/issues/559 --- src/assets/javascripts/services.js | 3 ++- src/config/config.json | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) (limited to 'src/assets/javascripts') diff --git a/src/assets/javascripts/services.js b/src/assets/javascripts/services.js index 8bba127c..01523d52 100644 --- a/src/assets/javascripts/services.js +++ b/src/assets/javascripts/services.js @@ -130,7 +130,8 @@ function redirect(url, type, initiator, forceRedirection) { case "bibliogram": const reservedPaths = ["u", "p", "privacy"] if (url.pathname === "/" || reservedPaths.includes(url.pathname.split("/")[1])) return `${randomInstance}${url.pathname}${url.search}` - if (url.pathname.startsWith("/reel") || url.pathname.startsWith("/tv")) return `${randomInstance}/p${url.pathname.replace(/\/reel|\/tv/i, "")}${url.search}` + if (url.pathname.startsWith("/reel")) return `${randomInstance}${url.pathname}` + if (url.pathname.startsWith("/tv")) return `${randomInstance}/p${url.pathname.replace(/\/tv/i, "")}${url.search}` else return `${randomInstance}/u${url.pathname}${url.search}` // Likely a user profile, redirect to '/u/...' case "lbryDesktop": return url.href.replace(/^https?:\/{2}odysee\.com\//, "lbry://").replace(/:(?=[a-zA-Z0-9])/g, "#") diff --git a/src/config/config.json b/src/config/config.json index a7d2014c..cb0ed503 100644 --- a/src/config/config.json +++ b/src/config/config.json @@ -140,7 +140,7 @@ } }, "targets": [ - "^https?:\\/{2}(www\\.)?instagram\\.com\\/?(p\\/|$)" + "^https?:\\/{2}(www\\.)?instagram\\.com\\/?(p\\/|reel\\/|$)" ], "name": "Instagram", "options": { -- cgit 1.4.1 From d17377e6a54ca4490c14d6ad2b617fd9311f2efb Mon Sep 17 00:00:00 2001 From: ManeraKai Date: Sat, 10 Dec 2022 12:44:40 +0300 Subject: Reverting back to Github + other stuff. Correcting http => https https://github.com/libredirect/libredirect/pull/482 --- src/assets/javascripts/utils.js | 2 +- src/pages/options/widgets/about.ejs | 8 ++++---- src/pages/options/widgets/general.js | 2 +- src/pages/popup/popup.ejs | 6 ------ 4 files changed, 6 insertions(+), 12 deletions(-) (limited to 'src/assets/javascripts') diff --git a/src/assets/javascripts/utils.js b/src/assets/javascripts/utils.js index 2b69e9a6..b38277ad 100644 --- a/src/assets/javascripts/utils.js +++ b/src/assets/javascripts/utils.js @@ -159,7 +159,7 @@ async function processDefaultCustomInstances(service, frontend, network, documen x => `
${x} diff --git a/src/pages/options/widgets/about.ejs b/src/pages/options/widgets/about.ejs index a90e8b9e..c6f8a58f 100644 --- a/src/pages/options/widgets/about.ejs +++ b/src/pages/options/widgets/about.ejs @@ -10,22 +10,22 @@
diff --git a/src/pages/options/widgets/general.js b/src/pages/options/widgets/general.js index a8eb11fb..a73ac85e 100644 --- a/src/pages/options/widgets/general.js +++ b/src/pages/options/widgets/general.js @@ -168,7 +168,7 @@ browser.storage.local.get("options", r => { x => `
${x}
-
-- cgit 1.4.1