Forward events to localhost
Send the real events an endpoint receives to a server on your machine while you build.
These pages describe ShellOrbit as it runs today. Breaking changes to the HTTP API are announced before they ship, and existing request and response shapes stay supported.
What does it do?
shellorbit-listen is a small command line script that watches one endpoint and sends a copy of every new event to a URL on your machine. You build and debug your handler against real provider traffic, with the original headers and body, without a tunnel and without exposing your machine to the internet.
Your endpoint’s destinations still get every event as usual. The local copy is extra.
How do I run it?
You need Node 18 or later, and an API key from Settings, API keys. A read only key is enough.
curl -O https://shellorbit.com/downloads/shellorbit-listen.mjs
export SHELLORBIT_API_KEY=your_key
node shellorbit-listen.mjs ep_example http://localhost:3000/webhooksReplace ep_example with the endpoint id from its page in the dashboard, and the URL with your local handler. Every new event is sent there as a POST, and one line per event shows the result:
Forwarding new events on ep_example to http://localhost:3000/webhooks. Press Ctrl+C to stop.
evt_2Lq9 checkout.session.completed -> 200 in 41 msEvents that arrived before you started are not replayed. To send an older one again, use replay in the dashboard.
Will my provider’s signature still verify?
Yes. The original headers and body are forwarded byte for byte, so code that checks a Stripe, GitHub, or Standard Webhooks signature works locally with the same secret. Signatures carry a timestamp, so check them within a few minutes of the event arriving, or relax the tolerance while developing.
If the endpoint has privacy masking on, the forwarded body is the masked one, the signature will not match, and the script says so.
Options
| Option | Default | What it does |
|---|---|---|
--interval | 2 | Seconds between checks for new events |
--api | https://api.shellorbit.com | API address, also read from SHELLORBIT_API_URL |
The script checks for new events every two seconds and handles up to 50 new events per check, which is plenty for development traffic. It is a single file with no dependencies: read it before you run it.