diff --git a/src/assets/javascripts/services.js b/src/assets/javascripts/services.js index 40c4cd0..cdc0f69 100644 --- a/src/assets/javascripts/services.js +++ b/src/assets/javascripts/services.js @@ -435,6 +435,13 @@ function redirect(url, type, initiator, forceRedirection) { if (url.pathname.endsWith('-lyrics')) { return `${randomInstance}${url.pathname}` } + return `${randomInstance}${url.pathname}${url.search}` + } + case "intellectual": { + if (url.pathname.endsWith('-lyrics')) { + return `${randomInstance}/lyrics?path=${encodeURIComponent(url.pathname)}` + } + return `${randomInstance}${url.pathname}${url.search}` } case "ruralDictionary": { if (!url.pathname.includes('/define.php') && !url.pathname.includes('/random.php') && url.pathname != '/') return randomInstance @@ -472,12 +479,18 @@ function redirect(url, type, initiator, forceRedirection) { return `${randomInstance}${url.pathname}${url.search}` } case "waybackClassic": { - const regex = /^\/\web\/[0-9]+\*\/(.*)/.exec(url.pathname) + const regex = /^\/\web\/(?:[0-9]+)?\*\/(.*)/.exec(url.pathname) if (regex) { const link = regex[1] return `${randomInstance}/cgi-bin/history.cgi?utf8=✓&q=${encodeURIComponent(link)}` } - return `${randomInstance}` + const regex2 = /(^\/\web\/([0-9]+)\/.*)/.exec(url.pathname) + if (regex2) { + let link = regex2[1] + link = link.replace(regex2[2], regex2[2] + 'if_') + return `https://web.archive.org${link}` + } + return } case "gothub": { const regex = /^\/(.*)\/(.*)\/(?:blob|tree)\/(.*)\/(.*)/.exec(url.pathname) @@ -707,6 +720,7 @@ const defaultInstances = { 'breezeWiki': ['https://breezewiki.com'], 'neuters': ['https://neuters.de'], 'dumb': ['https://dm.vern.cc'], + "intellectual": ['https://intellectual.insprill.net'], 'ruralDictionary': ['https://rd.vern.cc'], 'anonymousOverflow': ['https://code.whatever.social'], 'biblioReads': ['https://biblioreads.ml'], diff --git a/src/config.json b/src/config.json index eac1a1f..614f696 100644 --- a/src/config.json +++ b/src/config.json @@ -618,6 +618,12 @@ "instanceList": true, "url": "https://github.com/rramiachraf/dumb", "localhost": true + }, + "intellectual": { + "name": "Intellectual", + "instanceList": true, + "url": "https://github.com/Insprill/intellectual", + "localhost": false } }, "targets": [