about summary refs log tree commit diff stats
path: root/src/assets/javascripts/services.js
diff options
context:
space:
mode:
authorManeraKai <manerakai@protonmail.com>2023-12-10 22:31:37 +0300
committerManeraKai <manerakai@protonmail.com>2023-12-10 22:31:37 +0300
commitab46d1a7d4f738f2924557493aad4f2cd9ac0eff (patch)
tree98f1692d373599730b86c798cd8581d4cb96d898 /src/assets/javascripts/services.js
parentMerge pull request #870 from syeopite/remove-debug-statements (diff)
parentAdd Tumblr blog redirects for Priviblur (diff)
downloadlibredirect-ab46d1a7d4f738f2924557493aad4f2cd9ac0eff.zip
Merge branch 'master' of https://github.com/syeopite/browser_extension into syeopite-master
Diffstat (limited to 'src/assets/javascripts/services.js')
-rw-r--r--src/assets/javascripts/services.js31
1 files changed, 24 insertions, 7 deletions
diff --git a/src/assets/javascripts/services.js b/src/assets/javascripts/services.js
index a9a87830..c03f7c22 100644
--- a/src/assets/javascripts/services.js
+++ b/src/assets/javascripts/services.js
@@ -569,19 +569,36 @@ function redirect(url, type, initiator, forceRedirection, incognito) {
 			return `${randomInstance}?url=${encodeURIComponent(url.href)}`
 		}
 		case "priviblur": {
-			if (url.hostname.startsWith("blog"))
-				return `${randomInstance}/blog${url.pathname}${url.search}`
+			// www.tumblr.com
+			if (url.hostname === "www.tumblr.com")
+				return `${randomInstance}${url.pathname}${url.search}`;
 
+			// assets.tumblr.com
 			if (url.hostname.startsWith("assets"))
-				return `${randomInstance}/assets${url.pathname}${url.search}`
+				return `${randomInstance}/tblr/assets${url.pathname}${url.search}`;
 
+			// static.tumblr.com
 			if (url.hostname.startsWith("static"))
-				return `${randomInstance}/static${url.pathname}${url.search}`
+				return `${randomInstance}/tblr/static${url.pathname}${url.search}`;
 
-			const reg = /^([0-9]+)\.media\.tumblr\.com/.exec(url.hostname)
+			// *.media.tumblr.com
+			const reg = /^([0-9]+)\.media\.tumblr\.com/.exec(url.hostname);
 			if (reg)
-				return `${randomInstance}/media/${reg[1]}${url.pathname}${url.search}`
-			return `${randomInstance}${url.pathname}${url.search}`
+				return `${randomInstance}/tblr/media/${reg[1]}${url.pathname}${url.search}`;
+
+			// <blog>.tumblr.com
+			const blogregex = /^(www.)?([a-z\d]{1}[a-z\d-]{0,30}[a-z\d]{0,1})\.tumblr\.com/.exec(url.hostname);
+			const blog_name = blogregex[2];
+
+			if (blogregex)
+				// Under the <blog>.tumblr.com domain posts are under a /post path
+				if (url.pathname.startsWith("/post")) {
+					return `${randomInstance}/${blog_name}${url.pathname.slice(5)}${url.search}`;
+				} else {
+					return `${randomInstance}/${blog_name}${url.pathname}${url.search}`;
+				}
+
+			return `${randomInstance}${url.pathname}${url.search}`;
 		}
 		default: {
 			return `${randomInstance}${url.pathname}${url.search}`