Documentation
beam
Tunnel public webhooks straight to localhost— on Cloudflare Workers + Durable Objects, with a single-binary Go CLI. Like ngrok/Smee.io, but it's your edge, your domain, your token.
The core loop
Start here
Install the beam CLI, drop your token in a config file, and forward your first webhook to localhost.
Claim a public name over one WebSocket and replay every delivery — all methods, sub-paths, and queries — to a local port.
Fire a delivery at a hub without retyping the URL — a tiny curl preset that reuses your server and key from config.
Browse
Commands
Every beam subcommand, its flags, and what it does.
Security model
Token-gated listen, optional per-webhook key, what the open delivery side means.
Deploy your own
Publish the Worker + Durable Object to your own Cloudflare account and domain.
How it works
The request path: Worker → Durable Object → WebSocket → your CLI → localhost.
Design notes
Sticky decisions: idFromName, hibernation, base64 envelopes, kong.
FAQ
What beam is not (yet), and why.
Your edge, your domain, your token.
One Worker, one Durable Object class, one Go binary. No tunnel vendor in the middle — just a stable public URL pointed at your localhost.