From 4741eb2439c0484817f290eb2f1e5467ce55f7e7 Mon Sep 17 00:00:00 2001 From: syeopite Date: Sun, 10 Dec 2023 01:47:15 -0800 Subject: [PATCH] Add Tumblr blog redirects for Priviblur --- src/assets/javascripts/services.js | 31 +++++++++++++++++++++++------- src/config.json | 5 +++-- 2 files changed, 27 insertions(+), 9 deletions(-) diff --git a/src/assets/javascripts/services.js b/src/assets/javascripts/services.js index 4bcc761..603f9c2 100644 --- a/src/assets/javascripts/services.js +++ b/src/assets/javascripts/services.js @@ -572,19 +572,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}`; + + // .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 .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}` diff --git a/src/config.json b/src/config.json index 13d5dc3..a99a390 100644 --- a/src/config.json +++ b/src/config.json @@ -1006,8 +1006,9 @@ } }, "targets": [ - "^https?:\\/{2}(media\\.|blog\\.|assets\\.|static\\.)?tumblr\\.com\\/", - "^https?:\\/{2}[0-9]+\\.media\\.tumblr\\.com\\/" + "^https?:\\/{2}(media\\.|assets\\.|static\\.)?tumblr\\.com\\/", + "^https?:\\/{2}[0-9]+\\.media\\.tumblr\\.com\\/", + "^https?:\\/{2}(www\\.)?(.*)\\.tumblr.com\\/" ], "name": "Tumblr", "options": {