Documentación de Chantunn
Guía completa para utilizar Chantunn, la plataforma de túneles reverso que permite exponer servicios locales a internet sin necesidad de configurar un router o contratar una IP pública estática.
¿Qué es un túnel reverso?
Un túnel reverso es una conexión de red que permite a un cliente (tu PC) expuestar servicios locales a través de un servidor intermediario. En lugar de configurar puertos en tu router (que muchas veces no es posible debido al CGNAT), tu PC inicia una conexión saliente hacia nuestros servidores, y el tráfico entrante se redirige a través de esa conexión.
Sin configuración de router
No necesitas acceder a tu router ni configurar port forwarding.
Conexiones seguras
Todas las conexiones usan HTTPS y autenticación por token.
Configuración en segundos
Un solo comando y tu servicio está disponible en internet.
Conceptos Fundamentales
1 Subdominio
Es el nombre único que identifica tu túnel. Cuando creas un túnel con el nombre
miapp, tu servicio estará disponible en
https://miapp.chantunn.com.
Restricciones: Solo letras minúsculas, números y guiones. Debe ser único en toda la plataforma. Longitud máxima: 63 caracteres.
2 Token de Acceso
Es tu credencial única de autenticación. Se genera automáticamente al crear una cuenta y es necesario para establecer cualquier túnel. Funciona como una contraseña que identifica quién eres y a qué túneles tienes acceso.
Importante: El token no puede recuperarse si se pierde. Guárdalo en un lugar seguro. Si lo pierdes, deberás crear una nueva cuenta.
3 Puerto Local
Es el puerto en tu computadora donde está corriendo el servicio que quieres exponer.
Por ejemplo, si tu aplicación React corre en http://localhost:3000,
el puerto local es 3000.
4 Tipo de Túnel
HTTP (Predeterminado)
Para aplicaciones web, APIs REST, servidores HTTP. Soporta HTTPS automático y headers HTTP completos.
TCP
Para protocolos arbitrarios: SSH, bases de datos, FTP, etc. Se asigna un puerto público dinámico.
Instalación
🪟 Windows
Método 1: Instalación Manual
- Descarga el archivo: chantunn-client-windows-amd64.exe
- Crea una carpeta:
C:\Program Files\Chantunn\ - Mueve el archivo descargado a esa carpeta
- Agrega esa carpeta a tu variable de entorno PATH
Método 2: PowerShell (Automático)
# Crear directorio
New-Item -ItemType Directory -Force -Path "C:\Program Files\Chantunn"
# Descargar
Invoke-WebRequest `
-Uri "https://chantunn.com/static/downloads/chantunn-client-windows-amd64.exe" `
-OutFile "C:\Program Files\Chantunn\chantunn-client.exe"
# Agregar al PATH (requiere reiniciar terminal)
[Environment]::SetEnvironmentVariable(
"Path",
$env:Path + ";C:\Program Files\Chantunn",
"User"
)
⚠️ Desbloquear archivo (IMPORTANTE)
Windows Defender SmartScreen puede bloquear el archivo. Haz clic derecho → Propiedades → Marcar "Desbloquear" → Aplicar.
🐧 Linux
Instalación Automática (Recomendada)
curl -fsSL https://chantunn.com/install.sh | bash
Instalación Manual
# Detectar arquitectura
ARCH=$(uname -m)
case $ARCH in
x86_64) ARCH="amd64" ;;
aarch64) ARCH="arm64" ;;
esac
# Descargar
sudo curl -fsSL \
"https://chantunn.com/static/downloads/chantunn-client-linux-${ARCH}" \
-o /usr/local/bin/chantunn-client
# Hacer ejecutable
sudo chmod +x /usr/local/bin/chantunn-client
# Verificar instalación
chantunn-client --help
Configurar como Servicio (systemd)
# Crear archivo de servicio sudo tee /etc/systemd/system/chantunn.service << 'EOF' [Unit] Description=Chantunn Tunnel Client After=network.target [Service] Type=simple User=$USER ExecStart=/usr/local/bin/chantunn-client miapp TU_TOKEN 3000 Restart=always RestartSec=10 [Install] WantedBy=multi-user.target EOF # Activar servicio sudo systemctl daemon-reload sudo systemctl enable chantunn sudo systemctl start chantunn sudo systemctl status chantunn
🍎 macOS
Instalación
# Detectar si es Intel o Apple Silicon
if [[ $(uname -m) == "arm64" ]]; then
ARCH="arm64"
else
ARCH="amd64"
fi
# Descargar
sudo curl -fsSL \
"https://chantunn.com/static/downloads/chantunn-client-darwin-${ARCH}" \
-o /usr/local/bin/chantunn-client
# Hacer ejecutable
sudo chmod +x /usr/local/bin/chantunn-client
⚠️ Desactivar Gatekeeper
macOS bloquea aplicaciones no firmadas. Ejecuta:
xattr -dr com.apple.quarantine /usr/local/bin/chantunn-client
LaunchAgent (Inicio automático)
mkdir -p ~/Library/LaunchAgents cat > ~/Library/LaunchAgents/com.chantunn.client.plist << 'EOF'EOF launchctl load ~/Library/LaunchAgents/com.chantunn.client.plist Label com.chantunn.client ProgramArguments /usr/local/bin/chantunn-client miapp TU_TOKEN 3000 RunAtLoad KeepAlive
Tipos de Túneles
HTTP
Para aplicaciones web y APIs
Uso: Aplicaciones web (React, Vue, Angular), APIs REST, servidores HTTP
URL: https://subdominio.chantunn.com
Características:
- HTTPS automático con certificado SSL válido
- Headers HTTP completos
- Soporte para WebSockets
- Redirección automática HTTP → HTTPS
chantunn-client miapp TOKEN 3000
TCP
Para protocolos arbitrarios
Uso: SSH, bases de datos (MySQL, PostgreSQL), FTP, Minecraft, etc.
URL: chantunn.com:PUERTO_ASIGNADO
Características:
- Transmisión binaria sin modificación
- Puerto público dinámico asignado
- Ideal para SSH y bases de datos
- Conexión directa TCP
chantunn-client --type=tcp ssh TOKEN 22
Casos de Uso
Aplicaciones Web
Expón tu aplicación web desarrollada localmente para compartirla con clientes, hacer demos, o probar en dispositivos reales.
React / Next.js
# Terminal 1: Iniciar servidor de desarrollo npm run dev # Normalmente corre en puerto 3000 # Terminal 2: Crear túnel chantunn-client myreact TOKEN 3000 # Tu app está en: https://myreact.chantunn.com
Python Flask / Django
# Flask (puerto 5000 por defecto) flask run chantunn-client myflask TOKEN 5000 # Django (puerto 8000 por defecto) python manage.py runserver chantunn-client mydjango TOKEN 8000
PHP / Laravel
# Laravel (puerto 8000) php artisan serve chantunn-client mylaravel TOKEN 8000 # PHP built-in server php -S localhost:8080 chantunn-client myphp TOKEN 8080
APIs y Backends
Expón tu API para que aplicaciones externas puedan consumirla, realizar pruebas de integración, o desarrollar webhooks.
Ejemplo: API Node.js
# Iniciar tu API
node server.js # Supongamos que corre en puerto 8080
# Crear túnel
chantunn-client miapi TOKEN 8080
# Tu API está disponible en:
# https://miapi.chantunn.com
# Consumir la API:
curl https://miapi.chantunn.com/users
curl -X POST https://miapi.chantunn.com/users \
-H "Content-Type: application/json" \
-d '{"name":"Juan"}'
Nota sobre headers: Chantunn preserva todos los headers HTTP, incluyendo Content-Type, Authorization, cookies, etc. Las APIs funcionan exactamente igual que en localhost.
Acceso SSH Remoto
Conéctate a tu PC desde cualquier lugar vía SSH, ideal para acceder a tu estación de trabajo, servidores locales, o hacer soporte remoto.
Configuración en Windows (Servidor SSH)
- Instalar OpenSSH Server:
- Configuración → Aplicaciones → Características opcionales
- Agregar característica → OpenSSH Server
- Iniciar el servicio:
# PowerShell como Administrador Start-Service sshd Set-Service -Name sshd -StartupType 'Automatic'
Crear Túnel SSH
# En tu PC local chantunn-client --type=tcp ssh TOKEN 22 # Verás algo como: # "Túnel TCP activo: ssh -> localhost:22 (puerto público: 15234)"
Conectar desde otro equipo
# Usando el puerto asignado ssh -p 15234 [email protected] # Si usas clave privada ssh -p 15234 -i ~/.ssh/id_rsa [email protected]
⚠️ Seguridad SSH
- Deshabilita login como root en tu servidor SSH
- Usa autenticación por clave, no por contraseña
- El puerto público cambia en cada reconexión (por diseño)
Bases de Datos Remotas
Conecta a tu base de datos local desde herramientas externas o permite acceso a tu equipo de desarrollo.
MySQL / MariaDB
# Crear túnel chantunn-client --type=tcp mysql TOKEN 3306 # Conectar desde fuera mysql -h chantunn.com -P PUERTO \ -u usuario -p
PostgreSQL
# Crear túnel chantunn-client --type=tcp postgres TOKEN 5432 # Conectar desde fuera psql -h chantunn.com -p PUERTO \ -U usuario -d basededatos
Advertencia de seguridad: Exponer bases de datos directamente a internet es arriesgado. Usa esto solo temporalmente y asegúrate de tener contraseñas fuertes y acceso restringo por IP si es posible.
Dominio Personalizado
En lugar de usar tunombre.chantunn.com, puedes configurar tu propio dominio
(ej: tudominio.com o app.tudominio.com)
para acceder a tus túneles. Esto es ideal para proyectos profesionales, demos de clientes,
o simplemente tener una URL más personalizada.
Ventajas
- • URL profesional con tu marca
- • HTTPS automático incluido
- • Fácil configuración
- • Sin costo adicional
Requisitos
- • Un dominio propio (cualquier registrador)
- • Acceso al panel DNS del dominio
- • Recomendado: Cloudflare (gratuito)
1 Configurar DNS (Cloudflare recomendado)
Debes crear un registro CNAME que apunte tu dominio/subdominio a Chantunn. Cloudflare es gratuito y ofrece HTTPS automático.
Ejemplo con Cloudflare:
- Ingresa a dash.cloudflare.com
- Agrega tu dominio (si no está agregado)
- Ve a la pestaña "DNS" → "Records"
- Haz clic en "Add record"
Configuración del registro:
Resultado: tunnel.tudominio.com → apunta a Chantunn
Configuración DNS genérica (cualquier proveedor):
Si usas otro proveedor (GoDaddy, Namecheap, etc.), busca la sección de administración DNS y crea un registro CNAME:
Tipo: CNAME Host: tunnel (o el subdominio que prefieras) Valor: chantunn.com TTL: 3600
2 Crear el túnel "default"
El dominio raíz siempre debe apuntar a un túnel especial llamado "default". Este es el túnel que responderá cuando alguien acceda a tu dominio personalizado.
En tu PC local:
# Suponiendo que tu app corre en puerto 3000 chantunn-client default TU_TOKEN 3000
Importante: El nombre del túnel debe ser exactamente
default (en minúsculas).
3 Verificar funcionamiento
Una vez configurado el DNS y ejecutado el cliente, espera unos minutos a que el DNS se propague y verifica:
Prueba tu dominio:
# Desde cualquier navegador, visita: https://tunnel.tudominio.com # O desde terminal: curl -I https://tunnel.tudominio.com
Deberías ver tu aplicación cargando correctamente con HTTPS.
Configuraciones Avanzadas
Dominio raíz (sin subdominio)
Si quieres usar el dominio raíz directamente (ej: tudominio.com
sin el tunnel.):
- En Cloudflare: Name =
@(representa el raíz) - En otros DNS: deja el host/subdominio vacío o pon
@
Nota: Algunos proveedores DNS no permiten CNAME en el dominio raíz.
En ese caso, usa un subdominio como app.tudominio.com o
tunnel.tudominio.com.
Múltiples subdominios
Puedes tener varios subdominios apuntando a diferentes servicios:
# DNS Configuración: api.tudominio.com → CNAME → chantunn.com (túnel: api) admin.tudominio.com → CNAME → chantunn.com (túnel: admin) web.tudominio.com → CNAME → chantunn.com (túnel: default) # En tu PC, ejecuta múltiples clientes: chantunn-client api TU_TOKEN 8080 chantunn-client admin TU_TOKEN 3001 chantunn-client default TU_TOKEN 3000
HTTPS con Cloudflare (Proxy)
Si quieres que Cloudflare maneje el HTTPS (con su certificado) y protección adicional:
- En Cloudflare, cambia el registro CNAME a "Proxied" (naranja)
- Ve a SSL/TLS → selecciona "Full (strict)"
- Chantunn ya provee HTTPS, así que funciona perfectamente con Full strict
Ventaja: Con Cloudflare proxy activado, obtienes protección DDoS, caché, y analíticas de tráfico además del túnel.
⚠️ Importante sobre propagación DNS
Los cambios en DNS pueden tardar desde unos minutos hasta 48 horas en propagarse globalmente. Si tu dominio no funciona inmediatamente:
- Verifica que el registro CNAME esté correcto
- Espera al menos 5-10 minutos
- Prueba con
dig tunnel.tudominio.comonslookup tunnel.tudominio.com - Limpia el caché DNS de tu navegador/PC
Solución de Problemas
"Windows protegió tu PC" / SmartScreen ▼
Windows Defender está bloqueando el archivo porque no está firmado digitalmente.
- Haz clic derecho en
chantunn-client.exe - Selecciona "Propiedades"
- En la pestaña "General", marca "Desbloquear"
- Haz clic en "Aplicar" y "Aceptar"
"No se puede verificar el desarrollador" (macOS) ▼
macOS Gatekeeper está bloqueando la aplicación.
xattr -dr com.apple.quarantine /usr/local/bin/chantunn-client
O ve a Preferencias del Sistema → Seguridad y Privacidad → "Permitir de todos modos"
"Token inválido" ▼
- Verifica que copiaste el token completo (16 dígitos)
- No agregues espacios extras
- Si perdiste el token, debes crear una cuenta nueva
Desconexiones frecuentes ▼
Las conexiones inactivas pueden ser cerradas por firewalls intermedios. Esto es normal.
El cliente se reconecta automáticamente. Si persiste:
- Verifica tu conexión a internet
- Comprueba que no haya firewall bloqueando conexiones salientes al puerto 19500
"El subdominio ya está en uso" ▼
Otro usuario ya registró ese nombre. Los nombres son únicos en toda la plataforma.
Sugerencias:
- Agrega tu nombre de usuario:
juan-miapp - Usa un nombre más descriptivo:
miapp-beta-v2
"No se puede conectar a localhost" ▼
El servicio local no está corriendo o está en un puerto diferente.
- Verifica que tu aplicación esté corriendo
- Confirma el puerto correcto (revisa la salida de tu servidor)
- Asegúrate de que el servicio esté escuchando en
0.0.0.0o127.0.0.1
Preguntas Frecuentes
¿Chantunn es gratuito?
Sí, existe un plan gratuito que incluye hasta 3 conexiones simultáneas con URLs personalizadas y HTTPS. Para uso profesional con conexiones ilimitadas y dominios personalizados, ofrecemos el plan Pro.
¿Es seguro usar Chantunn?
Sí. Todas las conexiones HTTP usan HTTPS con certificados SSL válidos. El túnel solo expone el puerto que especificas, no toda tu computadora. Sin embargo, como con cualquier servicio expuesto a internet, debes asegurar tu aplicación (autenticación, validaciones, etc.).
¿Pierdo mi subdominio si cierro el cliente?
No. Tu subdominio está reservado mientras exista la cuenta. Cuando cierras el cliente, el túnel simplemente aparece como "offline". Al reconectar, vuelve a funcionar automáticamente con el mismo nombre.
¿Puedo usar mi propio dominio?
Sí. Puedes configurar un CNAME en tu DNS apuntando a chantunn.com y crear un túnel llamado "default". Consulta la sección de casos de uso para más detalles.
¿Funciona con WebSockets?
Sí, los túneles HTTP soportan WebSockets completamente. Las conexiones WebSocket se mantienen abiertas y funcionan de manera bidireccional.
¿Qué es CGNAT y por qué necesito Chantunn?
CGNAT (Carrier-Grade NAT) es una técnica que usan los ISPs para compartir una IP pública entre múltiples clientes. Si tu ISP usa CGNAT, no puedes abrir puertos en tu router porque no tienes una IP pública dedicada. Chantunn soluciona esto creando una conexión saliente que no requiere IP pública.