Development
15 min read
47 views

La Rebelión del Túnel en Rust: Por qué Herramientas como Tunnelto Están en Auge en GitHub

IT
InstaTunnel Team
Published by the InstaTunnel team | Editorial policy
La Rebelión del Túnel en Rust: Por qué Herramientas como Tunnelto Están en Auge en GitHub

Quick answer

ngrok vs Tunnelto: La Rebelión del Proxy Inverso en Rust de Código Abierto: 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.

Hay una tendencia real en la comunidad de desarrolladores: una migración constante de proxies de túnel SaaS comerciales hacia herramientas ligeras y de código abierto escritas en Rust. Mucho se debe a la “fatiga de la capa gratuita” — desarrolladores cansados de límites de ancho de banda, restricciones en puntos finales y páginas de advertencia intersticiales cuando solo quieren probar un webhook.

A finales de diciembre de 2025, la herramienta de código abierto Tunnelto tuvo un momento viral genuino en GitHub, ganando 565 estrellas en un solo día y alcanzando el puesto #3 en la página de tendencias de GitHub. Ese pico no fue artificial — reflejaba una frustración real entre desarrolladores que buscaban una alternativa capaz, auto-hospedada y gratuita a ngrok. También es un punto de entrada útil hacia un cambio más amplio hacia herramientas de desarrollo centradas en la privacidad y auto-hospedadas.

En esta guía: por qué los desarrolladores están optando por proxies inversos en Rust, una comparación verificada Tunnelto vs ngrok, otras alternativas de código abierto a ngrok que vale la pena conocer, y cómo funciona en la práctica el auto-hospedaje de un túnel en Rust.


El Problema Central: El Dilema del Localhost

Todo desarrollador web llega a la misma pared eventualmente. Estás construyendo algo que necesita comunicarse con un servicio de terceros — Stripe para pagos, Twilio para SMS, Slack para comandos slash. Estas plataformas se comunican mediante webhooks: solicitudes HTTP enviadas a una URL que especificas cuando ocurre un evento.

El problema: Stripe no puede enviar un webhook a http://localhost:3000. Tu servidor de desarrollo está detrás del NAT y firewall de tu router, invisible para internet exterior.

Las Soluciones Antiguas

Antes de que las herramientas de túnel fueran comunes, los desarrolladores resolvían esto con:

  1. Desplegar en staging — hacer commit, push, esperar a CI/CD, y luego activar el webhook. Un ciclo de retroalimentación de cinco segundos se convierte en uno de cinco minutos.
  2. Reenvío de puertos en el router — técnicamente posible, tedioso y no recomendable en redes domésticas.
  3. Simulación de eventos — capturar un payload una vez y reproducirlo localmente, pero esto omite casos límite del mundo real.

El Auge de los Túneles en localhost

Un cliente de túnel corre en tu máquina, abre una conexión saliente a un servidor relé público y te proporciona una URL pública. Cuando Stripe accede a esa URL, el relé reenvía el tráfico a través del túnel a tu puerto local.

Durante años, ngrok fue el estándar. Se convirtió casi en sinónimo de túneles en localhost. Pero a medida que la empresa maduró en una plataforma más amplia de seguridad y API, algunas decisiones en su capa gratuita empujaron a parte de su base de usuarios a buscar alternativas.


Fatiga de la Capa Gratuita: ¿Qué es Realmente lo que Restringe ngrok?

Aquí es donde mucho contenido comparativo sobre “ngrok vs. el mundo” se vuelve impreciso, así que vale la pena ser precisos sobre qué limita realmente la capa gratuita de ngrok, según la documentación actual.

No hay límite de sesión de 2 horas

Esta afirmación circula constantemente en posts comparativos, pero no se sostiene frente a la documentación de precios y límites de ngrok. El plan gratuito de ngrok se describe como gratuito para siempre y no tiene límite de tiempo por sesión — no te desconectarán solo porque hayan pasado dos horas. Lo que sí enfrentan los usuarios de la capa gratuita es una combinación de:

  • 1GB de ancho de banda por mes, más un crédito de uso único de $5
  • Hasta 3 puntos finales en línea simultáneamente (este límite no se reinicia mensualmente)
  • ~20,000 solicitudes HTTP por mes
  • Subdominios aleatorios y rotativos en cada reconexión — esto sí rompe un flujo de webhook, ya que tienes que volver a registrar la URL con Stripe o el servicio correspondiente cada vez que reinicias

