Going to look into a image optimizing proxy/CDN for damus users to reduce bandwidth usage, and to improve privacy and performance globally
Discussion
Many other clients already have this so time to catch up!
all the things 🔥
You could use the snort one, details are in the repo
What cdn does it use ?
Cloudflare cache reserve (R2 Bucket) behind that is another cache layer (Varnish) then imgproxy
ok great, this strips exif ?
Yes but it also doesn't protect the original URL, so i don't see why that would be important
good point
Ok I'll just use yours unless it costs you money to run, then i would rather run my own
It's pretty expensive, ask #[3] & #[4] they use paid services i just self hosted it
ah k probably best for damus to run its own then
I mean they pay for capacity, I pay the same every month no matter what so it doesn't make any difference to me
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
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.
I’d pay for this.
Apologies if this has been asked and answered, but are images stripped of geolocation info, etc. before being posted?
I will do this in the in-app uploader
Shouldn't be for every embedded things and not only images? Even small "title descriptions" on links
No 250 sat option for a zap on the IPad client? 
Just zap sent 0.1 sat :)))