Stop Using ngrok for Webhook Testing (A Simpler Way)
Source: Dev.to
The Problem with Traditional Webhook Testing
Debugging webhooks has always been… annoying.
If you’ve worked with Stripe, GitHub, or any webhook‑based system, you probably know this flow:
- Start your local server
- Run ngrok
- Copy the public URL
- Paste it into your provider
- Restart ngrok → URL changes
- Repeat everything again
It works, but it’s not smooth. Webhook testing often involves:
- Managing tunnels
- Dealing with changing URLs
- Debugging blindly when something fails
When you’re just trying to test a simple webhook, this overhead slows you down.
A Simpler Way
What you want is:
- Run one command
- Get a webhook URL instantly
- Send requests
- See everything in real‑time
- Forward directly to your local server
No setup. No accounts. No friction.
How It Works
-
Start your local server (e.g., on port 3000).
-
Run the following command:
anonymily listen 3000You’ll instantly see:
Forwarding to http://localhost:3000 Webhook URL: https://api.anonymily.com/h/abc123 -
Send your webhook to the provided URL.
The requests hit the public endpoint, are streamed in real‑time, and are automatically forwarded to your localhost. You’ll see the response instantly, e.g.:
POST /webhook 200 OK (120ms)No refreshing. No guessing.
What It Supports
- Stripe webhooks
- GitHub events
- Shopify hooks
- Any custom webhook system that sends HTTP requests
If it sends an HTTP request, it works.
Benefits
- No tunnel setup
- No configuration files
- No login required
- Instant endpoints
- Real‑time inspection
Just run → test → debug. When you’re developing locally, speed matters.
Data Handling
- All webhook data is stored in memory.
- Data is automatically deleted after 24 hours.
No manual cleanup is needed.
Try It Out
If you’re tired of setting up ngrok just to test webhooks, give this a try:
👉
This is an early version, and feedback is welcome. Let us know:
- What works well
- What’s confusing
- What you wish it had
Drop your thoughts below.