La alternativa de código abierto a ngrok que los desarrolladores prefieren (Zrok)

BBetter Stack
Internet TechnologySmall Business/StartupsComputing/Software

Transcript

00:00:00En un mundo perfecto, compartir localhosts debería ser fácil, pero de alguna manera se convierte
00:00:05en todo un lío.
00:00:06Abres ngrok, alcanzas los límites, obtienes una URL aleatoria, y lo que debería haber tomado 10 segundos
00:00:11simplemente rompió todo.
00:00:12O peor, necesitas compartir algo con una persona pero no quieres hacerlo
00:00:16público.
00:00:17Esto es zrock.
00:00:18Es una alternativa de código abierto a ngrok con confianza cero basada en OpenZiti, y ahora más
00:00:24desarrolladores se están cambiando porque soluciona la parte de los túneles que realmente apesta.
00:00:33¿Qué es zrock exactamente?
00:00:34Básicamente, te permite compartir tu app local, archivos o incluso servicios TCP y UDP de forma pública
00:00:40o privada sin abrir puertos, tocar tu router o necesitar una IP pública.
00:00:45Y todo está cifrado de extremo a extremo, así que la idea es que puedes exponer lo que necesites sin
00:00:50exponer más de lo que realmente hace falta.
00:00:52Es gratis, se puede autohospedar, y al estar basado en una red de confianza cero, tu tráfico
00:00:58no toca el internet público a menos que tú quieras.
00:01:01Pero también es más fluido, lo cual me gusta.
00:01:03Cosas como dominios personalizados, mejor rendimiento y una nueva interfaz.
00:01:07Pero nada de eso importa si no es rápido, así que déjenme mostrarles.
00:01:10Si disfrutas de las herramientas de código abierto y consejos de programación para agilizar tu flujo de trabajo,
00:01:15asegúrate de suscribirte al canal de Better Stack.
00:01:16Publicamos videos todo el tiempo.
00:01:18Muy bien, configuración limpia, tengo una app simple de Next.js ejecutándose en localhost.
00:01:23Nada loco, solo lo básico, la página por defecto.
00:01:26Así que esperarías que esto tomara unos cuantos pasos, ¿verdad?
00:01:30Puertos, configuraciones, tal vez algún ajuste, pero miren esto.
00:01:34Primero me aseguro de que mi entorno zrock esté habilitado.
00:01:37Esa es la configuración de una sola vez con "zrock enable".
00:01:40Luego puedo ejecutar un comando justo aquí.
00:01:44Eso es realmente todo.
00:01:45Sin archivos de configuración ni pasos extra, instantáneamente obtienes una URL pública https.
00:01:51Puedo abrirla aquí, y sí, simplemente funciona.
00:01:55La aplicación está en vivo en internet.
00:01:57Sin reenvío de puertos.
00:01:58Sin cambios en el firewall.
00:02:00En este punto es pública, pero también aquí es donde las cosas pueden empezar a salir mal.
00:02:05Así que detengámoslo.
00:02:06Control C. Ahora hagamos la versión que la mayoría de los desarrolladores realmente quieren.
00:02:10Compartir de forma privada, localhost, misma app, misma máquina, pero ahora un comportamiento totalmente diferente.
00:02:17En lugar de una URL pública, obtenemos un token, y esta es la gran diferencia aquí, porque
00:02:23ahora el acceso no está abierto.
00:02:25En realidad se otorga mediante el uso de este token.
00:02:28Así que cualquier persona en la que confíe puede ejecutar "zrock access private" con el token que le he dado, y
00:02:34solo entonces podrán acceder.
00:02:36Sin bots escaneando tu endpoint, sin tráfico aleatorio golpeando tu app, nada de eso.
00:02:42Es simplemente acceso controlado.
00:02:44Así que en lugar de exponer tu app, permitiste el acceso selectivamente a quien tú quisieras,
00:02:49y esa es la gran diferencia entre ambos, y no es solo para apps.
00:02:53La misma idea funciona también para archivos y carpetas.
00:02:56Puedo compartir directorios enteros como una unidad navegable con el modo "backend drive".
00:03:02No es solo un túnel, es un intercambio controlado.
00:03:04Eso es lo que zrock realmente nos ofrece.
00:03:06¿Por qué importa todo esto?
00:03:08Porque la mayoría de las herramientas de túneles te obligan a ceder en algo.
00:03:12ngrok es refinado, pero el nivel gratuito es limitado.
00:03:15Los túneles de Cloudflare son geniales, pero requieren configuración y pasos adicionales.
00:03:19Tailscale es excelente, pero puede parecer excesivo si solo quieres compartir algo rápido.
00:03:24Así que terminas eligiendo entre velocidad, privacidad y control, y ese es el problema que zrock resuelve.
00:03:29Sin configuración de firewall, genial.
00:03:32Sin problemas de NAT, de acuerdo, genial.
00:03:35El intercambio privado es realmente privado, eso es lo que buscamos.
00:03:38Soporte UDP para cosas como servidores de juegos, VOIP, IoT y compartición de archivos integrada.
00:03:44Esto es el trabajo diario de un desarrollador.
00:03:46Pruebas de webhooks, ¿verdad?
00:03:48Todo esto es muy útil y podemos usar zrock para ello.
00:03:52Rápidamente, veamos zrock frente a ngrok.
00:03:54ngrok se siente como un producto pulido, porque honestamente lo es.
00:03:58zrock se siente como una herramienta de tu propiedad.
00:04:00Esa es la diferencia principal.
00:04:02ngrok es propietario, zrock es de código abierto.
00:04:05Se puede autohospedar.
00:04:06Si te importa el control y la privacidad, eso es enorme.
00:04:10Luego está el intercambio privado.
00:04:12En ngrok es más bien un complemento.
00:04:15No está integrado.
00:04:16En zrock es parte de la idea central de todo.
00:04:19Los protocolos también importan.
00:04:22ngrok se enfoca principalmente en HTTP y TCP.
00:04:26zrock soporta ambos y también soporta UDP.
00:04:29Ahora, para ser justos, ngrok todavía tiene repetición e inspección de solicitudes.
00:04:35zrock no.
00:04:36Y eso realmente puede importar.
00:04:37zrock es bueno.
00:04:38No es perfecto.
00:04:39A la gente le gusta porque se siente simple.
00:04:41Es la privacidad primero.
00:04:43Eso es enorme.
00:04:44Y si lo autohospedas, obtienes control total sobre todo.
00:04:47Aun así tiene sus desventajas, como cualquier herramienta de código abierto.
00:04:50Hay una curva de aprendizaje si profundizas, especialmente en la parte del autohospedaje.
00:04:55No hay inspección de solicitudes integrada como en ngrok.
00:04:58Dependiendo de tu configuración, podrías notar algo de latencia.
00:05:01Pero incluso con esos inconvenientes, para la mayoría de los devs, encaja mejor.
00:05:05Entonces, ¿vale la pena zrock?
00:05:06Bueno, esa es la pregunta aquí.
00:05:08Si tu problema es compartir algo rápido, sí, definitivamente vale la pena.
00:05:12Especialmente si no tenemos que renunciar al control o a la privacidad.
00:05:15zrock soluciona eso.
00:05:16Si disfrutas de estas herramientas y consejos de código abierto, asegúrate de suscribirte al canal
00:05:20de Better Stack.
00:05:21Nos vemos en otro video.

