#!/bin/bash # Script para compilar NoIdle no Linux usando Docker set -e echo "========================================" echo "NoIdle - Build Script (Linux → Windows)" echo "========================================" echo "" # Verificar se Docker está instalado if ! command -v docker &> /dev/null; then echo "❌ Docker não está instalado!" echo "Instale com: sudo apt install docker.io" exit 1 fi echo "✅ Docker encontrado" echo "" # Verificar se o arquivo fonte existe if [ ! -f "CLIENTE_CORRIGIDO.py" ]; then echo "❌ Arquivo CLIENTE_CORRIGIDO.py não encontrado!" exit 1 fi echo "✅ Arquivo fonte encontrado" echo "" # Opção 1: Usar imagem pronta echo "Escolha o método de build:" echo "1) Usar imagem Docker pronta (cdrx/pyinstaller-windows)" echo "2) Construir imagem customizada" read -p "Opção (1 ou 2): " opcao if [ "$opcao" == "2" ]; then echo "" echo "Construindo imagem Docker..." docker build -f Dockerfile.build -t noidle-builder . echo "✅ Imagem construída" echo "" echo "Compilando NoIdle.exe..." docker run --rm -v "$(pwd):/src" noidle-builder else echo "" echo "Compilando NoIdle.exe com imagem pronta..." docker run --rm -v "$(pwd):/src" cdrx/pyinstaller-windows:python3 \ /bin/bash -c "pip install pywin32 psutil requests pystray pillow schedule && \ pyinstaller --onefile --windowed --name NoIdle CLIENTE_CORRIGIDO.py" fi echo "" echo "========================================" echo "✅ BUILD CONCLUÍDO!" echo "========================================" echo "" # Verificar se o executável foi criado if [ -f "dist/NoIdle.exe" ]; then SIZE=$(du -h "dist/NoIdle.exe" | cut -f1) echo "📦 Executável: dist/NoIdle.exe" echo "📏 Tamanho: $SIZE" echo "" echo "Próximos passos:" echo "1. Teste em uma máquina Windows" echo "2. Distribua junto com os scripts PowerShell" echo "" else echo "❌ Erro: dist/NoIdle.exe não foi criado!" exit 1 fi # Oferecer criar pacote read -p "Criar pacote ZIP para distribuição? (s/n): " criar_zip if [ "$criar_zip" == "s" ]; then echo "" echo "Criando pacote..." # Criar diretório temporário mkdir -p NoIdle-Package # Copiar arquivos cp dist/NoIdle.exe NoIdle-Package/ cp CONFIGURAR_AUTOSTART_NOIDLE.ps1 NoIdle-Package/ 2>/dev/null || true cp VERIFICAR_E_CORRIGIR_NOIDLE.ps1 NoIdle-Package/ 2>/dev/null || true cp GUIA_RAPIDO_AUTOSTART.md NoIdle-Package/ 2>/dev/null || true cp LEIA_PRIMEIRO.md NoIdle-Package/ 2>/dev/null || true # Criar README cat > NoIdle-Package/README.txt << 'EOF' # NoIdle - Pacote de Instalação v1.0 ## Conteúdo: - NoIdle.exe - Cliente principal - CONFIGURAR_AUTOSTART_NOIDLE.ps1 - Script de configuração - VERIFICAR_E_CORRIGIR_NOIDLE.ps1 - Script de diagnóstico - GUIA_RAPIDO_AUTOSTART.md - Guia do usuário - LEIA_PRIMEIRO.md - Documentação completa ## Instalação Rápida: 1. Execute NoIdle.exe 2. Insira a chave de ativação 3. Reinicie o computador 4. O NoIdle iniciará automaticamente! ## Resolver Problemas: Se não iniciar automaticamente: 1. Execute: VERIFICAR_E_CORRIGIR_NOIDLE.ps1 -AutoFix 2. Reinicie novamente Leia LEIA_PRIMEIRO.md para mais informações. EOF # Criar ZIP zip -r NoIdle-v1.0.zip NoIdle-Package/ # Limpar rm -rf NoIdle-Package echo "✅ Pacote criado: NoIdle-v1.0.zip" echo "" fi echo "Pronto! 🚀"