Update 1: This is an issue with cloudflare, we are having issues with the account that hosts the site, we are contacting cloudflare support about the issue.
Update 2: we have switched s3 providers and images should be working again, older images may be missing, we will have to do a merge with the old s3 storage backup into the new provider, we plan to do this soon, but all new images will work as expected, sorry for the issues and thanks for your patience and kindness while we were working on the fix
Thank you for your dedication.
Thank you sir
well done, thanks to your team.
Just to inform the admin, uploading photos does not work, I get an error(I copied it if you want it), and community photos in the side won’t show up. Thanks for the hard job!
Damn, just as I was about to post something, which I rarely do
Locally uploaded images work, you can still post
Sorry, by “locally uploaded” what exactly do you mean? I tried to upload one here (to /c/sissychastity ) if that’s what you meant and got the following error:
{"data":{"files":null,"msg":"Error performing PUT https://eb21b514652257169b552d5ece7ddfd2.r2.cloudflarestorage.com/lemmynsfw/01/98/28/af/16/04/76/42/91/07/3f775b0b643a.jpeg in 47.241919ms - Server returned non-2xx status code: 403 Forbidden: <?xml version=\"1.0\" encoding=\"UTF-8\"?><Error><Code>NotEntitled</Code><Message>Please enable R2 through the Cloudflare Dashboard.</Message></Error>"},"state":"success"}
Thanks for the info, we’re switching S3 bucket providers, hopefully today, so hopefully that resolves the issues
I’m surprised some images still work though, even recently posted ones.
Thank you for all the work on this and now importantly on building and maintaining lemmynsfw in the first place.
Looks like I’m wanking to something else tonight lads
Try erome.com if you haven’t!(Use adblock)
Thank you so much… Have a nice weekend
The problem seems to be that for some reason you’re messing with image urls and adding https://lemmynsfw.com/api/v3/image_proxy in front of them for some nefarious reason, which obviously prevents them from working.
Just stop messing with people’s posts and everything will work fine.
There’s clearly something both extremely ill intentioned and extremely incompetent happening here.
This is precisely the kind of profoundly stupid meddling I left reddit for.
Time to look for a new instance or quit lemmy altogether, I guess.
It was… somewhat almost okayish while it lasted.
I’m just going to include a section from the patch notes for Lemmy version 0.19.4.
There is a new config option called image_mode which provides a way to proxy external image links through the local instance. This prevents deanonymization attacks where an attacker uploads an image to his own server, embeds it in a Lemmy post and watches the IPs which load the image. Instead if
image_mode
is set toProxyAllImages
, image urls are rewritten to be proxied through/api/v3/image_proxy
. This can also improve performance and avoid overloading other websites…For the issue at hand, it appears to be related to Cloudflare based on the 403 error message when tying to view an image.
Oh this is a nice feature, I hope it’s going to stay.
Sure, the visible symptom of the issue is cloudflare blocking the image proxy, probably with good reason, since the explanation is absurd (except for the deanonymization part, which is just schizophrenically paranoid; no one cares enough about who’s looking at some random image to waste their time setting that up), but the unnecessary and nonconsensual meddling with the urls is the root cause.
We’re talking Lemmy here. As great as federation is, small self hosted instance servers will always provide less performance and get overloaded faster than whatever CDN the site the user is linking to is using, so that argument is evidently fallacious.
(Plus, the option to host the image on the instance server has always been there: just download the fucking image from wherever you found it and upload it to the fucking instance. If anything, what this does is take away that choice from the user, leaving us with the “choice” to upload the image… or have it silently uploaded for us anyway.)
Let’s be serious, the only reasonable motive behind this (especially when you take into account the devs’ notorious ideology) is to be able to better control what the users post.
The deanonymization bit falls by its own weight, since, sure, the original hoster can’t see who’s loading the image (not that they ever cared to to start with), but now the instance admins (and / or the devs) can. Nothing is ever anonymous in the cloud, for fucks sake. Again, this is just taking away the choice of who to trust, and making lemmy look like the most untrustworthy option in the process.
The most important part, though, is that by highjacking the image hosting without the user’s knowledge (and against the user’s will, since, again, we could always choose to host the image on the instance, and this applies specifically to the case where the user did not intend to host it here), the instance (and / or the devs) gets control over what image gets actually served.
Enshittification happens. Every single image in the cloud will, sooner or later, be replaced with an ad. That’s as certain as the third law of thermodynamics. When you link to a cloud hosted image, you’re (mis)placing your trust on the hoster to keep serving that version of the image for the foreseeable future. Maybe I trust the lemmy instance more than the original site, in which case I’ll upload the image. Maybe I trust the site more, in which case I’ll link it. Maybe I trust neither, and I’ll self-host the image, and link it (which is almost certainly the best option for people posting images of themselves, as is the main intended case for lemmynsfw).
But those two later options are now gone. Stolen from us, the users. And, obviously, I (and hopefully most other users) no longer trust the instance, or lemmy. Now the instance (and / or the devs) always has the option to change the image, instead of only when we misplaced our trust on them.
Plus, as the current kerfuffle so evidently shows, it adds a completely unnecessary extra point of failure.
The images would work perfectly if they weren’t being shoveled through a hostile proxy no one asked for which is being blocked by cloudflare, probably with good reason.
The lemmynsfw admins could trivially solve the issue for newly linked images by disabling this stupid malicious option (already uploaded ones would probably require fixing the mangled urls at the database level, which is the least that they deserve for having enabled it in the first place), but they’re not, they’re trying to get cloudflare to fix it, a well known sisyphean task, i.e., an evident waste of everyone’s time.
But they’re not, so they clearly want to keep the proxy, the very root of the problem.
The whole thing is therefore not only malicious, but profoundly stupid, and depressing.
Just like good old reddit. 🤢
That is not the issue, we are having issues with our cloudflare account and our S3 bucket, we are in contact with support and working on a fix. You are making wild assumptions.
Some people demand a lot. I think most of us are happy just knowing whats going on.
Any way thanks!
Some people demand a lot
Dude, I’m just asking them to apply the obvious fix and stop messing with people’s posts.
If you think that’s a lot you have a serious case of Stockholm syndrome.
Though, to be fair, given the current massively enshittified state of the internet and the world in general, who doesn’t, I guess.
If it’s so obvious, feel free to make your own instance and run it how you want
I don’t care enough about the fediverse to waste my time on that, and if I did I’d probably go with piefed anyway.
In any case, as I said in another post you can trivially check for yourself how removing the proxy fixes the issue (in short, grab the url from any image posted in the frontpage or wherever, remove the proxy bits and fix the encoding, and it’ll work without any issues).
It must be hard to deal with these kind of paranoid nutcases, thanks for your hard work.
What fucking hard work?
They’re just waiting for a response from cloudflare that almost certainly will never come, when they could fix the issue by simply removing the proxy.
You can check it for yourself, look at the URL of any random external image they’re serving, https://lemmynsfw.com/api/v3/image_proxy?url=https%3A%2F%2Flemmy.world%2Fpictrs%2Fimage%2F301480eb-7622-41f3-a66a-a868c3544b90.jpeg, for instance.
Opening that will give you an error instead of an image, because cloudflare is being cloudflare and causing the proxy to fail.
Remove the unnecessary proxy part and fix the mangling, however, and it’ll work perfectly: https://lemmy.world/pictrs/image/301480eb-7622-41f3-a66a-a868c3544b90.jpeg.
(The link is just some random image from the front page, irrelevant but harmless.)
This could and should have been fixed days ago, and would never have happened if they hadn’t tried to hijack the urls in the first place!
(Well, it might still have happened with local images, but at least external ones would still work, instead of the whole instance being unusable.)
I think the part that makes your posts seem hostile is that you either know and haven’t stated, or are assuming, that this is an intentional behavior on the part of lemmynsfw.
Was this behavior added to Lemmy’s master codebase, or is there evidence lemmynsfw’s admins customized the code to add a Cloudflare proxy for images? Either way, it doesn’t seem like lemmynsfw is acting in bad faith.
I get that there’s a larger Reddit / enshittification narrative you’re viewing this through, but if you want them to not do that thing - use the URL-cloud-ifier - you’d be much more persuasive and probably get a more constructive reply if you just explained why it’s a bad thing and asked them not to do it.
Oh, the original malicious intent is evidently on the devs part. They perpetrated this shit and tried to hide it under a stupid “think of the children” blanket.
The lemmynsfw admins did keep this malicious setting on, though, without telling their users, and are persisting on keeping it on despite evidence that it’s been causing their instance to be unusable for days (to the point that I very much doubt it’ll ever recover).
Hanlon’s razor might have applied when this started happening. Maybe they just didn’t know they had turned this shit on.
Them persisting on keeping it on when it’s clearly harming the instance, though, is making it look more and more likely to be a combination of incompetence and maliciousness instead of just ignorance (and, let’s be fair, also incompetence).
And, obviously, their insistence on keeping it on has irrevocably destroyed any trust the users could place on them, which for an instance based on trust (people are supposed to post their own extremely personal pictures here, after all) doesn’t bode well at all for the future of the instance.
Call me a rat if you will, but my first instinct is to flee the sinking ship (already made a backup account elsewhere a few weeks ago when it kept randomly crashing) and warn everyone to do the same.
That is not the issue
It’s the underlying cause of the issue. (Well, that and dealing with cloudflare.)
we are having issues with our cloudflare account
Yes (that’s what cloudflare appears to be for). Which is causing your stupid proxy to produce this shit instead of an image:
{“code”:“object-request-error”,“msg”:“Error performing PUT https://eb21b514652257169b552d5ece7ddfd2.r2.cloudflarestorage.com/lemmynsfw/01/98/22/63/d5/9e/74/c2/94/48/97232eff1bb0.jpeg in 45.917481ms - Server returned non-2xx status code: 403 Forbidden: <?xml version="1.0" encoding="UTF-8"?><Error><Code>NotEntitled</Code><Message>Please enable R2 through the Cloudflare Dashboard.</Message></Error>”}
You’ll notice how the first link, which is what your site produces, craps out (because your cloudflare account isn’t working properly, as tends to happen with cloudflare, no surprise there), while the second link, which is the original URL reconstructed from your mangling, works perfectly. (I grabbed it from some random post in the front page, the content is irrelevant but harmless).
So keep the fucking original URL instead of hijacking it with some stupid unnecessary proxy and it’ll fucking work!
Q.E. fucking D., for fuck’s sake! 🤷♂️
You’re an idiot. Proxies protect privacy. That’s literally why you’re here and not on Reddit, right?
Calling it a proxy doesn’t mean it is one.
We have no way of knowing what’s behind https://lemmynsfw.com/api/v3/image_proxy. All we have is the admins’ word that it is one (wait, no, not even that, since they’ve never told us about it to start with).
All we know is that our urls are being hijacked (and that this is causing them not to work, and that the reason the devs — which are known to be untrustworthy — tried to justify this option with doesn’t hold water) without anyone asking us first or warning us…
If I care about privacy I’ll take care of that. I’ll upload my images somewhere I trust or, better yet, control. If I want a proxy or CDN it’ll be on my terms.
Even supposing it is a proxy, does it have a cache? Or a CDN? The whole cloudflare kerfuffle seems to suggest it does. How often do they update? If I decide to remove my image from wherever I hosted it, how long will it take for the cache to reflect that?
I don’t know; lemmynsfw never told me, just like they didn’t tell me they were using this alleged proxy and hijacking my urls.
Even if we apply Hanlon’s razor and assume the lemmynsfw admins didn’t know they had this option turned on and the devs just snuck it in by default in an update, the fact that they’ve kept it turned on for days when turning it off would fix the issue for external images makes the ignorance excuse moot.
They know it’s on, they want it on, and they’ve got no intention of telling anyone or asking if we’re fine with it.
This destroys any trust we could have had on them, and makes moot any assurance on their part (if they ever made one, which they have not) that this alleged proxy is benign.
That’s literally what a proxy is. We do know it is because the url is going to the lemmynsfw server. That’s all the proxy has to do to provide privacy. From then on it can literally do whatever, as long as you’re not hitting the third party server directly.
The proxy isn’t to protect images you upload. It’s to protect other people from you. You have so little understanding here it’s laughable. Fuck off.
The proxy isn’t to protect images you upload. It’s to protect other people from you.
Well, it’s certainly doing a fantastic job then, isn’t it?
No images, no risk!
You have so little understanding here it’s laughable.
What I understand is that I look at posts with external images from before this hijacking was implemented, the images fucking load, I look at later posts going through this proxy, they don’t.
What I understand is that disabling this nonsense would immediately fix the issue, but the admins clearly have no interest in doing that.
What I understand is that after a week of the admins doing nothing to fix this, the realisation that they’re hijacking our urls, and the mutual lack of trust this has caused, this instance is dead.
There’s no point in fixing it at this point. Any reasonable user will have already migrated elsewhere.
Fuck off.
Yeah, that’s clearly the message. They should pin it on the frontpage.
Well that and spez’ attempts to kill off any interesting community on Reddit. And the way it’s just an OnlyFans ad site now 🤭 Here the amateur spirit still lives on.
I really appreciate all the work on this.
Nobody replaces images with ads in eg S3 buckets? If the owner stops paying they just disappear.
As long as it’s a direct link to s3, for now. As soon as it’s a private domain it’s entirely possible to replace requests
Nobody replaces images with ads in eg S3 buckets
Nobody replaces images with ads in eg S3 buckets yet.
It’s an inevitable result of enshittification. Provide a service, get users hooked, extract as much wealth as possible from them, when you can’t extract any more without them leaving extract information from them, sell it to advertisers, extract as much wealth as possible from them, in part by turning as much of your service as possible into ads.
And we’re talking amazon here. You know they’ll be amongst the first three big companies to do it (alphabet’s gonna be first, of course, they’re already doing it with google search results, but amazon isn’t any better, just less ad focused for now).
S3 is a paid service though. They can’t just go mess around with their customer data. Most enterprises demand really strong protections (especially due to things like GDPR)
And most S3 buckets aren’t accessed directly by the user. If the files are being deleted the webserver in front will know that and won’t try to serve them anymore.
I totally agree enshittification is a thing but it’s more something that applies to business to consumer stuff than business to business. And S3 is squarely in the latter category.
If Amazon would replace the content of our work’s S3 buckets with ads we will be on azure a few days later for sure. And there will probably be a heavy lawsuit coming.
we will be on azure a few days later for sure
Ah, yeah, microsoft, the other one of the first three companies that’ll try to do this.
(They’re already messing with windows and 365, also paid products, so they’ll end up messing with azure too sooner rather than later.)
And there will probably be a heavy lawsuit coming.
Sure, and the EU will probably fine them into not doing it here, if we haven’t kicked them out and replaced them with something local yet.
The rest of the world will probably be screwed, though.
But no, seriously, I do envy your faith in humanity.
Treasure it. It won’t last, tragically.
Nefarious or not, I appreciate you calling out the problem
It’s always DNS.
Waves fist at the clouds ✊☁️ Damn you cloudflare!!!
cloudflare
I don’t understand why this malware is allowed to exist.
Their only purpose seems to be to stop the Internet from working properly.
Not to mention they man-in-the-middle every site that’s proxied through them. So that’s clear text passwords for every login at a proxied site.
Yikes
Cloudflare dives to me the no click internet
Godspeed fellow porn gremlins
I thought it was my client being a shit. Thanks for all your work.
I figured it was my connection.
Keep doing what you do!
Thanks for all your work!