71 lines
1.9 KiB
Bash
Executable File
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" |