#til about https://github.com/kyprizel/testcookie-nginx-module, which is an nginx module that can be used to block sloppy crawlers. there's no proof-of-work, not even a need for client-side js. it's just setting a cookie and redirecting the browser to refresh and pass on the original request once the cookie is set.
there have been some comments from the author of iocaine, a tool that is intentioinally feeding malicious crawlers lots of garbage, that the crawling bots are often implemented with very low effort (see for example https://chronicles.mad-scientist.club/tales/surviving-the-crawlers/#three-ifs-in-a-trenchcoat).
so i assume there's a good chance that any hurdle between request and response will cut off a significant amount of them.
i'll try and write a blog post documenting how to compile and configure the module later today.
i still haven't written the blog post because i want to gather some stats and see how much this actually makes the crawlers stumble. i saw that prosody does something similarly low-tech, they just make you click a button: https://hg.prosody.im/prosody-modules/rev/4c8b66da4dec
this doesn't seem to set a cookie, they might just allowlist your ip afterwards (i didn't see the button anymore even when i tried different clients)
Community Modules: revision 4c8b66da4dec: mod_default_bookmarks: Bail on empty 'default_bookmarks' to fix traceback