ngrok vs. bore: Comparando una Gateway Empresarial con un Túnel TCP Minimalista

Current comparison
Looking for the main ngrok alternative guide?
We keep the latest ngrok alternative comparison, CLI commands, pricing notes, and webhook examples on one canonical page.
Open the InstaTunnel ngrok alternative guideQuick answer
ngrok vs bore: La Herramienta de Túnel Minimalista en Rust Definitiva: quick comparison answer
Choose the tunnel tool based on the network model: public HTTPS URLs for webhooks and demos, private mesh access for internal apps, and managed infrastructure when policy controls matter most.
Which tunnel tool is best for public webhook testing?
Use a public HTTPS localhost tunnel with stable URLs. InstaTunnel focuses on webhook testing, demos, OAuth callbacks, and MCP endpoint workflows.
When should I choose a private network tool instead?
Choose a private mesh or Zero Trust tool when every user and service should stay inside a controlled private network.
Exponer un servidor de desarrollo local a internet público solía implicar configurar routers, trabajar con NAT traversal y DNS dinámico. Luego llegó ngrok, que permitió a los desarrolladores crear un túnel desde un entorno localhost a una URL pública en segundos. Durante años fue la opción predeterminada para el reenvío de puertos local.
Pero ngrok ha evolucionado desde una simple herramienta para desarrolladores hasta convertirse en una red de borde en la nube completa — gateways API, enrutamiento de tráfico AI, capas OAuth, WAFs, y un panel y modelo de precios más pesados. Este crecimiento ha llevado a algunos desarrolladores a buscar alternativas más pequeñas y específicas. Una de las más populares es bore, un túnel TCP escrito completamente en Rust que hace exactamente una cosa: reenviar un puerto local a un endpoint público, sin panel ni cuenta.
Esta guía compara directamente ambos: arquitectura, funciones, modelo de seguridad, precios y configuración, usando la propia documentación de ngrok y el historial de versiones y código fuente de bore como referencias principales.
1. El problema central: por qué existen las herramientas de túnel
Cuando ejecutas una aplicación en localhost:3000, solo es accesible desde tu propia máquina. La NAT y el firewall de tu router bloquean el tráfico entrante desde internet por defecto. Si necesitas hacer una demo a un cliente, probar una app móvil contra una API local, o recibir webhooks de Stripe o GitHub, necesitas una URL pública que dirija el tráfico a tu máquina.
Las herramientas de túnel resuelven esto mediante una conexión iniciada desde el cliente hacia un servidor público (que tu firewall permite, ya que es salida). Ese servidor luego canaliza el tráfico público entrante de vuelta a través del túnel. Tanto ngrok como bore usan esta misma arquitectura básica — lo que difiere es todo lo que se construye encima.
2. ngrok: la puerta de enlace API y AI
Creado por Alan Shreve y fundado en 2013, ngrok empezó como una utilidad sencilla de túnel y se ha reposicionado como una capa de red todo en uno — endpoints, políticas de tráfico y túneles seguros combinados en lo que ahora promociona como una única gateway para tráfico AI, API y web.
Lo que ofrece ngrok hoy
- Política de tráfico: un motor de reglas basado en expresiones CEL que corre en el borde de ngrok — enrutamiento, autenticación, limitación de tasa y transformación, todo declarado en YAML adjunto a un endpoint, en lugar de configurarse en nginx o un plugin Lua.
- Capacidades de gateway API: validación JWT, OAuth/OIDC/SAML, mTLS, listas blancas de IP, y un WAF con reglas gestionadas que cubren el OWASP Top 10, todo antes de que el tráfico llegue a tu origen.
- Gateway AI: lanzado en acceso temprano en diciembre de 2025 bajo el dominio
ngrok.ai. Se sitúa entre tu aplicación y uno o más proveedores de LLM, enrutando a través de OpenAI, Anthropic, Google o modelos autohospedados vía Ollama o vLLM, con failover automático, redacción de PII en solicitudes y sanitización de respuestas — todo configurado mediante el mismo motor de Políticas de Tráfico usado para tráfico HTTP regular. - Inspección y reproducción web: un inspector local y en el panel que captura y reproduce solicitudes HTTP, útil para depurar webhooks.
- Operador Kubernetes: consume recursos estándar de Ingress y Gateway API y los convierte automáticamente en endpoints y políticas de ngrok.
La capa gratuita de ngrok, con precisión
La propia documentación de precios de ngrok (actual a mediados de 2026) lista estos límites en la capa gratuita:
| Recurso | Límite en capa gratuita |
|---|---|
| Endpoints en línea | Hasta 3 |
| Agentes concurrentes | 3 |
| Transferencia de datos saliente | 1 GB/mes |
| Solicitudes HTTP | 20,000/mes |
| Conexiones TCP/TLS | 5,000/mes |
| Tasa de solicitudes HTTP | 4,000/min |
| Verificación de webhooks | 500/mes |
Una corrección importante, ya que se repite en muchos contenidos comparativos de terceros: la capa gratuita no impone un timeout de sesión de 2 horas (o 8 horas). La documentación de ngrok lo indica claramente — un endpoint en la capa gratuita puede funcionar continuamente como un servicio en segundo plano. Las restricciones reales son los límites de ancho de banda y solicitudes, la imposibilidad de reservar un dominio personalizado, y la página de advertencia intermedia (más abajo), no una desconexión forzada.
La página de advertencia intermedia (“Visitar sitio”)
Para reducir el abuso de phishing en sus dominios compartidos, ngrok inserta una página de advertencia delante del tráfico HTML en endpoints gratuitos, informando que el visitante está viendo un sitio servido a través de ngrok. Esto se puede evitar enviando un encabezado ngrok-skip-browser-warning (o un User-Agent no predeterminado) con la solicitud — no requiere actualizar a un plan de pago, aunque la documentación de ngrok también indica que los planes pagos lo eliminan por defecto. Para clientes API, pruebas automatizadas y consumidores de webhooks que no pueden establecer encabezados personalizados, esto sigue siendo una fuente común de fricción (ERR_NGROK_6024), especialmente con herramientas como EventSource donde no es posible inyectar encabezados desde el cliente.
Precios, con corrección
El esquema actual de planes de ngrok (2026) es:
- Gratis — $0, límites mencionados arriba.
- Hobbyist — $10/mes ($8/mes si se factura anualmente), 5 GB de transferencia, 100,000 solicitudes HTTP, 1 dirección TCP, aún con 3 endpoints en línea.
- Pago por uso — tarifa base de $20/mes que incluye $20 en crédito de uso, luego facturación medida: $0.10/GB de transferencia, $1 por cada 100,000 solicitudes HTTP, $2 por cada 100,000 conexiones TCP adicionales. Sin límite de endpoints. Usuarios adicionales cuestan $5/mes cada uno más allá de los primeros 3.
- Complementos disponibles en pago por uso incluyen SSO/RBAC ($10/usuario/mes), certificados TLS personalizados ($200/mes), y IPs dedicadas para agentes ($900/mes por región) — funciones empresariales, no parte de un precio base “por asiento”.
Este esquema es muy diferente a una cifra plana de “$15–30 por usuario”: la capa de pago inicial cuesta $8–10/mes, y la de producción es un $20 base más uso medido, no una licencia fija por usuario.
Perfil de seguridad relevante para audiencias de infraestructura
ngrok está catalogado en el marco MITRE ATT&CK como Software S0508 — no porque la herramienta sea maliciosa, sino porque ha sido abusada repetidamente por actores de amenazas (incluidos grupos rastreados como Scattered Spider y Cadet Blizzard) para comando y control, movimiento lateral y exfiltración de datos, precisamente porque es una herramienta legítima y ampliamente permitida que atraviesa NAT y firewalls. Algunos equipos de seguridad empresarial bloquean directamente los dominios de ngrok — importante saberlo si lo introduces en un entorno corporativo con un equipo de seguridad activo.
3. bore: el minimalista potenciado en Rust
Creado por Eric Zhang (@ekzhang1) y con licencia MIT, bore es una herramienta CLI con un solo trabajo: reenviar un puerto TCP local a un servidor remoto, saltándose NAT. En su última versión (v0.6.0), el proyecto tiene aproximadamente 11,100 estrellas en GitHub y 493 forks — una señal fuerte de tracción comunitaria para una herramienta tan específica.
Por qué es minimalista
- ~400 líneas de Rust asíncrono: toda la implementación del cliente y servidor es lo suficientemente pequeña para leerla en una sola sesión y auditarla.
- Sin cuenta, sin panel, sin token de autenticación: puedes ejecutar
bore local <puerto> --to bore.puben el servidor público del mantenedor inmediatamente. - Auto-hospedaje trivial:
bore serveren tu VPS inicia un servidor de túnel completamente funcional sin dependencias adicionales. - Binario pequeño, uso de memoria casi nulo: apto para entornos limitados como una Raspberry Pi.
Cómo funciona el protocolo
bore usa un puerto de control implícito en 7835. El cliente envía un mensaje “Hello” al servidor por este puerto de control, solicitando proxy para un puerto remoto elegido. Cuando una conexión externa llega al servidor, este genera un UUID y lo envía al cliente; el cliente abre un nuevo flujo TCP, presenta el UUID en un mensaje “Accept”, y el servidor enlaza ambas conexiones. Las conexiones entrantes no reclamadas se descartan tras 10 segundos para evitar fugas de memoria — este detalle está en la documentación del protocolo del proyecto.
Instalación
- macOS:
brew install bore-cli - Arch Linux: disponible en AUR como
bore - Gentoo: disponible en el overlay
gentoo-zh - Cualquier plataforma con Rust:
cargo install bore-cli - Binarios precompilados para macOS, Windows y Linux en la página de lanzamientos de GitHub
- Docker: imágenes versionadas publicadas para cada versión (
docker run -it --init --rm --network host ekzhang/bore <ARGS>)
Por defecto, bore local <puerto> --to <host> expone localhost, pero la bandera --local-host permite exponer otro host en tu red local — útil si estás creando un túnel a otro dispositivo en tu LAN en lugar de tu propia máquina.
Modelo de seguridad, con precisión
bore soporta un secreto opcional basado en HMAC (--secret, o la variable de entorno BORE_SECRET) que autentica el handshake de creación del túnel — un cliente debe demostrar posesión del secreto para abrir un túnel en un servidor dado. Esto previene uso no autorizado de tu servidor auto-hospedado. No cifra el tráfico en sí: una vez abierto el túnel, la carga útil es TCP en crudo. Si estás creando un túnel para algo que no esté cifrado (por ejemplo, HTTP simple o un protocolo de base de datos en crudo), el tráfico será visible para cualquiera que pueda observarlo entre el servidor bore y el destino. Para uso en producción, lo recomendable es combinar bore con TLS propio (por ejemplo, Nginx o Caddy delante del servicio expuesto) o solo túneles que ya estén cifrados de extremo a extremo, como HTTPS o SSH.
4. Comparativa directa
Arquitectura y rendimiento
ngrok está escrito en Go y realiza un procesamiento sustancial de HTTP/HTTPS en cada solicitud — inspección de carga útil, manipulación de encabezados y evaluación de políticas, lo que añade latencia y uso de memoria en comparación con un simple reenvío de bytes. bore está escrito en Rust y es independiente del protocolo: mueve bytes sin preocuparse si son HTTP, WebSocket, SSH o un protocolo personalizado, manteniendo la sobrecarga casi en cero en cliente y servidor.
Funciones vs. minimalismo
La superficie de funciones de ngrok — terminación HTTPS, certificados automáticos, reproducción de solicitudes, OAuth/SAML, listas blancas/negativas de IP, verificación de firmas de webhooks, operador Kubernetes, balanceo de carga y enrutamiento AI — no tiene equivalente en bore. La superficie de bore es, deliberadamente, solo port forwarding. Si necesitas inspeccionar cargas útiles HTTP mientras depuras un webhook, el panel de ngrok lo hace nativamente; si solo necesitas abrir un puerto y confiar en tus propios logs, bore añade prácticamente ninguna sobrecarga.
Precios y licencia
ngrok es un producto SaaS freemium: capa gratuita con límites arriba mencionados, $8–10/mes para Hobbyist, $20/mes base más uso para Pay-as-you-go, y contratos empresariales negociados. bore es completamente open-source bajo licencia MIT — gratis para usar en el servidor público bore.pub, o auto-hospedado en infraestructura propia (un VPS pequeño basta) sin límites de ancho de banda impuestos por la herramienta.
5. Configuración
ngrok
# 1. Regístrate en ngrok.com y copia tu authtoken desde el panel
ngrok config add-authtoken <TU_AUTH_TOKEN>
# 2. Expón un puerto local
ngrok http 3000
ngrok imprime una URL HTTPS (por ejemplo, https://abc-123.ngrok-free.app) que hace de proxy a tu puerto local.
bore (solo cliente, usando el servidor público)
# Instalar
brew install bore-cli # macOS
cargo install bore-cli # cualquier plataforma con Rust
# Exponer puerto 8000 vía el servidor público bore.pub
bore local 8000 --to bore.pub
bore imprime un puerto asignado en bore.pub (por ejemplo, bore.pub:43219) donde tu servidor local será accesible.
Auto-hospedaje de bore
# En tu VPS
bore server --min-port 10000 --max-port 20000 --secret super_secure_password
# En tu máquina local
bore local 8000 --to tu-vps-ip.com --secret super_secure_password
6. ¿Cuál se ajusta a tu flujo de trabajo?
Usa ngrok cuando: - Necesitas visibilidad a nivel HTTP — reproducción de solicitudes, inspección de carga útil, manipulación de encabezados — para depuración. - Quieres gestionar el acceso con OAuth, OIDC o SAML en un entorno de vista previa. - Deseas un dominio personalizado estable vinculado a un túnel sin gestionar tu propio proxy inverso. - Enrutando o gobernando tráfico AI/LLM en múltiples proveedores y quieres que eso esté en la misma capa de políticas que tu tráfico API regular.
Usa bore cuando: - Quieres una herramienta minimalista, auditable, open-source, sin cuenta y sin dependencia de proveedor. - Necesitas compartir un puerto por unos minutos sin lidiar con tokens o páginas intersticiales. - Trabajas en hardware limitado (Raspberry Pi, dispositivos embebidos, IoT) donde el tamaño importa. - Estás creando túneles TCP no HTTP — SSH, un servidor de juegos, un protocolo personalizado — donde las herramientas orientadas a HTTP de ngrok no aportan valor. - Quieres auto-hospedarte en tu infraestructura sin límites de ancho de banda.
7. Preguntas frecuentes
¿Es bore un reemplazo completo de ngrok? Para reenvío básico de puertos, sí. Si dependes de terminación HTTPS, inspección de carga útil o capas de autenticación integradas de ngrok, bore no las ofrece — necesitarías poner un proxy inverso propio (Nginx, Caddy) delante de un servidor bore auto-hospedado para obtener manejo HTTPS equivalente.
¿Cómo elimino la página de advertencia “Visitar sitio” de ngrok?
Envía el encabezado ngrok-skip-browser-warning (cualquier valor) o un User-Agent personalizado con tu solicitud — esto funciona en la capa gratuita y no requiere actualización. Los planes pagos eliminan la página por defecto.
¿Puedo usar un dominio personalizado con bore?
Sí, si auto-hospedas: apunta el DNS A-record de tu dominio a tu VPS con bore server, y conecta tu cliente a esa dirección.
¿El tráfico de bore está cifrado?
No, por defecto. El --secret opcional autentica quién puede abrir un túnel; no cifra lo que pasa por él. Combina bore con TLS en la capa de aplicación, o solo túneles que ya estén cifrados de extremo a extremo, como HTTPS o SSH.
¿ngrok en su capa gratuita desconecta tras un tiempo fijo? No — esto es una afirmación común en artículos comparativos, pero la propia documentación de ngrok indica que en la capa gratuita no hay timeout en los endpoints. Las restricciones son los límites mensuales de datos, solicitudes y conexiones.
Cambios recientes
Correcciones
1. Precios de ngrok en planes pagos — El borrador original decía que los planes pagos costaban “$15 a más de $30 por usuario al mes.” Corregido a la estructura real 2026: Hobbyist $10/mes ($8/mes si se factura anualmente), Pago por uso $20/mes base con crédito de $20, luego uso medido. Fuente: documentación de precios y límites de ngrok.
2. Página de advertencia — Se aclaró que enviar el encabezado ngrok-skip-browser-warning evita la página en la capa gratuita, sin necesidad de actualizar.
3. Cantidad de estrellas de bore — Actualizado a 11,1k estrellas y 493 forks, según la página del repositorio en vivo.
Adiciones
1. Se agregó una corrección específica sobre la falsa creencia extendida de que la capa gratuita de ngrok tiene timeout de sesión de 2 u 8 horas — la documentación indica claramente que no hay timeout en los endpoints gratuitos. Fuente: ngrok free plan limits.
2. Se añadió el gateway AI de ngrok (acceso temprano desde diciembre de 2025, bajo ngrok.ai) — enrutamiento multi-proveedor de LLM, soporte para modelos autohospedados (Ollama, vLLM), failover automático y redacción de PII, todo configurado mediante Políticas de Tráfico. Fuentes: publicación de lanzamiento del gateway AI, documentación del gateway AI.
3. Se incluyó en la clasificación MITRE ATT&CK como Software S0508, dada la audiencia centrada en seguridad — relevante para quienes introducen ngrok en entornos empresariales con equipo de seguridad activo. Fuente: MITRE ATT&CK S0508.
4. Se añadió la bandera --local-host de bore (exponer un host LAN distinto a localhost) y otros caminos de instalación (AUR, overlay de Gentoo, imágenes Docker), todos extraídos directamente del repositorio de bore en GitHub.
5. Se incluyó la tabla precisa de límites en la capa gratuita de ngrok (conexiones TCP/TLS, límite de solicitudes, cap de verificación de webhooks) directamente de la documentación oficial, en lugar de cifras para terceros.
6. Se confirmó que la versión actual de bore es la v0.6.0, y que el código base tiene aproximadamente 400 líneas, con detalles del protocolo handshake y puerto de control, basados en el README y la documentación del protocolo del proyecto.
Eliminaciones 1. Se eliminó la sección de “Preguntas frecuentes” y el lenguaje orientado a SEO, así como frases promocionales no necesarias para una audiencia técnica. 2. Se eliminaron artefactos de código mal formados y se reemplazaron con bloques de código correctamente etiquetados. 3. Se eliminó la afirmación no soportada de que bore carece de postura de seguridad más allá de lo documentado — en su lugar, se explicó que el secreto HMAC protege la creación del túnel, no la confidencialidad del tráfico.
Related InstaTunnel pages
Continue from this article into the most relevant product guides and workflows.
Related Topics
Keep building with InstaTunnel
Read the docs for implementation details or compare plans before you ship.