ProxyTcpReverse/setup.sh

71 lines
1.9 KiB
Bash
Executable File

#!/bin/bash
# Script de ejemplo para automatizar la gestión de proxies
# Úsalo como base para tus propios scripts de automatización
set -e
echo "🚀 Iniciando configuración automática del proxy TCP..."
# 1. Verificar que Docker está disponible
if ! command -v docker &> /dev/null; then
echo "❌ Docker no está instalado"
exit 1
fi
if ! command -v docker-compose &> /dev/null; then
echo "❌ Docker Compose no está instalado"
exit 1
fi
echo "✅ Docker disponible"
# 2. Verificar certificados
if [[ ! -f "certs/client.crt" || ! -f "certs/client.key" || ! -f "certs/ca.crt" ]]; then
echo "⚠️ Advertencia: Faltan certificados SSL"
echo " Coloca tus certificados en:"
echo " - certs/client.crt"
echo " - certs/client.key"
echo " - certs/ca.crt"
echo ""
read -p "¿Continuar sin certificados? (y/N): " -n 1 -r
echo
if [[ ! $REPLY =~ ^[Yy]$ ]]; then
exit 1
fi
fi
# 3. Construir imagen
echo "🔨 Construyendo imagen Docker..."
./scripts/manage_proxy.sh build
# 4. Iniciar contenedor
echo "🚀 Iniciando contenedor..."
./scripts/manage_proxy.sh start
# 5. Esperar a que esté listo
echo "⏳ Esperando a que el servicio esté listo..."
./scripts/proxy_client.py wait --timeout 60
# 6. Configurar proxies predeterminados
echo "⚙️ Configurando proxies predeterminados..."
# Ejemplo: aplicación web
./scripts/manage_proxy.sh add 3000 3000
echo "✅ Proxy web añadido: localhost:3000"
# Ejemplo: API
./scripts/manage_proxy.sh add 8000 8000
echo "✅ Proxy API añadido: localhost:8000"
# 7. Mostrar estado final
echo ""
echo "🎉 ¡Configuración completada!"
echo ""
./scripts/manage_proxy.sh status
echo ""
echo "📖 Comandos útiles:"
echo " Ver estado: ./scripts/manage_proxy.sh status"
echo " Añadir proxy: ./scripts/manage_proxy.sh add [puerto_local] [puerto_remoto]"
echo " Ver logs: ./scripts/manage_proxy.sh logs"
echo " Ayuda: ./scripts/manage_proxy.sh help"