Si tu túnel se cae a mitad de sesión, probablemente sea por un problema de red, reinicio del cliente o por alcanzar el límite de ancho de banda/solicitudes, no por un temporizador fijo. Es importante corregir esta idea en tu cabeza si has visto esa “limitación de 2 horas” en otros lados — es una de las inexactitudes más repetidas en este espacio.

La página de advertencia intersticial es real

Para reducir el phishing y el malware, ngrok inyecta una página HTML intersticial (“Visitar sitio”) delante del tráfico del navegador en URLs de capa gratuita. ngrok proporciona un encabezado (ngrok-skip-browser-warning) para saltarse esto en clientes API, pero muchos proveedores de webhooks no permiten inyectar encabezados personalizados en sus solicitudes salientes — por lo que esto sí puede interrumpir la entrega automática de webhooks en la capa gratuita.

Precios actuales de ngrok (a mediados de 2026)

ngrok tiene cuatro niveles: Gratis, Hobbista, Pago por uso, y Empresarial.

  • Gratis — $0/mes, crédito de uso único de $5, 1GB de ancho de banda, 3 puntos finales en línea, ~20k solicitudes/mes
  • Hobbista — $10/mes ($8 si pagas anualmente), crédito mensual de $10, 5GB de ancho de banda, 3 puntos finales, ~100k solicitudes/mes
  • Pago por uso — $20/mes tarifa base (incluye $20 de uso), luego facturación por transferencia de datos, solicitudes y horas de puntos finales adicionales
  • Empresarial — precio personalizado, generalmente negociado por despliegue

Por lo tanto, la frase “$8–$29/mes” de posts comparativos antiguos es aproximadamente correcta para Hobbista/Pago por uso, pero los nombres y estructuras de niveles han cambiado varias veces — es recomendable revisar la página de precios de ngrok antes de citar cifras, ya que esto ha cambiado más de una vez en el último año.


La Rebelión en Rust: Entra Tunnelto

A finales de diciembre de 2025, Tunnelto — una herramienta de túnel en Rust creada por el desarrollador Alex Grinman (GitHub: agrinman/tunnelto) — alcanzó el puesto #3 en la página de tendencias de GitHub, ganando 565 estrellas en 24 horas. En ese momento tenía alrededor de 3,665 estrellas; ha seguido creciendo y ahora está en el rango de 6,000–7,000 estrellas, con más de 500 forks.

Un detalle importante, porque suele confundir en muchos artículos comparativos: hay dos productos diferentes que se llaman “tunnelto.”

  • tunnelto.dev (agrinman/tunnelto en GitHub) — el proyecto de código abierto, con licencia MIT, en Rust del que trata esta sección. Su última versión cliente, v0.1.18, se lanzó en mayo de 2021. El proyecto no está abandonado — los issues reciben atención ocasional y la demo alojada en tunnelto.dev sigue en Fly.io — pero no ha habido nuevas funciones CLI en años, y el servidor auto-hospedado no soporta dominios personalizados ni autenticación integrada por defecto.
  • tunnelto.me — un servicio de túnel comercial completamente separado y activo, que comparte un nombre similar. Tiene su propia capa gratuita (1 dominio personalizado, 1GB de ancho de banda/mes, sesiones de 1 hora) y planes de pago desde aproximadamente $2/mes para dominios persistentes.

Estos no comparten código, equipo ni producto — a pesar de que varias listas de “alternativas a ngrok” citan la página de precios de tunnelto.me como si describiera el proyecto open-source tunnelto.dev.

Arquitectura de Tunnelto (tunnelto.dev)

Tunnelto está construido completamente sobre async-io en Tokio, el runtime asíncrono estándar en Rust. Tiene dos componentes:

  1. El cliente — un binario ligero en Rust que ejecutas localmente (tunnelto --port 8000), que abre una conexión TCP saliente al servidor de Tunnelto.
  2. El servidor — una aplicación en Rust en un host público que termina las solicitudes HTTP/HTTPS entrantes y multiplexa el tráfico hacia la conexión correcta del cliente.

Por ser Rust con un runtime asíncrono, maneja muchas conexiones concurrentes con un uso de memoria reducido comparado con un equivalente en Node.js o Python.

¿Por qué tuvo un pico?

