A while back I wrote a little daemon that blocks, at the firewall level, any IP address that makes a request to it. Useless, unless there's a reverse proxy like Varnish in front of it with some rules that detect some kinds of bogus requests.
It was pretty hackish but has been working well for over a year. HTTP logs are a lot easier to digest now.
I spent some time today cleaning it up and changing it to use ipset(8) instead of ufw, so that more people can use it.