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:
root
2025-11-16 22:56:35 +00:00
commit 6086c13be7
58 changed files with 10693 additions and 0 deletions

View File

@@ -0,0 +1,148 @@
# Correções: Instalação Automática e Suporte Firefox
## ✅ Correções Implementadas
### 1. Instalação Automática em Program Files
**O que foi feito:**
- O cliente agora se instala automaticamente em `C:\Program Files\NoIdle\` na primeira execução
- Se executado de outra localização, copia-se para Program Files e reinicia a versão instalada
- Configuração salva em `%APPDATA%\NoIdle\config.json` para evitar reinstalações desnecessárias
**Como funciona:**
1. Na primeira execução, verifica se já está instalado
2. Se não estiver, copia o executável para `C:\Program Files\NoIdle\NoIdle.exe`
3. Se executado de outra localização, inicia a versão instalada e fecha a atual
**Permissões necessárias:**
- ⚠️ **Requer execução como Administrador** para instalar em Program Files
- Se não tiver permissão, continua rodando da localização atual
### 2. Inicialização Automática com Windows
**O que foi feito:**
- Configura automaticamente para iniciar com o Windows
- Adiciona entrada no registro: `HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run\NoIdle`
- Aponta para o executável em Program Files
**Como funciona:**
- Após instalação bem-sucedida, adiciona entrada no registro do Windows
- O Windows inicia automaticamente o NoIdle no logon do usuário
- Funciona mesmo sem permissões de administrador (usa HKEY_CURRENT_USER)
**Verificar:**
- Abra o Gerenciador de Tarefas (Ctrl+Shift+Esc)
- Vá na aba "Inicialização"
- Procure por "NoIdle"
### 3. Suporte ao Firefox + Exibição de URLs
**O que foi feito:**
- Adicionada função `get_firefox_history()` para capturar histórico do Firefox
- Firefox usa formato diferente (SQLite com tabelas `moz_places` e `moz_historyvisits`)
- Suporta múltiplos perfis do Firefox
- Frontend atualizado para exibir URLs visitadas em uma aba separada
**Navegadores suportados:**
- ✅ Google Chrome
- ✅ Microsoft Edge
- ✅ Mozilla Firefox
**Frontend:**
- Nova aba "Histórico de Navegação" na página de Atividades
- Exibe: Data/Hora, Dispositivo, Navegador (com badge colorido), URL (clicável), Título
- Badges coloridos por navegador:
- Chrome: Azul (#4285F4)
- Firefox: Laranja (#FF7139)
- Edge: Azul Microsoft (#0078D4)
## 📋 Como Usar
### Primeira Instalação
1. Execute o `NoIdle.exe` **como Administrador** (botão direito → Executar como administrador)
2. O cliente irá:
- Instalar em `C:\Program Files\NoIdle\`
- Configurar inicialização automática
- Solicitar chave de ativação (se ainda não ativado)
3. Na próxima inicialização do Windows, o NoIdle iniciará automaticamente
### Verificar Instalação
**Localização do executável:**
```
C:\Program Files\NoIdle\NoIdle.exe
```
**Configurações:**
```
%APPDATA%\NoIdle\config.json
```
**Registro do Windows:**
```
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run\NoIdle
```
### Verificar Histórico de Navegação
1. Acesse o painel web: `https://admin.noidle.tech`
2. Vá em **Atividades**
3. Clique na aba **"Histórico de Navegação"**
4. Veja todas as URLs visitadas nos navegadores suportados
## 🔧 Troubleshooting
### Instalação não funciona
**Problema:** "Erro de permissão ao instalar"
**Solução:**
- Execute como Administrador
- Ou instale manualmente copiando o executável para `C:\Program Files\NoIdle\`
### Não inicia automaticamente
**Problema:** NoIdle não inicia com o Windows
**Solução:**
1. Verifique se está instalado em Program Files
2. Verifique o registro:
```cmd
reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Run" /v NoIdle
```
3. Se não existir, execute o NoIdle novamente como Administrador
### Firefox não aparece no histórico
**Problema:** URLs do Firefox não são capturadas
**Solução:**
- Verifique se o Firefox está instalado
- Verifique se há perfis em: `C:\Users\[USERNAME]\AppData\Roaming\Mozilla\Firefox\Profiles\`
- O cliente procura em todos os perfis automaticamente
## 📝 Notas Técnicas
### Estrutura do Banco de Dados
**Tabela `browsing_history`:**
- `device_id`: ID do dispositivo (string)
- `url`: URL visitada
- `title`: Título da página
- `browser`: Navegador (Chrome, Firefox, Edge)
- `visited_at`: Data/hora da visita
### Formato Firefox
Firefox usa SQLite com estrutura diferente:
- `moz_places`: Tabela de lugares (URLs)
- `moz_historyvisits`: Tabela de visitas
- Timestamp em microssegundos desde epoch
### Formato Chrome/Edge
Chrome e Edge usam SQLite com estrutura similar:
- `urls`: Tabela com URLs e títulos
- Timestamp em formato Chrome (microssegundos desde 1601-01-01)