Share your local server with a secure public URL. Test webhooks, preview your work, and connect to local services without opening ports on your router.
Install the CLI, sign in, and expose your local app:
npm install -g outray
outray login
outray 3000OutRay gives you a public HTTPS address that forwards requests to localhost:3000. WebSocket connections are supported too.
For TCP and UDP services:
outray tcp 5432
outray udp 25565Bring OutRay into your application or development workflow:
- Core — programmatic tunnel client and shared HTTP capture utilities.
- Observability — Node.js traces, logs and metrics, built on OpenTelemetry.
- Express, Hono, NestJS, Next.js and TanStack Start — framework integrations.
- Vite — integrate tunneling into your dev server.
The CLI also includes Secrets commands. See outray secrets --help for available workflows.
apps/cli— theoutraycommand.apps/tunnel— the HTTP, TCP, UDP and WebSocket tunnel edge.packages— SDKs, framework integrations and shared runtime utilities.plugins/outray— the OutRay MCP client plugin.
Use Node.js >=22.19.0 and npm >=10. Install and build:
npm ci
npm run build
npm testTo develop the tunnel edge locally, copy .env.example to .env and configure Redis and an authenticated control-plane API before running npm run dev:tunnel.
Contributions are welcome. See CONTRIBUTING.md for development guidelines.
MIT. Third-party notices and historical release licenses remain applicable to their respective code and versions.