Didn't sleep to well last night, had too many thoughts, one of them being:
append-to big-tech-scraper.user-agents {
"FancyNewBigTechBullshit"
}
remove-from big-tech-scraper.user-agents {
"googlebot"
}
set demo-hosts {
"poison.example.org"
}
Easily adjust various lists from configuration, at no runtime cost. The lists would be assembled and turned into an appropriate matcher (regex or aho-corasick) at compile time, once at startup. A built-in list, and an adjusted list would have exactly the same runtime cost.
No need to modify the script itself if you want to add more stuff.
Furthermore...
This would have some additional runtime cost, because I have to store the custom matchers and rules somewhere, and there's a tiny lookup cost there.