Algunas explicaciones plausibles, no excluyentes, para el aumento en diciembre de 2025:

  1. Fricción acumulada con las restricciones de ngrok en su capa gratuita (límites de ancho de banda, puntos finales, páginas intersticiales) llegando a un punto crítico para algunos desarrolladores.
  2. Preferencia por la propiedad — poder leer, bifurcar y auto-hospedar el código en lugar de depender de un servicio en la nube.
  3. El halo de Rust — Rust ha sido la “lengua más admirada” en la encuesta de Stack Overflow durante varios años, y el informe State of Developer Ecosystem 2025 de JetBrains estima en aproximadamente 2.27 millones los desarrolladores que han usado Rust en los últimos 12 meses. Las herramientas en Rust tienden a tener un impulso de credibilidad por ser “rápidas y seguras”.

Toma la narrativa de viralidad con un poco de escepticismo — la mayor parte del “por qué se disparó” se basa en un solo post del blog del día en que fue tendencia, no en datos de encuestas.


Tunnelto vs ngrok: Una Comparación

1. Precios y límites

  • ngrok: Plan gratuito como se describió antes (1GB de ancho de banda, 3 puntos finales, URLs aleatorios, página intersticial). Hobbista desde $10/mes ($8 si pagas anualmente); Pago por uso desde $20/mes base más uso.
  • tunnelto.dev (código abierto): El software es gratuito y con licencia MIT — puedes auto-hospedarlo en cualquier VPS por el costo del VPS (un droplet de $5/mes es suficiente). No tiene medición integrada ni plan de pago para el proyecto open-source, pero tampoco soporta dominios personalizados ni autenticación sin agregar un proxy inverso adicional.
  • (Si lo que buscas es un túnel comercial hospedado, activo y con dominios personalizados en la capa gratuita, ese es tunnelto.me — un producto diferente, con planes desde $0 y desde aproximadamente $2/mes para dominios persistentes. No los confundas al comparar costos.)

2. Experiencia del desarrollador

  • ngrok: CLI madura, integración con frameworks, y un panel con inspección de tráfico HTTP en tiempo real.
  • tunnelto.dev: Un solo comando (tunnelto --port 3000) te da un URL público rápidamente. Es intencionadamente minimalista — sacrificas las herramientas de inspección de tráfico de ngrok por simplicidad y ausencia de páginas intersticiales forzadas.

3. Hospedaje y control

  • ngrok: Código cerrado, totalmente dependiente de su nube. Si su infraestructura tiene problemas, tu túnel también.
  • tunnelto.dev: Licencia MIT. Puedes leer el código, bifurcarlo y correr tu propio servidor — el proyecto documenta desplegar el binario del servidor (compilado para musl) vía Docker con configuración mediante variables de entorno. Tú controlas el uptime y la infraestructura.

4. Dominios personalizados

  • ngrok: Dominios personalizados/reliables requieren plan de pago.
  • tunnelto.dev (auto-hospedado): Puedes apuntar tu propio dominio a tu servidor, pero tú eres responsable del TLS — generalmente mediante Nginx o Caddy delante del servidor de túnel — esto no se automatiza como en algunos competidores.

Explorando el Ecosistema: Otras Alternativas de Código Abierto a ngrok

Tunnelto no es la única opción. Aquí el estado real, verificado con los repositorios de cada proyecto.

1. rustunnel

Una herramienta de túnel en Rust con licencia AGPL (joaoh82/rustunnel) que puede auto-hospedarse o usarse como servicio gestionado de pago por uso. Su característica destacada respecto a otras es un servidor MCP para agentes de IA, además de soporte UDP, túneles P2P y grupos de balanceo con chequeos de salud — realmente diferenciándose de las herramientas anteriores, que son más antiguas.

2. bore

Creado por Eric Zhang (ekzhang/bore), bore es un túnel TCP minimalista con licencia MIT — unas 400 líneas en Rust asíncrono. Tiene aproximadamente 11,100 estrellas. Solo hace una cosa: reenviar un puerto TCP local a un servidor remoto. Sin análisis HTTP, sin TLS, sin panel.

Es útil saber si lo evalúas: la opción --secret añade autenticación HMAC para quién puede abrir un túnel, pero según su documentación, solo cubre el handshake — el tráfico en sí no está cifrado por defecto. Si no usas TLS propio, ese tráfico es visible para cualquiera en tránsito. Este matiz a menudo se omite en comparaciones “bore vs ngrok”.

3. rathole

Posicionado como una alternativa de mayor rendimiento a frp (rathole-org/rathole), soporta TCP y UDP, y está enfocado en dispositivos embebidos y routers (el binario puede ser tan pequeño como ~500KB). También soporta recargar configuración sin reiniciar.

