feat: Implementação completa do NoIdle - Cliente, Backend e Scripts
- Cliente Windows com modo silencioso e auto-start robusto - Backend Node.js + API REST - Frontend Next.js + Dashboard - Scripts PowerShell de configuração e diagnóstico - Documentação completa - Build scripts para Windows e Linux - Solução de auto-start após reinicialização Resolução do problema: Cliente não voltava ativo após reboot Solução: Registro do Windows + Task Scheduler + Modo silencioso
This commit is contained in:
127
BUILD_LINUX.sh
Executable file
127
BUILD_LINUX.sh
Executable file
@@ -0,0 +1,127 @@
|
||||
#!/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! 🚀"
|
||||
|
||||
Reference in New Issue
Block a user