aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/assets/images/tumblr-icon.svg52
-rw-r--r--src/assets/javascripts/services.js16
-rw-r--r--src/config.json26
3 files changed, 94 insertions, 0 deletions
diff --git a/src/assets/images/tumblr-icon.svg b/src/assets/images/tumblr-icon.svg
new file mode 100644
index 00000000..8b985b36
--- /dev/null
+++ b/src/assets/images/tumblr-icon.svg
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 43363) -->
+
+<svg
+ version="1.1"
+ id="Calque_1"
+ x="0px"
+ y="0px"
+ width="256px"
+ height="256px"
+ viewBox="0 0 256 256"
+ enable-background="new 0 0 256 256"
+ xml:space="preserve"
+ sodipodi:docname="Tumblr.svg"
+ inkscape:version="1.3.2 (091e20ef0f, 2023-11-25)"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:svg="http://www.w3.org/2000/svg"><defs
+ id="defs4" /><sodipodi:namedview
+ id="namedview4"
+ pagecolor="#ffffff"
+ bordercolor="#000000"
+ borderopacity="0.25"
+ inkscape:showpageshadow="2"
+ inkscape:pageopacity="0.0"
+ inkscape:pagecheckerboard="0"
+ inkscape:deskcolor="#d1d1d1"
+ inkscape:zoom="2.622483"
+ inkscape:cx="108.10366"
+ inkscape:cy="127.93219"
+ inkscape:window-width="1888"
+ inkscape:window-height="1056"
+ inkscape:window-x="32"
+ inkscape:window-y="0"
+ inkscape:window-maximized="1"
+ inkscape:current-layer="g4" />
+<g
+ id="g4">
+
+ <g
+ id="g3"
+ style="fill:#314358;fill-opacity:1"
+ transform="matrix(1.2688081,0,0,1.2688081,-34.911581,-33.121241)">
+ <path
+ fill="#FFFFFF"
+ d="m 168.08,170.918 c -2.969,1.416 -8.647,2.648 -12.881,2.754 -12.783,0.342 -15.264,-8.979 -15.367,-15.736 v -49.705 h 32.065 V 84.055 H 139.943 V 43.382 c 0,0 -23.008,0 -23.383,0 -0.385,0 -1.057,0.337 -1.152,1.192 -1.368,12.448 -7.192,34.296 -31.416,43.032 v 20.624 h 16.16 v 52.167 c 0,17.863 13.176,43.24 47.959,42.641 11.736,-0.201 24.77,-5.113 27.648,-9.354 l -7.679,-22.766"
+ id="path2"
+ style="fill:#314358;fill-opacity:1" />
+ </g>
+</g>
+</svg>
diff --git a/src/assets/javascripts/services.js b/src/assets/javascripts/services.js
index d431369d..4bcc7618 100644
--- a/src/assets/javascripts/services.js
+++ b/src/assets/javascripts/services.js
@@ -571,6 +571,21 @@ function redirect(url, type, initiator, forceRedirection, incognito) {
if (url.pathname == '/') return randomInstance
return `${randomInstance}?url=${encodeURIComponent(url.href)}`
}
+ case "priviblur": {
+ if (url.hostname.startsWith("blog"))
+ return `${randomInstance}/blog${url.pathname}${url.search}`
+
+ if (url.hostname.startsWith("assets"))
+ return `${randomInstance}/assets${url.pathname}${url.search}`
+
+ if (url.hostname.startsWith("static"))
+ return `${randomInstance}/static${url.pathname}${url.search}`
+
+ 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}`
+ }
default: {
return `${randomInstance}${url.pathname}${url.search}`
}
@@ -742,6 +757,7 @@ const defaultInstances = {
'tuboSoundcloud': ['https://tubo.migalmoreno.com'],
'tekstoLibre': ['https://davilarek.github.io/TekstoLibre'],
'skyview': ['https://skyview.social'],
+ 'priviblur': ['https://pb.bloat.cat'],
}
function initDefaults() {
diff --git a/src/config.json b/src/config.json
index 52358170..13d5dc30 100644
--- a/src/config.json
+++ b/src/config.json
@@ -994,6 +994,32 @@
},
"imageType": "svg",
"url": "https://bsky.app/"
+ },
+ "tumblr": {
+ "frontends": {
+ "priviblur": {
+ "name": "Priviblur",
+ "embeddable": true,
+ "instanceList": true,
+ "url": "https://github.com/syeopite/priviblur",
+ "localhost": true
+ }
+ },
+ "targets": [
+ "^https?:\\/{2}(media\\.|blog\\.|assets\\.|static\\.)?tumblr\\.com\\/",
+ "^https?:\\/{2}[0-9]+\\.media\\.tumblr\\.com\\/"
+ ],
+ "name": "Tumblr",
+ "options": {
+ "enabled": false,
+ "redirectType": "main_frame",
+ "unsupportedUrls": "bypass",
+ "frontend": "priviblur",
+ "instance": "public"
+ },
+ "imageType": "svg",
+ "embeddable": true,
+ "url": "https://tumblr.com"
}
}
} \ No newline at end of file