4. frp (Fast Reverse Proxy)

Escrito en Go, no en Rust, pero es el peso pesado en esta categoría — fatedier/frp tiene aproximadamente 108,000 estrellas en GitHub y 15,000 forks, mucho más grande que todas las alternativas en Rust juntas. Soporta HTTP, HTTPS, TCP, UDP y WebSockets, configurado vía TOML, y es la opción predeterminada para despliegues complejos en producción.

5. Cloudflare Tunnel (cloudflared)

No es open-source completo (el servidor es de Cloudflare), pero el cliente cloudflared sí lo es, y el servicio en sí es gratuito con cualquier cuenta de Cloudflare. A partir de 2026, Cloudflare Tunnel usa por defecto QUIC (HTTP/3) y forma parte de la plataforma “Cloudflare One” Zero Trust — permitiendo poner políticas de acceso (SSO, OTP por email, proveedores de identidad) sin costo, para hasta 50 usuarios, sin escribir código de autenticación. Requiere DNS gestionado por Cloudflare para túneles con hostname personalizados, aunque los túneles rápidos (cloudflared tunnel --url) funcionan sin dominio, similar a la capa gratuita de ngrok.


¿Por qué Rust Encaja en Esto?

No es casualidad que muchas herramientas actuales de túnel (Tunnelto, bore, rathole, rustunnel) estén escritas en Rust:

  1. Alta concurrencia, bajo uso de memoria — un servidor de túnel puede mantener miles de conexiones inactivas abiertas. El modelo async de Rust lo maneja con un uso de memoria mucho menor que un runtime con recolección de basura.
  2. Latencia predecible — sin pausas de GC, sin micro-stutters impredecibles, importante para aplicaciones en tiempo real como WebSockets.
  3. Seguridad de memoria — proxies expuestos a red son vulnerables a bugs de corrupción de memoria en C/C++. El compilador de Rust elimina muchas de estas clases en tiempo de compilación.
  4. Binaries estáticos multiplataforma — Rust compila cruzado fácilmente, generando un solo binario sin dependencias en tiempo de ejecución.

Auto-hospedando un Túnel localhost en Rust: ¿Qué Implica?

Si quieres correr tu propio servidor de túnel en lugar de depender de otros, aquí una visión realista — usando la documentación de Tunnelto como ejemplo, no una versión idealizada.

Requisitos

  • Un VPS con IP pública (DigitalOcean, Linode, AWS EC2, etc.)
  • Un dominio apuntando a ese VPS, si quieres uno personalizado
  • Conocimiento básico de SSH, Docker y configuración de reverse proxy

Paso 1: Instalar el toolchain de Rust (si compilas desde fuente)

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source $HOME/.cargo/env

Paso 2: Ejecutar el servidor

El servidor de Tunnelto se documenta como despliegue en Docker, compilado para musl, configurado con variables de entorno — no un solo flag CLI para dominio personalizado. Clona el repo y compila o usa la imagen publicada:

git clone https://github.com/agrinman/tunnelto.git
cd tunnelto/tunnelto_server
cargo build --release

Recomendablemente, ejecuta esto detrás de Nginx o Caddy para TLS. El servidor auto-hospedado no gestiona HTTPS automático ni enrutamiento a dominios personalizados por sí solo, como la demo en tunnelto.dev.

Paso 3: Conecta con el cliente

cargo install tunnelto
tunnelto --port 3000

Por defecto apunta al servicio hospedado en tunnelto.dev. Para usar tu propio servidor, configura el cliente con la dirección de tu servidor — revisa la ayuda del CLI (tunnelto --help) para el flag exacto, ya que en versiones anteriores puede variar.

Un aviso: la documentación indica que la versión auto-hospedada no soporta bien múltiples instancias sin coordinación adicional, ya que depende de estado centralizado. Funciona para despliegues personales o pequeños, pero no reemplaza la infraestructura gestionada de ngrok sin más ingeniería.


La Tendencia General: Propiedad de la Experiencia del Desarrollador

El pico de Tunnelto refleja un patrón mayor: durante años, lo habitual era externalizar toda infraestructura a SaaS especializados. Eso sigue siendo válido para bases de datos gestionadas o CDN globales — pero para un utilitario simple como el túnel localhost, más desarrolladores prefieren auto-hospedarlo sin suscripción recurrente.

