⚠️ Warning: This project is not stable yet. Feel free to join the Discord so we can build together https://discord.gg/w2fBSz3j
SendHooks Engine is a high-performance, scalable tool for managing and delivering webhooks. It uses modern architectural patterns to efficiently handle webhook processing, making it an ideal choice for applications requiring reliable and quick webhook delivery. Written in Go, SendHooks takes full advantage of the language's concurrency and performance features.
- High Performance: Utilizes Golang's efficient concurrency model for fast webhook processing.
- Scalable Architecture: Designed to handle varying loads with a queue-based approach.
- Secure: Supports SSL/TLS for Redis connections and authenticates webhook messages for security.
To run SendHooks using Docker, a config.json
file is required. This file contains necessary configurations including the Redis server address.
-
Pull the Docker Image:
docker pull transfa/sendhooks:latest
-
Run the Docker Image with
config.json
:docker run -v /path/to/config.json:/app/config.json -t transfa/sendhooks
Replace /path/to/config.json
with the path to your configuration file.
Ensure that the config.json
file is located in the same directory as the binary.
- Download and Run the Binary:
curl -LO https://github.com/Transfa/sendhooks-engine/releases/latest/download/sendhooks chmod +x sendhooks ./sendhooks
- Redis Client: Interacts with Redis streams to manage incoming webhook messages.
- Queue: Buffers messages ensuring smooth flow and handling of sudden influxes.
- HTTP Client: Processes each message, sending it as an HTTP POST request to the intended URL.
- Utilizes Go routines for simultaneous operations, enhancing efficiency and responsiveness.
- Employs a buffered channel (queue) for concurrent message handling.
- Configurable for SSL/TLS encryption with Redis, ensuring secure message transmission.
- Includes a secret hash in HTTP headers for message authenticity verification.
We welcome contributions from the community. If you'd like to contribute, please check out our list of issues to see how you can help.
You can find how to contribute in the CONTRIBUTING file.
You can find our security policies on SECURITY.