A la hora de probar aplicaciones web o conectarse a ordenadores remotos, es probable que estos no sean accesibles directamente desde Internet porque no disponen de dirección web desde la que conectarse. O algunas veces necesitamos usar una conexión HTTPS para probar nuestros programas, que es más compleja de configurar.

ngrok permite crear túneles HTTP y TCP públicos desde nuestro ordenador de manera rápida y sencilla. Con la versión gratuita tenemos acceso hasta cuatro túneles activos en subdominios aleatorios. Si optamos por un plan de pago, podremos reservar dominios para poder utilizar siempre la misma dirección.

Una vez registrados, tendremos que descargarnos el programa que nos permite establecer los túneles entre nuestro ordenador y el servidor público. Ahora deberemos indicarle nuestro token de acceso privado para poder gestionar los túneles:

./ngrok authtoken token

Ya podemos crear túneles públicos a nuestros servicios locales. Por ejemplo, si tenemos un servidor web ejecutándose en el puerto 8000, usaremos el siguiente comando:

./ngrok http 8000

La herramienta cuenta con numerosas opciones que podemos utilizar. Por defecto, los túneles de ejecutan en un centro de datos de Estados Unidos, aunque podemos elegir la ubicación para que se use el centro de datos de Europa:

./ngrok http -region=eu 8000

También podemos proteger los túneles mediante un usuario y una contraseña con la opción auth:

./ngrok http -auth="usuario:contraseña" 8000

Imagen | Jakob Søby en Unsplash