Key Takeaway

Zrok ofrece una solución de túneles de confianza cero basada en OpenZiti que prioriza la privacidad mediante el intercambio privado con tokens y soporte nativo para UDP, eliminando las restricciones de las versiones gratuitas de herramientas propietarias.

Highlights

Zrok es una alternativa de código abierto a ngrok basada en OpenZiti que permite compartir localhosts, archivos y servicios TCP/UDP sin abrir puertos en el router.

El comando "zrock enable" activa el entorno y genera instantáneamente una URL pública con cifrado https sin necesidad de reenvío de puertos ni ajustes de firewall.

El modo de intercambio privado genera un token de acceso selectivo que evita el escaneo de bots y el tráfico aleatorio en el endpoint de la aplicación.

Zrok admite protocolos HTTP, TCP y UDP, lo que permite el soporte para servidores de juegos, servicios de voz sobre IP (VOIP) e Internet de las cosas (IoT).

A diferencia de ngrok, zrok carece de funciones integradas de inspección y repetición de solicitudes, pero ofrece la opción de autohospedaje para un control total de la privacidad.

La función "backend drive" permite compartir directorios enteros como una unidad navegable de forma controlada a través de túneles cifrados.

Timeline

Limitaciones de las herramientas de túneles tradicionales

  • El uso de herramientas como ngrok suele conllevar límites de uso y la asignación de URLs aleatorias difíciles de gestionar.
  • La exposición pública de localhosts a través de servicios tradicionales carece a menudo de opciones de compartición privada sencilla.

