It would be cool if we could just pool resources to all use a single imgproxy, im up for hosting that since its cheapest option
Discussion
I was thinking of just not displaying any profile picture/banner of over 200kb to get users to actually replace heavy images if they want others to see them.
I think a bit of enforcing design would go a long way to avoid centralizing servers.
We could even adopt a URL suffix to ask for the right size of the app. Those who comply can have extremely high resolutions and low resolutions with the same URL.
Its centralized by design, its to protect IP's of the the visitors.
In snort you can configure your own imgproxy but i doubt anybody sets it
You can still use the proxy to hide IP. My point is strict with image size.
I cannot use Snort without its proxy. It gets too heavy to render for my user.
Hmm i never had much problem with it off, but it general size is a problem
At least on snort users are forced to upload their avatars to void.cat which compresses them to webp
Ive seen many GIF avatars in the 10s of MB's and this can be compressed into hundreds of KB
There is a good amount of +20MB profile pictures and banners. It's not only gifs. Many times they are there just because the user never thought about the size.
I guess the simple thing to do is to actually use the imgproxy to convert the file for you then upload that instead, but you have a problem with resolutions
In terms of protecting IP address of user downloading images. Can use COIL-compose and configure the ImageLoader to use a separate OkHttp client (which can be instantiated with Tor SOCKS5 proxy).
In terms of reducing mobile data, I think COIL resizes it on the fly based on the composable view size that it'll be loaded into. Still might be downloading the entire size though. IMO, imgproxy would be the best way to go.
Wish I could run it in a FreeBSD Jail 😢, otherwise I would totally host my own.