"Recently, imgur has announced a plan to delete images uploaded anonymously (i.e. if you hadn't created an account and logged into it before uploading). This was the nudge we needed to pick up an old project that had been sitting half-done around for years: an image cache.

From now on, all album art, artist images and user avatars will be saved and served by our own proxy server. This not only makes the site less reliant on the goodwill of external image hosters but also gives a nice privacy boost to all our users.

For the average user nothing will change. However, please do not share links to images on the new proxy server, running at imgcache.opsfet.ch, on other websites. Links will regularly cycle and invalidate after some days.

We have added all imgur images to our cache in order to not suffer any losses in the coming imgur apocalypse. All other images will be downloaded on demand.

Adding a bit of trivia, ----'s first ideas of this image proxy are older than my staff account, with an initial implementation late in 2021 followed by last weekend's re-implementation and completion, especially of the missing bits in Gazelle. Shout-out to ---- for the Gazelle part!

The first implementation of the proxy in nginx was written in lua, utilising nginx's internal api and imgproxy for on-the-fly image shrinking and resizing. Unfortunately, that part of nginx has since been moved out of the main nginx tree and requires running the openresty fork these days. That led to me re-implement the functionality as a python ASGI service, combined with nginx.

The x150 is the resizing directive (clip if wider than 150px), followed by a time-sensitive signature (sJwqDbyPNJh0a5Ma), and the remaining part is the base-64 encoding of the original url. For everyone wanting to know all the details, the Gazelle code will be push to github some time, the python code and nginx config is available at https://github.com/OPSnet/imageproxy-py

As this is a bit of hassle for writers of user scripts to work with, the original unencoded url is stashed in the img original-data-src attribute. Don't worry if you don't understand this, writers of user scripts will

We will see how much storage space this takes up. One addition we are considering is to cache the images in torrent uploads, as these are usually spectrograms and worthwhile saving.

Now you have absolutely no reason not to add images to uploads, or create yourself a nice little avatar!"