if I can find the spoons this coming week, I think I want to try make a content autoresponder that just always gives something (user choice, but there's a few rich ideas) to any request from threads
could also expand it to "anything that touches fb infra" (web, smtp, ...) later
given that a lot of people are gonna block them, first thing I wonder about is whether they'll scale out scrapers to ec2/gcp/etc as circumvention attempts
I like that. if it’s a general enough bit of code that nginx can easily call out to it, I’m down to run it here
the scraper thing isn’t unlikely as Facebook is a bunch of filthy motherfuckers, but I’m personally not too concerned about them having our posts (which will almost certainly look like shit on their end, and generally aren’t the kind of content Facebook wants folks to see). I’m more concerned about the ease with which they can flood us with hatred and bottom of the barrel garbage posts, as having the highest volume of both those things on the planet is in fact their business model, as it was with AOL before them. Facebook has already shown how they’ll moderate threads, and we’ve already blocked instances that tolerate a similar level of hatred and garbage
Correct. My only ask for moderation for this instance is to keep the scale and tone under control, even if meant me being banned in the course of doing so. Your reasoningand approach is sound.
the tricky part is finding time/focus (big work thing happening this week which is eating a bunch of my time). should I not manage to get around to it, though, I guess I may as well write up design thoughts so anyone else can try it too. this will be for a sorta v1/try-it-out design. it will eventually need iteration (because if it works, this shit will arms-race just like adblockers)
design considerations:
threads has all of meta ip space to come from (as well as any cloud scaleout they wish to spend on)
threads/fb/meta will behave badly at some point
spoon availability to dig into and modify any existing fedi codebases (at least beyond seeing activitypub response formats used): 0
since they have all that IP space to use, it makes the most sense to match response for all of it. thus: hitting by ASN (or objects registered to such ASN) is probably the best wide hammer. the nginx geoip module (and the geoip2 module..) doesn't support ASN matches, and would be unwieldy. the geo module however does have an include statement which can read from a file - this might prove to be a better approach by which to classify source traffic. this file can then be updated separately, with an update kick to nginx whenever needed
once matching the client is done, the request can then be handled and responded to as needed. whether this needs to be a sub-application responding, or could be done by nginx config statements alone, I'm not sure yet. need to look into the request response surface area in activitypub before I can detail that