fix: redirect teddit differently

Teddit image urls are different from libreddit.  Handle each separately.
Test manually:

- libredd.it: pass
- libreddit.spike.codes: pass
- libreddit.kavin.rocks: pass
- libreddit.insanity.wtf: fail (site doesn't work in general)
- libreddit.dothq.co: pass
- teddit.net: mostly fail
- teddit.ggc-project.de: mostly fail
- teddit.kavin.rocks: mostly fail
- old.reddit.com: fail
- i.reddit.com: fail
- snew.notabug.io: fail (site doesn't work in general)

Teddit image urls have two issues.  First, the links almost never work
(404) if the image url is visited directly before visiting the main
page.  Once the main page is visited, however, the image url starts
working.  I'm guessing this is an issue with teddit instances not
fetching images unless the main page is accessed.  Second, some image
links are different/incompatible for some reason.  For example,
<https://i.redd.it/htg3owj12ok21.png> turns into
<https://teddit.net/pics/w:null_TpEyuHnjif6578pV0lBuM-kNW1bXqxbvqbOHjhRZVr0.png>.
Libreddit seems to not have this issue.
This commit is contained in:
Jason Kim 2021-04-08 23:37:43 -07:00
parent 397fd8cffb
commit 123cca4e5c
1 changed files with 6 additions and 1 deletions

View File

@ -449,7 +449,12 @@ function redirectReddit(url, initiator, type) {
return null; return null;
} }
if (url.host === "i.redd.it") { if (url.host === "i.redd.it") {
return `${redditInstance}/img${url.pathname}${url.search}`; if (redditInstance.includes("libredd")) {
return `${redditInstance}/img${url.pathname}${url.search}`;
} else if (redditInstance.includes("teddit")) {
let pathWithoutSlash = url.pathname.slice(1);
return `${redditInstance}/pics/w:null_${pathWithoutSlash}${url.search}`
}
} }
return `${redditInstance}${url.pathname}${url.search}`; return `${redditInstance}${url.pathname}${url.search}`;
} }