#!/bin/bash export DISPLAY=:99 echo "DEBUG: Received argument: '$1'" # Удаляем старые X-замки rm -f /tmp/.X99-lock Xvfb :99 -screen 0 1280x1024x24 & sleep 2 fluxbox & # x11vnc: -shared позволяет несколько подключений, -forever не закрывается x11vnc -display :99 -forever -nopw -rfbport 5900 -shared -bg # Запуск websockify напрямую (noVNC) websockify --web /usr/share/novnc 6080 localhost:5900 & echo "📺 Система зрения готова: http://192.168.10.116:6080/vnc.html" # Удаляем замки хромиума перед стартом rm -rf /app/browser_context/Singleton* if [ "$1" == "interactive" ]; then echo "Entering interactive mode..." tail -f /dev/null elif [ "$1" == "mapping" ]; then echo "🚀 Запуск скрипта картографии..." python map_and_auth.py tail -f /dev/null elif [ "$1" == "recon" ]; then echo "🕵️‍♂️ Запуск агента ГЛУБОКОЙ разведки..." python recon_agent.py tail -f /dev/null elif [ "$1" == "contracts" ]; then echo "📑 Запуск Жнеца Договоров..." python contracts_scraper.py tail -f /dev/null elif [ "$1" == "ultimate" ]; then echo "🎓 Запуск ЖНЕЦ-УЛЬТИМАТУМ (Финальная версия)..." python ultimate_reaper.py tail -f /dev/null else echo "⚠️ Неизвестный режим: '$1'. Запускаю базовый скрейпер." python scraper.py tail -f /dev/null fi