La alternativa a ngrok para webhooks
ngrok es un excelente túnel genérico, pero para depurar webhooks resulta caro y no captura nada. El Relay de Webhook Toolkit es un túnel dedicado a los webhooks: URL permanente, CLI sin instalación. Al lado, el Receiver guarda el historial de tus peticiones y sabe reproducirlas hacia tu handler.
curl -fsSL https://webhook-toolkit.com/relay.js -o relay.js node relay.js --token=rly_xxx --to=localhost:3000
Preguntas frecuentes
¿El Relay sustituye a ngrok?
Para webhooks, sí. El Relay te da una URL pública permanente que reenvía cada petición a tu localhost. Para exponer un sitio web genérico, ngrok sigue siendo más adecuado; para depurar webhooks de Stripe/GitHub/Shopify, el Relay es más sencillo, y el Receiver guarda el historial al lado.
¿Hay que instalar algo?
No. La CLI del Relay es un único archivo sin dependencias que usa el WebSocket nativo de Node 21+. La descargas y la lanzas: node relay.js --token=… --to=localhost:3000.
¿La URL cambia en cada reinicio?
No, a diferencia de las URL gratuitas de ngrok. Tu URL de Relay es permanente, puedes dejarla configurada en tu API de terceros.
¿Puedo reproducir una petición?
Sí, sobre las peticiones capturadas por el Receiver: abre el inspector, elige la petición, pega la URL de tu handler y pulsa Reproducir. Reenviamos el método, los headers y el body originales —firma incluida— y luego mostramos el código de estado y la respuesta. El Relay reenvía en directo y no almacena nada: si quieres poder reproducir, pon delante también una URL de captura /r/<token>.