Self-hosted webhook inspector. Single binary, SQLite, no external dependencies.
webhook.site is the go-to tool for debugging webhooks, but it sends your data to someone else's server. Stripe payloads, OAuth tokens, PII β all of it leaves your network. A lot of companies block it outright for that reason. Webhix runs on your own infrastructure and stores everything locally.
- π‘ Capture any HTTP method β headers, body, query params, IP, timestamp, content type, size
- π΄ Live UI updates via SSE β no page refresh needed
- πͺ Replay any request with one click
- π Custom responses β configure status, headers, and body (lightweight mock server)
- π CLI forwarding to localhost:
webhix forward <token> --to localhost:3000 - π Export as curl β copy any request as a runnable command
- π Full-text search and filter by HTTP method
- π Basic auth out of the box
- π³ Docker, Compose, or standalone binary
- πΎ SQLite by default β no Redis or Postgres required
| Webhix | webhook.site (self-hosted) | smee.io | tarampampam/webhook-tester | |
|---|---|---|---|---|
| Self-hosted | β | β | β | β |
| Single binary | β | β PHP + Composer + MySQL | β | β Redis or fs driver |
| Request history | β | β | β | β |
| Live UI | β | β | β | β |
| Replay | β | β | β | β |
| CLI forwarding | β built-in | β | β only this | β needs ngrok |
| Custom responses | β | β | β | β |
Webhix is the only tool combining single-binary deployment, request replay, and custom responses β no Redis, no PHP, no external tunnel services.
curl -fsSL https://webhix.online/install.sh | sh
webhix serve --base-url https://hooks.yourdomain.comOr download manually from releases.
docker run -p 8080:8080 -v webhix-data:/data \
-e WEBHIX_BASE_URL=https://hooks.yourdomain.com \
ghcr.io/gaisbax/webhixservices:
webhix:
image: ghcr.io/gaisbax/webhix
ports: ["8080:8080"]
volumes: ["./data:/data"]
environment:
WEBHIX_BASE_URL: https://hooks.yourdomain.comwebhix serve
# Listening on http://localhost:8080Endpoint URLs follow the pattern https://<base-url>/r/<token>.
Auth is optional. If not configured, the dashboard is open to anyone with network access β recommended for local use only. To protect it, set one or both:
# Basic auth password (browser login)
WEBHIX_PASSWORD=yourpassword webhix serve
# Secret key for API / CLI access (Authorization: Bearer or X-Webhix-Key header)
WEBHIX_SECRET_KEY=yourkey webhix serve
# Both at once
webhix serve --password yourpassword --secret-key yourkeyWebhook capture URLs (/r/<token>) are always public β no auth required there.
Works behind Caddy, Nginx, Traefik. Reads X-Forwarded-* headers automatically. Set --base-url or WEBHIX_BASE_URL to match your public domain.
| Env var | Default | Description |
|---|---|---|
WEBHIX_BASE_URL |
http://localhost:8080 |
Public base URL for generated endpoint links |
WEBHIX_ADDR |
:8080 |
Address to listen on (e.g. 0.0.0.0:9000) |
WEBHIX_DB_PATH |
./data |
Path to SQLite database directory |
- Written in Go, compiles to a single binary
- SQLite by default, no external database required
- UI is embedded in the binary via
go:embed - Runs on Linux, macOS, Windows (amd64 + arm64)
- Memory usage under 50 MB at idle
- Multi-user support with basic RBAC
- Webhook signature verification (Stripe, GitHub style)
- Schema validation
- Notifications on new requests (Slack, Telegram, Discord)
- Optional Postgres support
- Auto-HTTPS via Let's Encrypt (no reverse proxy needed)
- Tunnel mode β connect Webhix to a managed relay and get a public URL without a server
AGPL-3.0. Self-hosted use is always free and open source.
If you want to run Webhix as a network service and keep your changes private, contact us for a commercial license.
