From 9a7c2ce3cbd0b80c241180daa8c55eff6e8ecc42 Mon Sep 17 00:00:00 2001 From: ManeraKai Date: Tue, 7 Mar 2023 17:25:43 +0300 Subject: Supported Stackexchange https://github.com/libredirect/libredirect/issues/636 --- src/assets/javascripts/services.js | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) (limited to 'src/assets/javascripts') diff --git a/src/assets/javascripts/services.js b/src/assets/javascripts/services.js index 3481273c..bedc3549 100644 --- a/src/assets/javascripts/services.js +++ b/src/assets/javascripts/services.js @@ -459,10 +459,16 @@ function redirect(url, type, initiator, forceRedirection) { } case "anonymousOverflow": { if (!url.pathname.startsWith('/questions') && url.pathname != '/') return - const threadID = /\/(\d+)\/?$/.exec(url.pathname) - if (threadID) return `${randomInstance}/questions/${threadID[1]}${url.search}` - return `${randomInstance}${url.pathname}${url.search}` - + if (url.hostname == "stackoverflow.com") { + const threadID = /\/(\d+)\/?$/.exec(url.pathname) + if (threadID) return `${randomInstance}/questions/${threadID[1]}${url.search}` + return `${randomInstance}${url.pathname}${url.search}` + } + const regex = url.href.match(/https?:\/{2}(?:([a-zA-Z0-9-]+)\.)?stackexchange\.com\//) + if (regex && regex.length > 1) { + const subdomain = regex[1] + return `${randomInstance}/exchange/${subdomain}${url.pathname}${url.search}` + } } case "biblioReads": { if (!url.pathname.startsWith('/book/show/') && url.pathname != '/') return -- cgit 1.4.1