Imgpls – An extension to load Imgur images directly
andadinosaur.com
andadinosaur.com
Perhaps the rest of the site's traffic is subsidizing what they spend on the image hosting? Or maybe bandwidth and storage costs are finally lower than how much each image costs, given that our eyes haven't gotten any better and so a certain size jpeg is simply good enough?
https://wiki.archiveteam.org/index.php/Imgur
(With screws tightened even more in 2024.)
Before you reply that you technically still can use Imgur, that's also still the case for Imageshack - but you cannot rely on them any more, unless you are a paid user.
https://addons.mozilla.org/en-US/firefox/addon/load-reddit-i...
Though, given that I think the solution to this can be generalized, I think it is about time someone made a more general extension that can apply this across a wide variety of sites that misuse the `Accept` header for unwanted behavior.
(Also, since mangling the Accept header is the best way to avoid unwanted WebP/AVIF/HEIC transcodes without fully disabling support for these better image formats, it'd be nice if that was also rolled into such an extension.)
Is there any other "misuse" to be aware of apart from just serving formats you don't prefer?
I didn't at any point call serving formats I "don't prefer" (I do prefer AVIF) "abuse" of the Accept header. I just don't want images that were JPEGs to be transcoded to even lossier WebP/AVIF/HEIC files when I browse to them. Sure, if it's part of the page layout it's not a big deal, but when I'm viewing the original size image, it should be, ideally, the original image. I don't actually care if the image is WebP/AVIF/HEIC natively, that is not a problem.
Internet commenting has definitely taught me many times that it is actually really hard to convey what you're thinking accurately.
Is it though? What non user-hostile things does it enable?
For many, many years, content negotiation was not adversarial, and there was little reason to believe it ever would be. Until it was, of course.
So how do we fix it, telling every page view we'd prefer if it were a JPEG? Probably not. Of course, you could make "Open Image in New Tab" do some magic to ensure that it acts like an image fetch: that sounds like a good idea.
> What non user-hostile things does it enable?
Content negotiation in general is pretty good. In theory, it lets a web server pick the best possible format that is supported by your client. For example, it would be possible for the server to transparently serve you a JPEG XL-compressed JPEG if your browser supports it, or fall back to the original (identical but larger) JPEG image if it does not.
Is there a good reason to prefer text/html? I know this will be unpopular but I believe that "upgrading" GIF links to WebMs in <video> tags is not user hostile in and of itself. GIF89a is a pretty antiquated format and LZW compression of 8bpc frame deltas is not exactly state of the art anymore; the difference between a GIF and a WebM of the same thing is usually multiple megabytes of bandwidth, and that can be extremely annoying, especially on mobile clients. Of course if you make it hard to access the original file, this will reasonably irritate people, but I think broadly the idea behind it is reasonable.
Being able to distinguish a navigation fetch from an <img> fetch is actually good because it would let the server behave in a more user-friendly fashion on the navigation fetch, for example by serving only formats that would be most likely to be useful to the user. Unfortunately, we can't have nice things, so it seems like some day content negotiation will have to be partly gimped.
https://blog.mozilla.org/addons/2020/09/29/expanded-extensio...
This suggests it only works in Nightly, but it also works in Fennec F-Droid, so frankly you should consider switching to that if you can. (I wish Fennec F-Droid could just allow arbitrary extensions and extension side-loading, but I guess it would be non-trivial. Thanks Mozilla!)
https://apps.apple.com/it/app/sink-it-for-reddit/id644987363...
I have these rules defined inside
url:https://preview.redd.it/, domain:true, sub:true, header:Accept, add:true, modify:false, remove:false, header_value:image/*
url:https://i.redd.it/, domain:true, sub:true, header:Accept, add:true, modify:false, remove:false, header_value:image/*
With these defined, an image just opens like an image, without any reddit wrapped around it.[1] https://chromewebstore.google.com/detail/modify-header-value...
While I don’t disagree with what you said in principle, being able to fall-back to TIA for removed/deleted images would probably solve the issue 95% of the time.
This is a social network. This sort of conversion is not just allowed, but encouraged. Perhaps you’d feel more at home on a Stack Exchange website, where like-minded individuals will stand alongside you in enforcing a strict Q&A format, even when it doesn’t make sense to.
> The user you’re replying to asked how to solve a practical problem and you responded with philosophy.
If you never apply your morals you may as well not have them. Not to mention that overusing a free resource might cause it to be restricted in the future
This seems to be if you are given a link to an "image" it displays only the image and not the extra crap.
Not a perfect experience but easily preferable over the original webpage and works for more than just imgur
StopTheMadness is kind of that.
Not at all.
> but that's pretty much was imgur has exclusively been used for since its inception
It's what imgur was built for and how it attracted users in the first place.
I think you're right that initially Imgur was happy to host images for reddit if it drove traffic to their homepage. They don't then "owe" their users who have paid a total of $0 to keep doing that forever if it stops being profitable to them.
accept image_imgur
Match type: Domain
Match rules: i.imgur.com
Execute type: normal
Header name: accept
Header value: image/avif,image/jxl,image/webp,/;q=0.8
I have a very similar one for i.reddit.com
Together with Redirector, those might be the two most undervalued extensions I'm using.