From 397fd8cffbb2f39e8f31304d4238f9087f0c19a5 Mon Sep 17 00:00:00 2001 From: Jason Kim Date: Thu, 8 Apr 2021 22:38:52 -0700 Subject: feat: add img prefix for i.redd.it "i.redd.it/" redirects "libredd.it/". Make it redirect to "libredd.it/img/". Tested only for "libredd.it". --- src/pages/background/background.js | 3 +++ 1 file changed, 3 insertions(+) (limited to 'src/pages') diff --git a/src/pages/background/background.js b/src/pages/background/background.js index 9df083b8..e93e1204 100644 --- a/src/pages/background/background.js +++ b/src/pages/background/background.js @@ -448,6 +448,9 @@ function redirectReddit(url, initiator, type) { if (type !== "main_frame" || url.pathname.match(redditBypassPaths)) { return null; } + if (url.host === "i.redd.it") { + return `${redditInstance}/img${url.pathname}${url.search}`; + } return `${redditInstance}${url.pathname}${url.search}`; } -- cgit 1.4.1 From 123cca4e5cda2e0dfb42b3b41bf7e1412279514e Mon Sep 17 00:00:00 2001 From: Jason Kim Date: Thu, 8 Apr 2021 23:37:43 -0700 Subject: 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, turns into . Libreddit seems to not have this issue. --- src/pages/background/background.js | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'src/pages') diff --git a/src/pages/background/background.js b/src/pages/background/background.js index e93e1204..bd2d04c4 100644 --- a/src/pages/background/background.js +++ b/src/pages/background/background.js @@ -449,7 +449,12 @@ function redirectReddit(url, initiator, type) { return null; } 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}`; } -- cgit 1.4.1 From e86895b00882d900e9d828a852df54d87211c988 Mon Sep 17 00:00:00 2001 From: Jason Kim Date: Fri, 9 Apr 2021 00:00:42 -0700 Subject: fix: don't redirect for rest of instances Unbreak old.reddit.com and i.reddit.com by ignoring image redirects for them. --- src/pages/background/background.js | 2 ++ 1 file changed, 2 insertions(+) (limited to 'src/pages') diff --git a/src/pages/background/background.js b/src/pages/background/background.js index bd2d04c4..25342794 100644 --- a/src/pages/background/background.js +++ b/src/pages/background/background.js @@ -454,6 +454,8 @@ function redirectReddit(url, initiator, type) { } else if (redditInstance.includes("teddit")) { let pathWithoutSlash = url.pathname.slice(1); return `${redditInstance}/pics/w:null_${pathWithoutSlash}${url.search}` + } else { + return null; } } return `${redditInstance}${url.pathname}${url.search}`; -- cgit 1.4.1 From 905abce8f778e9a3edbd69b9f3183c93d11edffa Mon Sep 17 00:00:00 2001 From: Jason Kim Date: Fri, 9 Apr 2021 00:10:27 -0700 Subject: refactor: drop teddit image redirect support No longer redirect image links for teddit instances. Add a comment detailing the two issues I found. Now, the feature should be stable. --- src/pages/background/background.js | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'src/pages') diff --git a/src/pages/background/background.js b/src/pages/background/background.js index 25342794..2047bfbe 100644 --- a/src/pages/background/background.js +++ b/src/pages/background/background.js @@ -452,8 +452,12 @@ function redirectReddit(url, initiator, type) { 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}` + // As of 2021-04-09, redirects for teddit images are nontrivial: + // - navigating to the image before ever navigating to its page causes + // 404 error (probably needs fix on teddit project) + // - some image links on teddit are very different + // Therefore, don't support redirecting image links for teddit. + return null; } else { return null; } -- cgit 1.4.1