yeah i just bumped into it yesterday for the first time and most of it is really muddling domains, and not using existing data
i already have an access whitelist control that simply uses protocol follow and mute events to construct the list for access control, for example, there is no need to have a second database for this, you see what i mean?
IP blocking is a different thing but again it would be simpler to just make a shim that filters this access and configure it through its own interface, this is another API call i see in there, again, it doesn't honestly belong in the API of a relay because it can be more efficiently done at the network layer, same as access control can be done using nostr's event types
regarding the IP access control list, you may have heard of a little thing called "fail2ban" which is the kind of IP address rate limit/access control system i would recommend, if a relay really is getting that much unwanted traffic there are dedicated tools and ratelimiters for this that shield the relay
yeah the OP was wanting create relay api. which a relay itself, cant really have.
thanks for the explanation of this list updater/etc, gives me some stuff to think about. i have always been running essentially two apis. one over nostr events, and one http. so i think about it a lot 😅