Interface gráfica moderna e intuitiva para o ClamAV, projetada para ser compatível com Windows e Linux. Roda em background no system tray e oferece todas as funcionalidades principais do ClamAV através de uma interface React amigável.
- 🎨 Design limpo e intuitivo em português
- 🌙 Interface responsiva e moderna
- 📊 Dashboard com visão geral do sistema
- 🔔 Notificações de ameaças detectadas
- Scan Rápido: Escaneia pastas comuns (Downloads, Documentos, Desktop)
- Scan Completo: Escaneia todo o sistema
- Scan Personalizado: Escolha pastas ou arquivos específicos
- ⏱️ Progresso em tempo real durante o scan
- 📈 Visualização detalhada dos resultados
- Atualização manual com um clique
- Opção de atualização automática diária
- Indicador da última atualização
- Registro completo de todos os scans
- Detalhes de cada scan (arquivos escaneados, ameaças, duração)
- Visualização de ameaças detectadas
- Arquivos infectados movidos automaticamente para quarentena
- Opção de restaurar ou deletar arquivos em quarentena
- Interface segura para gerenciar ameaças
- Monitoramento contínuo de pastas críticas (Downloads, Desktop, Documentos)
- Scan automático de arquivos novos e modificados
- Escaneamento ultra-rápido: Prioriza o uso de
clamdscan(via daemon) para verificações em milissegundos. - Eficiência aprimorada: Ignora arquivos temporários de download (
.part,.crdownload, etc.) para evitar interrupções. - Sistema de Fila: Processa arquivos de forma controlada para evitar sobrecarga do sistema.
- Configuração personalizada de pastas monitoradas
- Exclusão de extensões específicas (.tmp, .log, .cache, etc.)
- Quarentena automática de ameaças detectadas
- Notificações instantâneas do sistema
- Estatísticas em tempo real (arquivos escaneados, ameaças detectadas)
- Histórico de ameaças recentes
- Ativar/desativar com um clique
- Scans automáticos em horários programados
- Frequências: Diária, Semanal ou Mensal
- Configuração de horário específico para cada agendamento
- Suporte a todos os tipos de scan (rápido, completo, personalizado)
- Criar múltiplos agendamentos diferentes
- Ativar/desativar agendamentos individualmente
- Visualização de próxima execução e última execução
- Notificação quando scans agendados são iniciados
- Persistência automática de configurações
- Iniciar com o Windows
- Minimizar para bandeja do sistema
- Notificações personalizáveis
- Configuração do caminho do ClamAV
- Aplicativo roda em background no system tray
- Menu de contexto com ações rápidas
- Indicador de status (idle, scanning, updating)
IMPORTANTE: Esta aplicação requer que o ClamAV esteja instalado e configurado no seu sistema (Windows ou Linux).
-
Baixe e instale o ClamAV:
- Acesse: https://www.clamav.net/downloads
- Siga as instruções para instalar no Windows, preferencialmente no caminho padrão (
C:\Program Files\ClamAV).
-
Configure o PATH (opcional, mas recomendado):
- Adicione
C:\Program Files\ClamAVao PATH do sistema - Ou configure o caminho nas configurações da aplicação.
- Adicione
-
Atualize as definições:
cd "C:\Program Files\ClamAV" freshclam
-
Instale os pacotes necessários:
sudo apt update sudo apt install clamav clamav-daemon
-
Atualize as definições (freshclam):
sudo freshclam
-
Inicie e habilite o serviço clamd (daemon):
sudo systemctl start clamav-daemon sudo systemctl enable clamav-daemonPara melhor desempenho da Proteção em Tempo Real, garanta que o serviço
clamav-daemonesteja ativo. -
Verifique a instalação:
clamscan --version clamdscan --version
Ambos os comandos devem retornar a versão do ClamAV.
- Baixe o instalador
ClamAV-Tray-UI-Setup.exe - Execute como Administrador
- Siga o assistente de instalação
- A aplicação será instalada e adicionada ao menu Iniciar
- Node.js 18+ instalado
- npm ou yarn
- ClamAV instalado (ver acima)
-
Clone o repositório:
git clone https://github.com/renatofabro/clamav-UI.git cd clamav-UI -
Instale as dependências:
npm install
-
Execute em modo desenvolvimento:
npm run dev
-
Build para produção:
npm run build npm run package
Isso gerará os pacotes para a sua plataforma atual (ex:
.debno Linux,.exeno Windows) na pastarelease/. Para gerar especificamente para Windows a partir de outra plataforma, use:npm run package:win
- Inicie a aplicação (ou ela será iniciada automaticamente se configurado)
- Verifique o ícone no system tray 🛡️
- Clique no ícone para abrir a interface
- A aplicação verificará automaticamente se o ClamAV está instalado
No Dashboard você encontrará:
- Status do ClamAV (versão, última atualização)
- Resumo dos últimos scans
- Botões de ação rápida
- Vá para a aba Scanner
- Escolha o tipo de scan:
- ⚡ Rápido: ~5-10 minutos
- 🖥️ Completo: pode demorar horas
- 📁 Personalizado: você escolhe o tempo
- Clique em Iniciar Scan
- Acompanhe o progresso em tempo real
Se ameaças forem detectadas:
- Arquivos infectados são automaticamente movidos para quarentena
- Acesse a aba Quarentena para gerenciá-los
- Você pode:
- ↩️ Restaurar: Move de volta para a Área de Trabalho (use com cuidado!)
- 🗑️ Deletar: Remove permanentemente
Método 1: Dashboard → Clique em "Atualizar Definições"
Método 2: Settings → Ative "Atualizar automaticamente"
Método 3: Menu do System Tray → "Atualizar Definições"
clamav-UI/
├── src/
│ ├── main/ # Processo principal Electron
│ │ ├── main.ts # Entry point
│ │ ├── preload.ts # Bridge IPC
│ │ ├── tray.ts # System tray manager
│ │ ├── clamav.ts # ClamAV operations
│ │ └── settings.ts # Settings manager
│ ├── renderer/ # Interface React
│ │ ├── components/ # Componentes React
│ │ │ ├── Dashboard.tsx
│ │ │ ├── Scanner.tsx
│ │ │ ├── History.tsx
│ │ │ ├── Quarantine.tsx
│ │ │ └── Settings.tsx
│ │ ├── styles/ # CSS
│ │ ├── App.tsx # Componente principal
│ │ ├── main.tsx # Entry point React
│ │ └── index.html
│ └── shared/ # Tipos compartilhados
│ └── types.ts
├── public/ # Assets (ícones)
├── dist/ # Build compilado
└── release/ # Instaladores
# Desenvolvimento
npm run dev # Inicia em modo dev (hot reload)
npm run dev:renderer # Apenas React (Vite)
npm run dev:main # Apenas Electron
# Build
npm run build # Build completo
npm run build:renderer # Build React
npm run build:main # Build Electron
# Empacotamento
npm run package # Gera executável
npm run package:win # Gera instalador Windows- Electron 28: Framework para aplicações desktop
- React 18: Interface do usuário
- TypeScript: Tipagem estática
- Vite: Build tool rápido
- electron-store: Persistência de configurações
- electron-builder: Empacotamento para Windows
- chokidar: File system watcher para proteção em tempo real
- node-cron: Agendamento de tarefas com cron
Se o ClamAV não for detectado automaticamente:
- Vá em Configurações
- Em "Caminho do ClamAV", insira o caminho correto
- Exemplo:
C:\Program Files\ClamAV - Salve as configurações
- Vá em Configurações
- Ative "Iniciar com o Windows"
- A aplicação será executada em background ao iniciar o sistema
Os arquivos em quarentena são armazenados em uma subpasta chamada ClamAV-Quarantine dentro do diretório home do seu usuário.
- Windows (exemplo):
C:\Users\[SeuUsuário]\ClamAV-Quarantine\ - Linux (exemplo):
/home/[SeuUsuário]/ClamAV-Quarantine/
-
Verifique a instalação do ClamAV:
- No terminal, execute:
clamscan --versioneclamdscan --version. Ambos devem retornar a versão. - No Linux, certifique-se de que o serviço
clamav-daemonesteja ativo:sudo systemctl status clamav-daemon.
- No terminal, execute:
-
Verifique o PATH do sistema:
- Certifique-se de que os executáveis do ClamAV (
clamscan,freshclam,clamdscan) estão acessíveis via PATH.
- Certifique-se de que os executáveis do ClamAV (
-
Configure manualmente o caminho:
- Se necessário, configure o caminho completo para a pasta de instalação do ClamAV nas Configurações da aplicação.
-
Execute a aplicação com privilégios adequados:
- No Windows, execute como Administrador. No Linux, se o ClamAV está configurado para o usuário atual, geralmente não é necessário
sudopara o UI, mas pode ser para algumas operações do ClamAV em pastas protegidas.
- No Windows, execute como Administrador. No Linux, se o ClamAV está configurado para o usuário atual, geralmente não é necessário
-
Verifique o ClamAV:
- No terminal, tente um scan manual:
clamscan -r /home/seu_usuario.
- No terminal, tente um scan manual:
-
Verifique os logs do Electron (F12 → DevTools) para mensagens de erro.
- Verifique sua conexão com a internet.
- Execute a atualização manualmente no terminal:
freshclam. Pode ser necessário executar comsudono Linux. - Verifique se o ClamAV tem permissões de escrita na pasta de definições (ex:
/var/lib/clamavno Linux,C:\Program Files\ClamAV\databaseno Windows).
Contribuições são bem-vindas! Para contribuir:
- Fork o projeto
- Crie uma branch para sua feature (
git checkout -b feature/MinhaFeature) - Commit suas mudanças (
git commit -m 'Adiciona MinhaFeature') - Push para a branch (
git push origin feature/MinhaFeature) - Abra um Pull Request
Este projeto está sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.
- ClamAV - Motor antivírus open-source
- Comunidade Electron
- Comunidade React
Para reportar bugs ou sugerir funcionalidades:
- Abra uma Issue
- Entre em contato com o desenvolvedor
Desenvolvido com ❤️ para tornar o ClamAV acessível a todos os usuários