Compartir un entorno de desarrollo local se vuelve complejo cuando se alcanzan los límites de las cuentas gratuitas o cuando se requiere privacidad inmediata. Los desarrolladores enfrentan el dilema de abrir puertos o lidiar con configuraciones que rompen el flujo de trabajo en segundos. Zrok surge como una respuesta a estos problemas específicos de los túneles convencionales.

Capacidades técnicas y arquitectura de Zrok

  • Zrok se basa en la red de confianza cero OpenZiti para garantizar que el tráfico no toque el internet público de forma innecesaria.
  • Todo el tráfico en la plataforma está cifrado de extremo a extremo de forma predeterminada.
  • El sistema permite la exposición de servicios sin necesidad de una dirección IP pública o cambios en la configuración del router.

Esta herramienta no se limita a aplicaciones web, sino que extiende su funcionalidad a archivos y servicios TCP o UDP. Al ser una opción de código abierto y autohospedable, los usuarios mantienen el control absoluto sobre su infraestructura. Incluye mejoras en el rendimiento, dominios personalizados y una interfaz de usuario renovada para facilitar la gestión.

Implementación práctica y despliegue público

  • La activación inicial se realiza mediante el comando único "zrock enable" en la terminal.
  • La creación de un túnel público proporciona una URL https funcional de manera inmediata.
  • El acceso público funciona sin modificar las reglas del firewall ni realizar reenvío de puertos (port forwarding).

Una aplicación simple de Next.js en localhost se vuelve accesible globalmente con un solo comando, eliminando los pasos intermedios de configuración. Este proceso demuestra la agilidad de la herramienta para pruebas rápidas en vivo. El resultado es una URL segura que refleja exactamente el contenido del servidor local.

Control de acceso mediante intercambio privado

  • El comando para compartir de forma privada genera un token de seguridad en lugar de una URL abierta a todo el público.
  • Los receptores autorizados deben ejecutar "zrock access private" junto con el token proporcionado para establecer la conexión.
  • El modo "backend drive" transforma directorios locales en unidades de red compartidas y navegables.

El intercambio privado elimina el riesgo de ataques automatizados y el escaneo de endpoints por parte de terceros malintencionados. Este método garantiza que solo las personas con el token específico puedan interactuar con la aplicación o los archivos. La funcionalidad se extiende a la gestión de archivos, permitiendo compartir carpetas completas como si fueran recursos de red locales.

Comparativa entre Zrok y servicios propietarios

  • Zrok soporta el protocolo UDP de forma nativa, a diferencia de ngrok que se centra en HTTP y TCP.
  • La herramienta carece de inspección de solicitudes, una función que sí está presente en el ecosistema de ngrok.
  • El autohospedaje de Zrok ofrece soberanía sobre los datos pero introduce una curva de aprendizaje técnica más pronunciada.

Mientras que ngrok se presenta como un producto comercial pulido, Zrok se define como una herramienta de propiedad del desarrollador. La elección entre ambos depende de la necesidad de inspección de tráfico frente a la necesidad de privacidad y soporte para protocolos diversos como los requeridos en servidores de juegos o dispositivos IoT. A pesar de posibles latencias según la configuración, la flexibilidad del código abierto resulta superior para muchos flujos de trabajo.

Community Posts

View all posts