about summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--src/assets/javascripts/services.js23
-rw-r--r--src/config.json63
-rw-r--r--src/manifest.json4
-rw-r--r--src/pages/options/widgets/general.js49
-rw-r--r--src/updates/updates.xml2
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>