There seems to be a GTA 5 game mod, or something, that seems to make HTTP requests directly to mastodon.social, with insane frequency. Intentional or not, it's basically a DDoS. The requests used to come with HTTP referrer "nui-game-internal" but I just found they switched their user agent to mask as a browser.
On the one hand its Gargrons right to allow whatever services he wants to access his API. This is no different than blocking a fediverse server. That said I think its unfair to call this a DDOS or even a misuse of the API.. In fact I'd say this is the very purpose of an activity pub endpoint, so anyone can access the data and interoperate with the server as they see fit.
@freemo @mkljczk @xorowl @jimpjorps Again, it's distributed DoS because they release this software (a game mod) to end-users whose IPs are the ones hitting the endpoints. As far as I understand, anyway. I'm currently analyzing the log files to find out how many unique IPs the requests are coming from.
I cant speak to Gargron's setup but I think most setups would be able to handle 3400 RPM on the outbox without even batting an eye.
Also by that logic if too many people start using mastodon clients on their phone or desktop then that is a DDoS since enough of them are distributed and would lead to resource depletion.
then I misread it, that is on the high side.. though depends how many users were doing it. I would imagine mastodon clients in general produce more requests per second than that collectively but we wouldnt call those a DDoS... I dunno we are arguing semantics though, does it even matter what we call it?
@freemo @tek @rysiek @mkljczk @xorowl @jimpjorps For comparison, average mastodon.social traffic is 200 req/s. I don't think it matters what we call it though. In my view it's a denial-of-service when it impacts performance due to unintended use, though maybe you could expand that to intended use as well. While the individual endpoints are intended to be used, it is the frequency with which they are retrieved that is unintended.
Agreed. It seems to me this is just a poor implementation that is "rude" and pings the endpoint **way** too much and they were too lazy (or didnt know enough) to add the appropriate caching. Call that what you will, it isnt important. But either way they made a error.
Also, it's not 3400rpm, it's 3400rpm from a single small group of users. With all other requests being handled, that might be enough to create issues.
And finally, if the admin of an instance says this is too much, it's too much. If they want they can run their own servers, instead of getting high on their entitlement.
Yea that is an explanation that I think is more accurate. Also, frankly, he doesnt need a reason to block it, but yea I'd say his reasonings are fine. I just wanted to pointed out I think DDoS is just a bit harsh and im not sure the author really had any ill intent.
@jimpjorps @Gargron @mkljczk
MFW this whole thread and git
@Gargron _maybe don't pretend to support some open protocol if you block anyone using the API on your federated instance_ lol
@Gargron oh shit… I bet this explains our dramatic server usage the past time!
Any way we can block this?
@stux I used to block by referrer in nginx, and I'm now also blocking by user agent
Requests don't come from servers but from players' IPs (I believe) which is why it's a distributed-DoS and not just a DoS.
@Gargron Could you maybe share this extra addition with us so we can also protect ourselves?♥️😸 These days we have tons and tons of ‘RP Gameserver’ acvounts.. mostly using FiveM
I don't even understand why they are doing this and misusing Fediverse infrastructure when this code seems to be for running dedicated servers; what even are they hoping to gain from this?
if they wanted to show toots in a GTA in game browser, surely there are better ways of going about it (like asking people on the Fedi to help as many on here enjoy the game?)
hmm, so it looks like they are trying to use Fedi servers to store part of their userbase (maybe to get round the responsibilities of GDPR or their countries laws about storing the userdata?) TBH anything like that is certainly best yeeted out of the Fediverse until or unless they can behave better...
Server run by the main developers of the project It is not focused on any particular niche interest - everyone is welcome as long as you follow our code of conduct!