diff --git a/background.js b/background.js index a35dd98..bc7a460 100644 --- a/background.js +++ b/background.js @@ -1,4 +1,6 @@ const twitterUrls = ["*://twitter.com/*", "*://mobile.twitter.com/*"]; +const quoraUrls = ["*://www.quora.com/*", "*://quora.com/*"]; +const gmapsUrls= ["*://www.google.com/maps*", "*://google.com/maps*"]; const redditUrls = ["*://reddit.com/*", "*://www.reddit.com/*"]; const youtubeUrls = [ "*://youtube.com/*", @@ -7,13 +9,6 @@ const youtubeUrls = [ "*://youtu.be/*", ]; const mediumUrls = ["*://medium.com/*", "*://*.medium.com/*"]; -const instagramUrls = [ - "*://www.instagram.com/*", - "*://instagram.com/*", - "*://www.instagr.am/*", - "*://instagr.am/*", -]; - const allInstances = { nitter: [ "nitter.net", @@ -24,11 +19,9 @@ const allInstances = { teddit: ["teddit.net", "teddit.ggc-project.de", "teddit.kavin.rocks"], invidious: ["invidious.snopyta.org", "yewtu.be"], scribe: ["scribe.rip", "scribe.nixnet.services", "scribe.citizen4.eu"], - bibliogram: [ - "bibliogram.art", - "bibliogram.snopyta.org", - "bibliogram.pussthecat.org", - ], + quetre: ["quetre.iket.me", "quetre.vern.cc", "quetre.pussthecat.org"], + osm: ["openstreetmap.org"], + // quetre: ["quetre.odyssey346.dev", quetre.tokhmi.xyz, quetre.privacydev.net], }; let allInstancesArray = []; @@ -41,13 +34,15 @@ let currentInstances = { teddit: "teddit.net", invidious: "yewtu.be", scribe: "scribe.rip", - bibliogram: "bibliogram.art", + quetre: "quetre.iket.me", + osm: "openstreetmap.org", disable: false, disable_nitter: false, disable_teddit: false, disable_invidious: false, disable_scribe: false, - disable_bibliogram: false, + disable_quetre: false, + disable_osm: false, }; function replaceUrl(url, regex, newDomain) { @@ -74,9 +69,8 @@ function redirect(requestDetails) { const youtubeRegex = /(https?):\/\/(youtube.com|m.youtube.com|www.youtube.com|youtu.be)\/(.*)/; const mediumRegex = /https?:\/\/(?:.*\.)*(? Nitter if (!currentInstances.disable_nitter && twitterRegex.test(originalUrl)) { @@ -122,25 +116,26 @@ function redirect(requestDetails) { return { redirectUrl: newUrl }; } - // Instagram → Bibliogram - if (!currentInstances.disable_bibliogram) { - if (instagramPostRegex.test(originalUrl)) { - const newUrl = originalUrl.replace( - /https?:\/\/((www\.)?(instagram.com|instagr.am))/, - `https://${currentInstances.bibliogram}` - ); - console.log("New URL ", newUrl); - return { redirectUrl: newUrl }; - } + // Quora → Quetre + if (!currentInstances.disable_quetre && quoraRegex.test(originalUrl)) { + const newUrl = replaceUrl( + originalUrl, + quoraRegex, + currentInstances.quetre + ); + console.log("New URL ", newUrl); + return { redirectUrl: newUrl }; + } - if (instagramRegex.test(originalUrl)) { - const newUrl = originalUrl.replace( - /https?:\/\/((www\.)?(instagram.com|instagr.am))/, - `https://${currentInstances.bibliogram}/u` - ); - console.log("New URL ", newUrl); - return { redirectUrl: newUrl }; - } + // Gmaps → OSM + if (!currentInstances.disable_osm && gmapsRegex.test(originalUrl)) { + const newUrl = replaceUrl( + originalUrl, + gmapsRegex, + `${currentInstances.osm}/search?query=` + ); + console.log("New URL ", newUrl); + return { redirectUrl: newUrl }; } // Other Instance -> Current Instance @@ -216,7 +211,8 @@ browser.webRequest.onBeforeRequest.addListener( ...redditUrls, ...youtubeUrls, ...mediumUrls, - ...instagramUrls, + ...quoraUrls, + ...gmapsUrls, ...allInstancesArray, ], types: ["main_frame"], diff --git a/popup.html b/popup.html index 0801483..70e7094 100644 --- a/popup.html +++ b/popup.html @@ -43,26 +43,32 @@
- Bibliogram instances - - + Scribe instances + +
- Scribe instances - - + Quetre instances + + +
+
+ OpenStreetMap instances + + + +
diff --git a/popup.js b/popup.js index 5a0ffdb..b64f4d0 100644 --- a/popup.js +++ b/popup.js @@ -19,8 +19,13 @@ const data = { selected: "", isCustom: true, }, - bibliogram: { - el: document.getElementById("bibliogram-instances"), + quetre: { + el: document.getElementById("quetre-instances"), + selected: "", + isCustom: true, + }, + osm: { + el: document.getElementById("osm-instances"), selected: "", isCustom: true, }, @@ -45,8 +50,12 @@ const data = { el: document.getElementById("switch-scribe"), isCustom: false, }, - switch_bibliogram: { - el: document.getElementById("switch-bibliogram"), + switch_quetre: { + el: document.getElementById("switch-quetre"), + isCustom: false, + }, + switch_osm: { + el: document.getElementById("switch-osm"), isCustom: false, }, }; @@ -127,8 +136,11 @@ browser.runtime.sendMessage({ type: "bg_get_instances" }).then( case "switch_scribe": data[key].el.checked = !currentInstances.disable_scribe; break; - case "switch_bibliogram": - data[key].el.checked = !currentInstances.disable_bibliogram; + case "switch_quetre": + data[key].el.checked = !currentInstances.disable_quetre; + break; + case "switch_osm": + data[key].el.checked = !currentInstances.disable_osm; break; default: instances[key].forEach((ins) => { @@ -169,13 +181,14 @@ document.forms[0].onsubmit = (e) => { teddit: getInputValue(data.teddit.el), invidious: getInputValue(data.invidious.el), scribe: getInputValue(data.scribe.el), - bibliogram: getInputValue(data.bibliogram.el), + quetre: getInputValue(data.quetre.el), + osm: getInputValue(data.osm.el), disable: data.disable.el.checked, disable_nitter: !data.switch_nitter.el.checked, disable_teddit: !data.switch_teddit.el.checked, disable_invidious: !data.switch_invidious.el.checked, disable_scribe: !data.switch_scribe.el.checked, - disable_bibliogram: !data.switch_bibliogram.el.checked, + disable_osm: !data.switch_osm.el.checked, }; const sending = browser.runtime.sendMessage({