Files
navegator/scripts/demo_paralelo.sh
Developer 3253828fef
Tests / Lint (push) Has been cancelled
Tests / Unit Tests (push) Has been cancelled
Tests / E2E Tests (push) Has been cancelled
Tests / Integration Tests (push) Has been cancelled
Initial commit: navegator - Chrome CDP automation for LLMs
Add complete navegator system for stealthy browser automation:
- CDP client with WebSocket communication
- Browser API with navigation, storage, network, runtime
- Stealth flags and anti-detection scripts
- Persistent profile support
- Examples and comprehensive documentation

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-03-24 23:33:07 +01:00

105 lines
2.9 KiB
Bash
Executable File

#!/bin/bash
# Demostración de uso de perfiles en paralelo
echo "=========================================="
echo "🎭 Demo: Perfiles en Paralelo"
echo "=========================================="
echo ""
# Verificar que los binarios existen
if [ ! -f "./buscar" ] || [ ! -f "./screenshot" ]; then
echo "❌ Error: Binarios no encontrados"
echo "Ejecuta: go build -o buscar cmd/buscar.go"
exit 1
fi
# Crear perfil base
echo "📝 Paso 1: Crear perfil base"
echo "---"
PROFILES_DIR="$HOME/.navegator/profiles"
mkdir -p "$PROFILES_DIR/demo-base"
echo "✅ Perfil base creado: demo-base"
echo ""
# Clonar perfiles
echo "📋 Paso 2: Clonar perfiles para uso paralelo"
echo "---"
for i in {1..3}; do
if [ -d "$PROFILES_DIR/demo-worker-$i" ]; then
rm -rf "$PROFILES_DIR/demo-worker-$i"
fi
cp -r "$PROFILES_DIR/demo-base" "$PROFILES_DIR/demo-worker-$i"
# Limpiar locks
rm -f "$PROFILES_DIR/demo-worker-$i/SingletonLock"
rm -f "$PROFILES_DIR/demo-worker-$i/SingletonSocket"
rm -f "$PROFILES_DIR/demo-worker-$i/SingletonCookie"
echo "✅ Clonado: demo-worker-$i"
done
echo ""
# Ejecutar en paralelo
echo "🚀 Paso 3: Ejecutar búsquedas en paralelo"
echo "---"
echo "Iniciando 3 búsquedas simultáneas..."
echo ""
./bin/buscar -q "golang tutorial" -n 3 -profile demo-worker-1 -output demo-result-1.json &
PID1=$!
echo "Worker 1 (PID $PID1): Buscando 'golang tutorial'"
./bin/buscar -q "python basics" -n 3 -profile demo-worker-2 -output demo-result-2.json &
PID2=$!
echo "Worker 2 (PID $PID2): Buscando 'python basics'"
./bin/buscar -q "javascript async" -n 3 -profile demo-worker-3 -output demo-result-3.json &
PID3=$!
echo "Worker 3 (PID $PID3): Buscando 'javascript async'"
echo ""
echo "⏳ Esperando que terminen las búsquedas..."
wait
echo ""
echo "=========================================="
echo "✅ Demo completada"
echo "=========================================="
echo ""
# Mostrar resultados
echo "📊 Resultados generados:"
ls -lh demo-result-*.json 2>/dev/null | awk '{print " "$9" ("$5")"}'
echo ""
echo "📂 Perfiles usados simultáneamente:"
for i in {1..3}; do
if [ -d "$PROFILES_DIR/demo-worker-$i" ]; then
size=$(du -sh "$PROFILES_DIR/demo-worker-$i" | cut -f1)
echo " demo-worker-$i ($size)"
fi
done
echo ""
echo "💡 Conclusión:"
echo " - 3 búsquedas ejecutadas EN PARALELO"
echo " - Cada una con su propio perfil (cookies aisladas)"
echo " - Sin conflictos ni errores de lock"
echo " - Resultados guardados en JSON separados"
echo ""
echo "🧹 Limpiar archivos de demo? (y/N)"
read -r respuesta
if [ "$respuesta" = "y" ] || [ "$respuesta" = "Y" ]; then
rm -f demo-result-*.json
rm -rf "$PROFILES_DIR/demo-worker-"*
rm -rf "$PROFILES_DIR/demo-base"
echo "✅ Demo limpiada"
else
echo "Archivos conservados en:"
echo " - Resultados: demo-result-*.json"
echo " - Perfiles: $PROFILES_DIR/demo-worker-*"
fi
echo ""
echo "📖 Más info: cat PERFILES_AVANZADO.md"