LedgeDrop@lemm.ee 4 weeks ago
Wow, thanks for the full transparency. You are awesome!
My opinion would be option 2 (proxy requests) , but with a higher cache TTL or simple a LRU (Least Recently Used) Cache.
If you’re getting throttled, it could be mitigated by increasing the cache retention period (or improving the cache hits).
Another improvement : Would it be possible to change the proxy, so that if the proxied requests are throttled, it simply sends the user a http-302 to the origin (instead of a broken image)?
Regarding option 1 (full cache) : I greatly appreciate your desire to hide/protect your users ip, but it is outside the scope of what I expect from a Lemmy server. Maybe you could market and upsell this increased privacy as a subscription based feature. However, if I want privacy - I’ll use a VPN.
Regarding option 3 (User fetches content from origin) : From a users perspective, I really don’t want my Lemmy experience to be based on hitting a bunch of (potentially) unreliable services. When I, as a lemm.ee User, request a post from Lemmy.world (for example), lemm.ee will proxy and cache that post and the comments. This is the distributed nature of Lemmy (as far as I understand). Why restrict this caching to just posts/threads/comments and not include images (which, let’s face it, are as meaningful as pure text - especially wrt memes).
JakenVeina@lemm.ee 4 weeks ago
I’ll wager “no” to your question. That sounds like something the Lemmy codebase itself would have to implement, not smething that’s just configurable.
LedgeDrop@lemm.ee 4 weeks ago
It’s sad, but I think you’re right.
I assumed/hoped that Lemmy’s architecture was more decoupled.
According to the ChangeLog, it hints that the image reverse proxy is built-in, maybe using Pict-rs.
Which certainly reeks of Not Invented Here Syndrome, as image uploading/storing, reverse proxies, and caching is a well understood problem.