Relay operators seem to have a varied needs, so I built a plugin system for Booger that uses Web Workers. The goal was to enable the addition of defenses to Booger without needing to touch Booger's core.
The stretch goal with Booger Plugs is to eventually provide
- much of Booger's opinionated behavior as a plugin
- a way to add new NIPs to Booger just through plugins
It's all rather experimental. I'm not sure how well Web Workers will perform (or Booger generally even) in practice, but I found Web Workers very convenient to use.
I'll soon add some basic defenses to Booger as one or many Booger Plugs before attempting to design a deployment.
Nitty gritties in the readme:
https://github.com/stackernews/booger/tree/main/plugs