hello. i'm a happy user of lemmy.today.

i've always used the mlmym frontend available on old.lemmy.today, it generally works well enough. however, there are some minor minor bugs and missing features. (e.g. impossible to navigate to next page when viewing saved posts, impossible to see down/upvotes separated)

i recently came across this fork of mlmym (from this github issue) and it seems to have all those bugs fixed. can we replace the current mlmym with this fork?

thanks for reading

you are viewing a single comment's thread
view the rest of the comments
[–] 2 points 2 months ago (1 child)

Yeah, I have a custom setup currently just to try and get the source ip, but it doesn't work properly in all cases. And most of the bots use old.lemmy.today since they know mlmym doesn't forward the source ip address, and therefore it's hard to rate limit them.

So it would be amazing if you could forward those 4 headers. Then I will setup nginx to forward those headers to mlmym, and mlmym will forward them when making a request to Lemmy.

I actually thought it was making a https connection to Lemmy but perhaps it doesn't, and nginx just forwards http to https. Not sure. Will have to look into this more.

But yeah, whenever you have time to add the headers, i will investigate more. Not super urgent but will be interesting to play with that later. And it will protect all Lemmy instances that use your fork, so thats good.

  • source
  • parent
  • hideshow 2 child comments
  • [–] 2 points 2 months ago (2 children)

    Then I will setup nginx to forward those headers to mlmym

    If you configure it to set X-Forwarded-For, you should have at least that information now already.

    I actually thought it was making a https connection to Lemmy but perhaps it doesn't

    That depends on the setup. If you haven't already, you should definitely set LEMMY_INTERNAL_URL so that mlmym connects to lemmy directly without TLS or a reverse proxy, which should be a lot faster (but that's only possible if they're running on the same machine, of course).

    X-Forwarded-Proto is supposed to say what protocol the user (of mlmym) originally connected with though, right? Which will still end up being https in the common case of it being behind a reverse proxy that does TLS.

  • source
  • parent
  • hideshow 4 child comments
  • [–] 2 points 2 months ago (1 child)

    I ended up using the external nginx for setting rules for rate limiting and such, and there I see the real ip. It's before traffic even gets to mlmym so that's good.

    Also made sure to make it use the internal Lemmy url and skip a lot of the proxy stuff I was using earlier. It seems faster now.

  • source
  • parent
  • hideshow 2 child comments
  • [–] 2 points 2 months ago (2 children)

    I implemented the headers today, so version 26.2.1 should hopefully do this correctly now.

    I could only really test it in my deployment, so feel free to let me know if you have any issues!

  • source
  • parent
  • hideshow 4 child comments
  • [–] 2 points 1 month ago

    It works! I discovered way too late that lemmy was rate limiting traffic from mlmym, because it wasnt part of my nginx config. It was lemmy itself that was doing rate limiting since all requests came from the same docker ip.

    But forwarding the real ip headers fixed that, so very good. Huge thanks!

  • source
  • parent