npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

hostwh

v0.1.13

Published

HostWebhook CLI — stream and forward webhook events

Readme

hostwh

Early Access — This CLI is in early access. The interface may change between versions. We'd love your feedback — report an issue if you run into anything.

HostWebhook CLI — receive, inspect, and forward webhook events to your local machine.

Stream live webhook traffic from hostwebhook.com directly into your terminal. No port-forwarding, no ngrok, no firewall rules.


Install

npm install -g hostwh

Requires Node.js 18+.


Quick start

# 1. Create an account (or log in if you already have one)
hostwh signup
# or: hostwh login

# 2. Create a temporary tunnel to forward webhooks locally
hostwh forward http://localhost:3001/webhooks
# Copy the displayed ingress URL into Stripe/GitHub/etc.
# Press Ctrl+C to stop — endpoint is auto-deleted

Commands

hostwh signup

Create a new HostWebhook account. Prompts for name, email, and password. A verification email is sent — run hostwh login after clicking the link.

hostwh signup

hostwh login

Authenticate with your HostWebhook account.

hostwh login

hostwh logout

Remove stored credentials.

hostwh logout

hostwh create

Interactively create a new endpoint. Prompts for name, target URL, description, and max retries.

hostwh create

You can also pass flags to skip prompts:

hostwh create --name "my-app" --url https://myapp.com/webhooks

| Flag | Description | |------|-------------| | -n, --name <name> | Endpoint name | | -u, --url <url> | Target URL (production URL) | | -d, --description <text> | Optional description | | -r, --retries <n> | Max retries after a failed delivery (default: 3). A retry is an additional attempt — 3 retries means up to 4 total attempts. Plan limits apply (Free: max 3, Pro: max 10). |

After creation you'll get an ingress URL — give it to Stripe, GitHub, or any service that sends webhooks.


hostwh listen <id>

Stream webhook events in real-time for an endpoint.

hostwh listen <id>

Tunnel mode — forward to localhost

hostwh listen <id> --forward http://localhost:3001/webhooks

In tunnel mode the CLI intercepts each delivery and proxies it to your local server, then reports the HTTP status back to the platform. This is the primary workflow for local development.

| Flag | Description | |------|-------------| | -f, --forward <url> | Forward events to a local URL | | --show-payload | Print the full JSON payload | | --show-headers | Print forwarded request headers |

Example output:

  my-app  a1b2c3d4  active
  Tunnel → http://localhost:3001/webhooks  press Ctrl+C to stop

  12:04:01  tunnel  a1b2c3d4  http://localhost:3001/webhooks  HTTP 200  43ms
  12:04:08  tunnel  b2c3d4e5  http://localhost:3001/webhooks  HTTP 200  31ms

hostwh endpoints

List all your endpoints.

hostwh endpoints

Subcommands

hostwh endpoints create          # Create a new endpoint
hostwh endpoints show <id>       # Show details and ingress URL
hostwh endpoints delete <id>     # Delete an endpoint and all its data

hostwh delete <id>

Delete an endpoint and permanently remove all its events and delivery history.

hostwh delete <id>
hostwh delete <id> --yes         # Skip confirmation prompt

hostwh forward <local-url>

Create a temporary tunnel endpoint, forward all incoming webhooks to your local server, and automatically delete the endpoint when you press Ctrl+C.

hostwh forward http://localhost:3001/webhooks

This is the fastest way to test webhooks locally without creating a permanent endpoint. When you stop the session the endpoint is cleaned up automatically.

| Flag | Description | |------|-------------| | --show-payload | Print the full JSON payload for each event | | --show-headers | Print forwarded request headers |

Example output:

  Creating temporary endpoint...

  Ingress URL  https://api.hostwebhook.com/in/whk_abc123...

  Copy this URL into Stripe, GitHub, or any webhook provider.

  Tunnel active → http://localhost:3001/webhooks  press Ctrl+C to stop and delete

  12:10:01  tunnel  a1b2c3d4  http://localhost:3001/webhooks  HTTP 200  38ms
  12:10:14  tunnel  b2c3d4e5  http://localhost:3001/webhooks  HTTP 200  41ms

  Deleting temporary endpoint...
  Endpoint deleted.

Note: If the process is killed forcefully (e.g. kill -9) the endpoint remains under the name forward-<8chars> and can be deleted from the dashboard or with hostwh delete.


hostwh upgrade

Upgrade the CLI to the latest version.

hostwh upgrade

Endpoint IDs

All commands accept either the full UUID or just the last 8 characters shown in the endpoint list:

hostwh listen a1b2c3d4
hostwh delete a1b2c3d4

Local development workflow

Ephemeral (no setup required)

hostwh forward http://localhost:3001/webhooks

Copy the displayed ingress URL into Stripe, GitHub, or any service. Stop with Ctrl+C — endpoint is deleted automatically.

Persistent (reuse the same URL across sessions)

  1. Create a permanent endpoint:
hostwh create --name "stripe-dev" --url https://myapp.com/webhooks
  1. Copy the ingress URL and configure it in your webhook provider
  2. Run the tunnel locally:
hostwh listen <id> --forward http://localhost:3001/webhooks --show-payload
  1. Trigger a webhook — it appears in your terminal and is forwarded to your local server instantly

Support

Found a bug or have a feature request? Report an issue on our website.


Privacy

Your webhook data is yours. HostWebhook is built with privacy as a core principle:

  • Your payloads stay between you and your endpoints — we never sell, share, or use your data for training.
  • Encryption in transit — all traffic between the CLI, the platform, and your endpoints is sent over TLS.
  • Minimal data retention — event payloads are stored only for delivery and debugging, and are automatically purged based on your plan's retention window.
  • No tracking, no analytics — the CLI does not collect telemetry or usage data.

License

MIT