Auto-hospedar un túnel con dominio propio en un VPS de $5/mes, compartido en equipo, hace que los planes comerciales de $20+ por usuario sean menos atractivos si no necesitas inspección de tráfico, SSO empresarial o SLA.

Conclusión

La “Rebelión del Túnel en Rust” es una corrección modesta, no una sustitución total de soluciones comerciales. ngrok en su capa gratuita es más restrictivo — límites de ancho de banda, puntos finales, páginas intersticiales — pero la idea de que hay un “límite de sesión de 2 horas” no es correcta según la documentación actual, y es importante corregir esa idea.

Herramientas como Tunnelto, bore, rathole y rustunnel ofrecen alternativas gratuitas, auto-hospedables y a menudo más rápidas para desarrolladores que no necesitan las funciones empresariales de ngrok. Ten cuidado con la confusión entre tunnelto.dev y tunnelto.me al comparar precios — son productos diferentes y muchas listas de “alternativas a ngrok” lo confunden.

Ya sea que elijas una capa gratuita de un nuevo proveedor o configures tu propio túnel en Rust, el panorama de opciones es más amplio y económico que hace dos años.


Cambios Recientes

  • Eliminado el falso “límite de sesión de 2 horas” en ngrok y reemplazado por los límites reales: 1GB/mes, 3 puntos finales, ~20k solicitudes, subdominios rotativos y página intersticial.
  • Corregido el esquema de precios actual de ngrok: Gratis ($0), Hobbista ($10/mes, $8 anual), Pago por uso ($20/mes base + uso), Empresarial (personalizado).
  • Ajuste importante: aclarada la diferencia entre tunnelto.dev (proyecto en Rust, código abierto) y tunnelto.me (servicio comercial). La atribución de precios y funciones en el texto original era incorrecta.
  • Actualizadas las estadísticas del ecosistema: bore (~11,100 estrellas, creado por Eric Zhang, licencia MIT, advertencia de seguridad en --secret), frp (~108,000 estrellas), rathole (soporte TCP/UDP, enfoque en dispositivos embebidos), rustunnel (licencia AGPL, repositorio joaoh82/rustunnel, MCP para agentes IA).
  • Eliminada la afirmación no verificada de que rustunnel está “altamente rankeado en encuestas de 2026” — sin datos independientes, solo la página de marketing.
  • Actualizado sección de Cloudflare Tunnel con detalles de 2026: QUIC/HTTP3 por defecto, rebranding a “Cloudflare One” Zero Trust, políticas gratuitas para 50 usuarios.
  • Verificado el dato de adopción de Rust (~2.27 millones en 12 meses) con el informe de JetBrains 2025, reemplazando cifras no verificadas.
  • Eliminadas citas y referencias numeradas para mayor claridad; ahora la fuente está integrada en el texto.

Continue from this article into the most relevant product guides and workflows.

Related Topics

#tunnelto vs ngrok, ngrok vs tunnelto, rust reverse proxy, open source ngrok alternative, self hosted rust localhost tunnel, rust tunneling tools, free tier fatigue ngrok, open source tunneling software, replace ngrok with rust, tunnelto github, free ngrok alternative, bypass ngrok free tier limits, self hosted localhost proxy, open source reverse proxy rust, tunnelto rust project, custom domains free tunnel, ngrok session limits bypass, ngrok 2 hour limit, ngrok bandwidth caps, rust proxy server, rust based reverse proxy, self host tunnelto, open source port forwarding, secure localhost tunnel, free public url localhost, webhook testing tunnelto, privacy conscious tunneling, best ngrok alternatives, self hosted ngrok alternative, fast reverse proxy rust, local development tunneling, expose localhost open source, local web server tunneling, free tunneling for developers, open source saas proxy alternative, rust dev tools, self hosting community tools, tunnelto vs localtunnel, rust cli tunnel, localhost to internet open source, reliable open source tunnel, tunnelto persistent url, alternative to commercial proxy saas, rust developer tools, github trending rust tools, local development workflow open source, self hosted reverse proxy tunnel, local backend expose rust, bore rust tunnel, rustunnel open source, open source local proxy, bypass commercial saas tunnels, github tunnelto alternative, open source ngrok clone, rust networking tools, self hosted development proxy, host local server internet free, expose local server rust

Keep building with InstaTunnel

Read the docs for implementation details or compare plans before you ship.

Share this article

More InstaTunnel Insights

Discover more tutorials, tips, and updates to help you build better with localhost tunneling.

Browse All Articles