diff options
-rw-r--r-- | src/assets/javascripts/services.js | 23 | ||||
-rw-r--r-- | src/config.json | 63 | ||||
-rw-r--r-- | src/manifest.json | 4 | ||||
-rw-r--r-- | src/pages/options/widgets/general.js | 49 | ||||
-rw-r--r-- | src/updates/updates.xml | 2 |
5 files changed, 69 insertions, 72 deletions
diff --git a/src/assets/javascripts/services.js b/src/assets/javascripts/services.js index e0b7b6df..d76a538a 100644 --- a/src/assets/javascripts/services.js +++ b/src/assets/javascripts/services.js @@ -58,13 +58,6 @@ function redirect(url, type, initiator, forceRedirection) { frontend = options[service].frontend - if ( - config.services[service].embeddable && - type != options[service].redirectType && options[service].redirectType != "both" - ) { - if (options[service].unsupportedUrls == 'block') return 'CANCEL' - return - } if (config.services[service].frontends[frontend].desktopApp && type != "main_frame" && options[service].redirectType != "main_frame") frontend = options[service].embedFrontend @@ -75,6 +68,14 @@ function redirect(url, type, initiator, forceRedirection) { continue } + if ( + config.services[service].embeddable && + type != options[service].redirectType && options[service].redirectType != "both" + ) { + if (options[service].unsupportedUrls == 'block') return 'CANCEL' + return + } + let instanceList = options[frontend] if (instanceList === undefined) break if (instanceList.length === 0) return null @@ -111,13 +112,6 @@ function redirect(url, type, initiator, forceRedirection) { if (!frontend) return switch (frontend) { - case "beatbump": { - return `${randomInstance}${url.pathname}${url.search}` - .replace("/watch?v=", "/listen?id=") - .replace("/channel/", "/artist/") - .replace("/playlist?list=", "/playlist/VL") - .replace(/\/search\?q=.*/, searchQuery => searchQuery.replace("?q=", "/") + "?filter=all") - } case "hyperpipe": { return `${randomInstance}${url.pathname}${url.search}`.replace(/\/search\?q=.*/, searchQuery => searchQuery.replace("?q=", "/")) } @@ -694,7 +688,6 @@ const defaultInstances = { 'lingva': ['https://lingva.ml'], 'searxng': ['https://search.bus-hit.me'], 'rimgo': ['https://rimgo.vern.cc'], - 'beatbump': ['https://beatbump.ml'], 'hyperpipe': ['https://hyperpipe.surge.sh'], 'facil': [' https://facilmap.org '], 'osm': ['https://www.openstreetmap.org'], diff --git a/src/config.json b/src/config.json index 6e97b26e..51d8c69d 100644 --- a/src/config.json +++ b/src/config.json @@ -108,11 +108,6 @@ }, "youtubeMusic": { "frontends": { - "beatbump": { - "name": "Beatbump", - "instanceList": true, - "url": "https://github.com/snuffyDev/Beatbump" - }, "hyperpipe": { "name": "Hyperpipe", "instanceList": true, @@ -120,12 +115,12 @@ } }, "targets": [ - "^https?:\\/{2}music\\.youtube\\.com(\\/|$)" + "^https?:\\/{2}music\\.youtube\\.com\\/" ], "name": "YT Music", "options": { "enabled": false, - "frontend": "beatbump", + "frontend": "hyperpipe", "unsupportedUrls": "bypass" }, "imageType": "png", @@ -141,11 +136,11 @@ "localhost": true } }, - "targets": [ - "^https?:\\/{2}(www\\.|mobile\\.)?twitter\\.com(\\/|$)", - "^https?:\\/{2}(pbs\\.|video\\.)twimg\\.com(\\/|$)", - "^https?:\\/{2}platform\\.twitter\\.com/embed(\\/|$)", - "^https?:\\/{2}t\\.co(\\/|$)" + "targets": [ + "^https?:\\/{2}(www\\.|mobile\\.)?twitter\\.com\\/", + "^https?:\\/{2}(pbs\\.|video\\.)twimg\\.com\\/", + "^https?:\\/{2}platform\\.twitter\\.com/embed\\/", + "^https?:\\/{2}t\\.co\\/" ], "name": "Twitter", "options": { @@ -169,7 +164,7 @@ } }, "targets": [ - "^https?:\\/{2}(www\\.)?tiktok\\.com(\\/|$)" + "^https?:\\/{2}(www\\.)?tiktok\\.com\\/" ], "name": "TikTok", "options": { @@ -221,7 +216,7 @@ } }, "targets": [ - "^https?:\\/{2}([im]\\.)?(stack\\.)?imgur\\.(com|io)(\\/|$)" + "^https?:\\/{2}([im]\\.)?(stack\\.)?imgur\\.(com|io)\\/" ], "name": "Imgur", "options": { @@ -269,25 +264,25 @@ } }, "targets": [ - "^https:\\/{2}(.*\\.)?medium\\.com", - "^https?:\\/{2}towardsdatascience\\.com(\\/|$)", - "^https?:\\/{2}uxdesign\\.cc(\\/|$)", - "^https?:\\/{2}uxplanet\\.org(\\/|$)", - "^https?:\\/{2}betterprogramming\\.pub(\\/|$)", - "^https?:\\/{2}aninjusticemag\\.com(\\/|$)", - "^https?:\\/{2}betterhumans\\.pub(\\/|$)", - "^https?:\\/{2}psiloveyou\\.xyz(\\/|$)", - "^https?:\\/{2}entrepreneurshandbook\\.co(\\/|$)", - "^https?:\\/{2}blog\\.coinbase\\.com(\\/|$)", - "^https?:\\/{2}levelup\\.gitconnected\\.com(\\/|$)", - "^https?:\\/{2}javascript\\.plainenglish\\.io(\\/|$)", - "^https?:\\/{2}blog\\.bitsrc\\.io(\\/|$)", - "^https?:\\/{2}itnext\\.io(\\/|$)", - "^https?:\\/{2}codeburst\\.io(\\/|$)", - "^https?:\\/{2}infosecwriteups\\.com(\\/|$)", - "^https?:\\/{2}blog\\.devgenius\\.io(\\/|$)", - "^https?:\\/{2}writingcooperative\\.com(\\/|$)", - "^https?:\\/{2}proandroiddev\\.com(\\/|$)" + "^https:\\/{2}([a-zA-Z0-9-]+\\.)?medium\\.com", + "^https?:\\/{2}towardsdatascience\\.com\\/", + "^https?:\\/{2}uxdesign\\.cc\\/", + "^https?:\\/{2}uxplanet\\.org\\/", + "^https?:\\/{2}betterprogramming\\.pub\\/", + "^https?:\\/{2}aninjusticemag\\.com\\/", + "^https?:\\/{2}betterhumans\\.pub\\/", + "^https?:\\/{2}psiloveyou\\.xyz\\/", + "^https?:\\/{2}entrepreneurshandbook\\.co\\/", + "^https?:\\/{2}blog\\.coinbase\\.com\\/", + "^https?:\\/{2}levelup\\.gitconnected\\.com\\/", + "^https?:\\/{2}javascript\\.plainenglish\\.io\\/", + "^https?:\\/{2}blog\\.bitsrc\\.io\\/", + "^https?:\\/{2}itnext\\.io\\/", + "^https?:\\/{2}codeburst\\.io\\/", + "^https?:\\/{2}infosecwriteups\\.com\\/", + "^https?:\\/{2}blog\\.devgenius\\.io\\/", + "^https?:\\/{2}writingcooperative\\.com\\/", + "^https?:\\/{2}proandroiddev\\.com\\/" ], "name": "Medium", "options": { @@ -308,7 +303,7 @@ } }, "targets": [ - "^https?:\\/{2}([a-zA-Z0-9-]+\\.)*quora\\.com(\\/|$)" + "^https?:\\/{2}([a-zA-Z0-9-]+\\.)*quora\\.com\\/" ], "name": "Quora", "options": { diff --git a/src/manifest.json b/src/manifest.json index d8736bbc..d8e1e603 100644 --- a/src/manifest.json +++ b/src/manifest.json @@ -1,12 +1,12 @@ { "name": "__MSG_extensionName__", "description": "__MSG_extensionDescription__", - "version": "2.6.3", + "version": "2.7.1", "manifest_version": 2, "browser_specific_settings": { "gecko": { "id": "7esoorv3@alefvanoon.anonaddy.me", - "strict_min_version": "67.0" + "strict_min_version": "89.0" } }, "background": { diff --git a/src/pages/options/widgets/general.js b/src/pages/options/widgets/general.js index db2a414e..794e3e7e 100644 --- a/src/pages/options/widgets/general.js +++ b/src/pages/options/widgets/general.js @@ -4,6 +4,8 @@ window.browser = window.browser || window.chrome import utils from "../../../assets/javascripts/utils.js" import servicesHelper from "../../../assets/javascripts/services.js" +const isChrome = browser.runtime.getBrowserInfo === undefined + async function setOption(option, type, event) { let options = await utils.getOptions() if (type == "select") { @@ -62,31 +64,38 @@ importSettingsElement.addEventListener("change", () => { } }) -const exportSettingsSync = document.getElementById("export-settings-sync") -exportSettingsSync.addEventListener("click", async () => { - let options = await utils.getOptions() - options.version = browser.runtime.getManifest().version - browser.storage.sync.set({ options }, () => location.reload()) -}) +const exportSettingsSync = document.getElementById("export-settings-sync") const importSettingsSync = document.getElementById("import-settings-sync") const importSettingsSyncText = document.getElementById("import_settings_sync_text") -importSettingsSync.addEventListener("click", () => { - function importError() { - importSettingsSyncText.innerHTML = '<span style="color:red;">Error!</span>' - setTimeout(() => (importSettingsSyncText.innerHTML = oldHTML), 1000) - } - const oldHTML = importSettingsSyncText.innerHTML - importSettingsSyncText.innerHTML = "..." - browser.storage.sync.get({ options }, r => { - const options = r.options - if (options.version == browser.runtime.getManifest().version) { - browser.storage.local.set({ options }, () => location.reload()) - } else { - importError() +if (!isChrome) { + exportSettingsSync.addEventListener("click", async () => { + let options = await utils.getOptions() + options.version = browser.runtime.getManifest().version + browser.storage.sync.set({ options }, () => location.reload()) + }) + + importSettingsSync.addEventListener("click", () => { + function importError() { + importSettingsSyncText.innerHTML = '<span style="color:red;">Error!</span>' + setTimeout(() => (importSettingsSyncText.innerHTML = oldHTML), 1000) } + const oldHTML = importSettingsSyncText.innerHTML + importSettingsSyncText.innerHTML = "..." + browser.storage.sync.get({ options }, r => { + const options = r.options + if (options.version == browser.runtime.getManifest().version) { + browser.storage.local.set({ options }, () => location.reload()) + } else { + importError() + } + }) }) -}) +} else { + exportSettingsSync.style.display = 'none' + importSettingsSync.style.display = 'none' +} + const resetSettings = document.getElementById("reset-settings") resetSettings.addEventListener("click", async () => { diff --git a/src/updates/updates.xml b/src/updates/updates.xml index 8cd4cee0..c03f04dc 100644 --- a/src/updates/updates.xml +++ b/src/updates/updates.xml @@ -1,6 +1,6 @@ <?xml version='1.0' encoding='UTF-8'?> <gupdate xmlns='http://www.google.com/update2/response' protocol='2.0'> <app appid='oladmjdebphlnjjcnomfhhbfdldiimaf'> - <updatecheck codebase='https://github.com/libredirect/libredirect/releases/download/v2.6.2/libredirect-2.6.2.crx' version='2.6.2' /> + <updatecheck codebase='https://github.com/libredirect/libredirect/releases/download/v2.7.0/libredirect-2.7.0.crx' version='2.7.0' /> </app> </gupdate> |