Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Interception of published events for processing #116

Open
Semisol opened this issue Dec 29, 2022 · 0 comments
Open

Interception of published events for processing #116

Semisol opened this issue Dec 29, 2022 · 0 comments
Assignees
Labels
enhancement New feature or request

Comments

@Semisol
Copy link

Semisol commented Dec 29, 2022

Is your feature request related to a problem? Please describe.
I think that interception of all incoming events would be useful for:

  • people creating their own filters for spam
  • dynamic whitelists
  • pay-per-event relays

Describe the solution you'd like
There should be a way for any app to connect to the relay (gRPC, WS, doesn't matter, and could probably have authentication) and hook into all events being sent with the following information included:

  • IP address (should account for X-Forwarded-For)
  • The event itself
  • the origin header

and the connected client could answer with one of the following:

  • accept
  • silently drop (OK as if nothing happened but do not persist and relay)
  • drop

in the future, AUTH could be required. there should be a configuration option to block all event publishing if there is no connected client that is intercepting the events. (such as for a dynamic whitelist, I wouldn't want to allow non-whitelisted people from posting because the script I wrote went down)

Describe alternatives you've considered
None

Additional context
In the future, this could be extended to more things.

@Semisol Semisol added the enhancement New feature or request label Dec 29, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants