diff options
| author | Austin Huang <im@austinhuang.me> | 2022-10-22 03:57:06 +0000 |
|---|---|---|
| committer | Hygna <hygna@proton.me> | 2022-10-22 22:38:09 +0100 |
| commit | 1dfd4f87641d7580fb6674844e33207277647b9e (patch) | |
| tree | c03dbeee4dd3d61f61ea93833a2006fd8eb5c14a | |
| parent | Moved web-ext config from flags to js file (diff) | |
| download | libredirect-1dfd4f87641d7580fb6674844e33207277647b9e.zip | |
handle more reddit cdn urls
| -rw-r--r-- | src/assets/javascripts/services.js | 16 | ||||
| -rw-r--r-- | src/config/config.json | 2 |
2 files changed, 16 insertions, 2 deletions
diff --git a/src/assets/javascripts/services.js b/src/assets/javascripts/services.js index 8aa044ea..9c4205f6 100644 --- a/src/assets/javascripts/services.js +++ b/src/assets/javascripts/services.js @@ -400,7 +400,21 @@ function redirect(url, type, initiator, forceRedirection) { if (url.href.search(/^https?:\/{2}(?:[im]\.)?stack\./) > -1) return `${randomInstance}/stack${url.pathname}${url.search}`
else return `${randomInstance}${url.pathname}${url.search}`
case "libreddit":
- if (url.hostname.match(/^(i|preview)\.redd\.it/)) return `${randomInstance}/img${url.pathname}`
+ const subdomain = url.hostname.match(/^(?:(?:external-)?preview|i)(?=\.redd\.it)/)
+ if (!subdomain) return `${randomInstance}${url.pathname}${url.search}`
+ switch (subdomain[0]) {
+ case "preview":
+ return `${randomInstance}/preview/pre${url.pathname}${url.search}`
+ case "external-preview":
+ return `${randomInstance}/preview/external-pre${url.pathname}${url.search}`
+ case "i":
+ return `${randomInstance}/img${url.pathname}`
+ }
+ case "teddit":
+ if (/^(?:(?:external-)?preview|i)\.redd\.it/.test(url.hostname)) {
+ if (url.search == "") return `${randomInstance}${url.pathname}?teddit_proxy=${url.hostname}`
+ else return `${randomInstance}${url.pathname}${url.search}&teddit_proxy=${url.hostname}`
+ }
return `${randomInstance}${url.pathname}${url.search}`
default:
return `${randomInstance}${url.pathname}${url.search}`
diff --git a/src/config/config.json b/src/config/config.json index 13b069c1..7a8d2a78 100644 --- a/src/config/config.json +++ b/src/config/config.json @@ -253,7 +253,7 @@ "instanceList": true
}
},
- "targets": ["^https?:\\/{2}(www\\.|old\\.|np\\.|new\\.|amp\\.|)reddit\\.com(?=\\/u(ser)?\\/|\\/r\\/|\\/?$)", "^https?:\\/{2}(i\\.|preview\\.)redd\\.it"],
+ "targets": ["^https?:\\/{2}(www\\.|old\\.|np\\.|new\\.|amp\\.|)reddit\\.com(?=\\/u(ser)?\\/|\\/r\\/|\\/?$)", "^https?:\\/{2}(i\\.|(external-)?preview\\.|)redd\\.it"],
"name": "Reddit",
"options": {
"enabled": true,
|
