Just found out that a link to my image converter (WebP) posted here 3 months ago killed my VPS (out of disk space)

So today I received an alert from my VPS, telling me that I was soon going to be out of space (320GB total, got 32GB free). Being a dev/hobby/tools machine, I was 100% sure something wasn’t quite right.

Upon checking it, I found that a link I’ve posted here on Reddit a while back… Kind of “spreaded” elsewhere and attracted more people than intended.

I never implemented a script to auto-clean everything, as I never intended to publish it. Well, I was wrong, as it’s useful for other folks like me (apparently). On top of that, the link was posted in a comment of a comment of a comment, it wasn’t really visible.

The first version was entirely PHP based. All the upload/compression work was done on the server side (hence the space problem). Today I coded a new version entirely in JavaScript, to make it work 100% client-side. Also, no privacy issues (I could tell you stories about the uploaded photos…). So, in short, you will never upload anything to my server and I will never know if you’re a naughty boi or not. It was fun, though.


Should anyone need it, I moved the original link to this domain:


I tested it with 2000 photos at once (1.5GB size total) and it did the job pretty well. Sure, Chrome wasn’t exactly “happy” but it didn’t flinch or anything else.

You ran out of space because the images were stored on the server? But the website says that it’s 100% client side… Forgive me if I’m just being stupid.

Edit: I am being stupid. My sincere apologies. I didn’t read the post properly.

@Kieran
Yep, the first iteration was entirely server-side. It was an old script, I abandoned that solution a while back when I started coding webapps for smartphones, where the user often uploads huge photos from the device (making the entire process slower and more taxing on the server).

With a full client-side only JS solution, all the logic and CPU power is handled by the device, freeing my VPS from the burden.

@Kieran
Happens to the best of us :man_shrugging:

@Kieran
That switch was priceless :partying_face:

What library (if any) did you use for the compression? Squoosh?

Lin said:
What library (if any) did you use for the compression? Squoosh?

No library. I draw the uploaded image into a canvas element, convert to blob and then download the blob as compressed WebP (you can do it natively via JS).

Thank you, great tool!

Good job :clap::clap: and thanks!

Nice reaction, bumped for the tool I may need…

Yeah, you got me curious about the uploaded files. Cool story!

Thayer said:
Yeah, you got me curious about the uploaded files. Cool story!

Yeah well… Not extremely nasty stuff, in a legal sense, but still… People are weird :slight_smile:

Cool. I would try this out. Thanks!

Nice tool! FYI there’s a typo in the ‘Technical stuff’ section: Batch processing unlimted images.