Skip to content

πŸ“¬ **WebhookHub** is a lightweight, self-hosted service for receiving, logging, and forwarding webhooks.

Notifications You must be signed in to change notification settings

Paramoshka/WebhookHub

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

18 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

WebhookHub

πŸ“¬ WebhookHub is a lightweight, self-hosted service for receiving, logging, and forwarding webhooks.

Use it to debug, inspect, replay, and route incoming webhooks during development or in production. No third-party services, no cloud lock-in β€” just full control.


πŸš€ Why WebhookHub?

When working with external services (Stripe, GitHub, Telegram, Shopify, etc.), developers often face the same pain points:

  • ❓ Where did the webhook go? Why didn’t my service receive it?
  • πŸ” How do I replay a webhook for debugging or recovery?
  • πŸ” How do I inspect payloads and headers easily?
  • πŸ“‘ How can I fan-out one webhook to multiple services?

WebhookHub provides a simple, developer-friendly solution to these problems.


✨ Core Features (MVP)

  • βœ… Receive webhooks at /hook/:source
  • βœ… Log full payloads, headers, timestamps
  • βœ… Replay any webhook via Web UI
  • βœ… Forwarding rules per source (fan-out, routing)
  • βœ… Web dashboard with filters, pagination
  • βœ… Secure login (admin account)
  • βœ… Postgres + GORM backend
  • βœ… Dockerized and ready to deploy

πŸ“Œ Roadmap

MVP - v0.1

  • Accept and log webhooks
  • View logs with filters and pagination
  • Replay webhooks on demand
  • Add/edit/delete forwarding rules
  • Delete individual webhook logs
  • Admin auth (session cookie + bcrypt)
  • PostgreSQL + GORM backend
  • Docker + compose setup

v0.2+

  • HMAC signature verification (e.g., Stripe-style)
  • Delivery status tracking + metrics
  • Dead-letter queue
  • Ngrok/localtunnel integration (for local dev)
  • OpenAPI schema
  • Plugin system for custom processors

πŸ› οΈ Tech Stack

Component Technology
Language Go
Database PostgreSQL (via GORM)
UI HTML + HTMX
Auth SecureCookie + bcrypt
Container Docker + Compose

πŸ“¦ Getting Started

git clone https://github.com/yourname/webhookhub
cd webhookhub
docker-compose up -d --build

πŸ” Generate Session Key

WebhookHub uses a 32-byte secret key to sign session cookies.
You must set this in your .env file as SESSION_HASH_KEY.

To generate a secure random key:

openssl rand -hex 32
curl -X POST http://localhost:8080/hook/test \
  -H "Content-Type: application/json" \
  -H "X-Webhook-Source: test" \
  -d '{"event":"test.ping","message":"Hello from test curl"}'

πŸ“„ License

This project is licensed under AGPL-3.0 for self-hosted and open-source use.

Commercial SaaS deployment or integration into paid platforms requires a separate license. Contact [ivan.parfenov.42a@gmail.com] for details.

About

πŸ“¬ **WebhookHub** is a lightweight, self-hosted service for receiving, logging, and forwarding webhooks.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published