Dashboard de monitoramento de sistema em tempo real com interface web moderna, design futurista e funcionalidades avançadas para administradores de sistema e desenvolvedores.
Interface principal com métricas em tempo real
Terminal integrado para execução de comandos
Gerenciamento de conexões SSH remotas
- CPU: Uso, temperatura, frequência, cores
- Memória: RAM, swap, cache, buffers
- Disco: Espaço, I/O, velocidade de leitura/escrita
- Rede: Tráfego, conexões, interfaces
- Processos: Lista completa com filtros e busca
- Sistema: Uptime, usuários, versão do OS
- Design futurista com tema escuro
- Responsiva para desktop, tablet e mobile
- Gráficos interativos com Chart.js
- Atualizações em tempo real via WebSocket
- PWA - Instalável como app nativo
- Temas (dark/light mode)
- Terminal integrado para execução de comandos
- Conexões SSH para servidores remotos
- Notificações Telegram para alertas
- Sistema de logs estruturado e avançado
- Exportação de dados em JSON/CSV
- Configurações personalizáveis
- Cache inteligente para otimização
- Throttling para evitar sobrecarga
- Intervalos adaptativos baseados na performance
- Sistema de fallback para alta disponibilidade
- Logs estruturados com níveis configuráveis
- Node.js 18+ - Runtime JavaScript
- Express.js - Framework web
- Socket.IO - Comunicação em tempo real
- SystemInformation - Coleta de dados do sistema
- SSH2 - Conexões SSH seguras
- Morgan - Logging HTTP
- Helmet - Segurança
- CORS - Cross-origin resource sharing
- HTML5 - Estrutura semântica
- CSS3 - Estilos modernos com variáveis
- JavaScript ES6+ - Lógica da aplicação
- Chart.js - Gráficos interativos
- WebSocket - Comunicação em tempo real
- PWA - Service Worker e Manifest
- Nodemon - Desenvolvimento
- Node.js 18+ (Download)
- NPM (vem com Node.js)
- Git (Download)
- Sistema Operacional: Windows 10+, macOS 10.15+, Ubuntu 18.04+
git clone https://github.com/mathsilva7717/SMX-LiveBoard.git
cd SMX-LiveBoardnpm installnpm starthttp://localhost:3000
- Métricas do Sistema: Visualize CPU, memória, disco e rede em tempo real
- Gráficos Interativos: Clique nos gráficos para detalhes
- Filtros: Use os filtros para focar em métricas específicas
- Exportação: Clique em "Exportar" para baixar dados
- Acesse a aba "Terminal"
- Digite comandos como em um terminal normal
- Execute scripts e comandos do sistema
- Visualize saída em tempo real
- Configure conexão na aba "SSH"
- Adicione servidor: IP, porta, usuário, senha/chave
- Conecte e execute comandos remotamente
- Gerencie múltiplas conexões
- Configure bot no Telegram
- Adicione token nas configurações
- Defina alertas para métricas específicas
- Receba notificações em tempo real
# Desenvolvimento
npm start # Inicia servidor de produção
npm run dev # Modo desenvolvimento com nodemon
# Electron (Desktop)
npm run electron # Inicia app desktop
npm run electron:dev # Modo desenvolvimento
# Build e Distribuição
npm run build # Build do projeto
npm run build:win # Build para Windows
npm run build:mac # Build para macOS
npm run build:linux # Build para Linux
npm run build:portable # Build portável Windows
npm run dist # Build completo + distribuição
# Testes
npm test # Executa testes (em desenvolvimento)SMX-LiveBoard/
├── 📁 backend/ # Servidor Node.js
│ ├── 📁 services/ # Serviços principais
│ │ ├── 📄 monitorService.js # Monitoramento do sistema
│ │ ├── 📄 sshService.js # Conexões SSH
│ │ ├── 📄 telegramService.js # Notificações Telegram
│ │ ├── 📄 terminalService.js # Terminal integrado
│ │ └── 📄 logsService.js # Sistema de logs
│ ├── 📁 utils/ # Utilitários
│ │ ├── 📄 logger.js # Sistema de logging
│ │ └── 📄 httpLogger.js # Logs HTTP
│ ├── 📁 logs/ # Arquivos de log
│ ├── 📄 index.js # Servidor principal
│ └── 📄 config.json # Configurações
├── 📁 js/ # Frontend JavaScript
│ ├── 📄 app.js # Aplicação principal
│ ├── 📄 logs.js # Gerenciamento de logs
│ ├── 📄 ssh.js # Interface SSH
│ └── 📄 pwa-install.js # Instalação PWA
├── 📁 styles/ # Estilos CSS
│ ├── 📄 main.css # Estilos principais
│ └── 📄 pwa-modal.css # Modal PWA
├── 📁 assets/ # Recursos estáticos
│ ├── 📄 favicon.svg # Favicon
│ ├── 📄 icon-*.svg # Ícones PWA
│ └── 📄 ... # Outros ícones
├── 📄 index.html # Página principal
├── 📄 manifest.json # Manifest PWA
├── 📄 sw.js # Service Worker
├── 📄 browserconfig.xml # Configuração IE/Edge
├── 📄 package.json # Dependências e scripts
└── 📄 README.md # Este arquivo
{
"processMonitoring": {
"maxHistoryPoints": 20, // Pontos de histórico
"defaultLimit": 10, // Limite padrão de processos
"updateInterval": 5000, // Intervalo de atualização (ms)
"fallbackEnabled": true // Sistema de fallback
},
"systemInformation": {
"timeout": 10000, // Timeout para coleta (ms)
"retries": 3 // Tentativas de retry
},
"logging": {
"level": "info", // Nível de log (debug, info, warn, error)
"enableFileLogging": true // Logs em arquivo
}
}# Servidor
PORT=3000
NODE_ENV=production
# Telegram
TELEGRAM_BOT_TOKEN=seu_token_aqui
TELEGRAM_CHAT_ID=seu_chat_id_aqui
# SSH
SSH_TIMEOUT=30000
SSH_RETRIES=3
# Logs
LOG_LEVEL=info
LOG_FILE_PATH=./logs/system.log- Copie o arquivo
env.examplepara.env - NUNCA commite o arquivo
.envno Git - Mantenha seus tokens seguros
GET /api/system/metrics- Métricas do sistemaGET /api/system/info- Informações do sistemaGET /api/system/uptime- Tempo de atividade
GET /api/processes- Lista de processosGET /api/processes/:pid- Processo específicoPOST /api/processes/:pid/kill- Finalizar processo
GET /api/logs- Logs do sistemaGET /api/logs/:level- Logs por nívelDELETE /api/logs- Limpar logs
POST /api/terminal/execute- Executar comandoGET /api/terminal/history- Histórico de comandos
POST /api/ssh/connect- Conectar SSHPOST /api/ssh/execute- Executar comando SSHDELETE /api/ssh/disconnect- Desconectar SSH
POST /api/telegram/send- Enviar mensagemGET /api/telegram/status- Status da conexão
O SMX LiveBoard está em constante evolução! Consulte nosso Roadmap para ver as próximas funcionalidades:
- Monitoramento de múltiplos servidores
- Dashboard centralizado
- Comparação entre hosts
- Interface mais responsiva
- Temas (dark/light mode)
- Configurações avançadas
- Aplicativo Electron
- Notificações nativas
- Tray icon
- App React Native
- Notificações push
- Widgets
- Extensões de navegador
- Widget na nova aba
- Badge com status
- API REST completa
- Webhooks
- SDK para JavaScript
Contribuições são muito bem-vindas! O SMX LiveBoard é um projeto open source e precisa da sua ajuda para crescer.
- Fork o projeto
- Clone seu fork:
git clone https://github.com/SEU_USUARIO/SMX-LiveBoard.git - Crie uma branch:
git checkout -b feature/nova-feature - Desenvolva sua feature
- Teste suas alterações
- Commit seguindo o padrão:
git commit -m "feat: adiciona nova funcionalidade" - Push para sua branch:
git push origin feature/nova-feature - Abra um Pull Request
- JavaScript: Use ES6+ e async/await
- CSS: Use classes semânticas e variáveis CSS
- Commits: Use conventional commits (feat, fix, docs, style, refactor, test)
- Nomes de arquivos: Use kebab-case (ex:
user-service.js) - Funções: Use camelCase (ex:
getUserData())
Procurando por onde começar? Procure por issues marcadas com:
good first issue- Ideal para inicianteshelp wanted- Precisa de ajudadocumentation- Melhorias na documentação
📖 Guia completo de contribuição →
Este projeto está sob a licença MIT. Veja o arquivo LICENSE para detalhes.
MIT License
Copyright (c) 2025 Matheus Silva
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
- Nome: Matheus Silva
- Email: [email protected]
- Telefone: +55 13 99709-6178
- GitHub: @mathsilva7717
- LinkedIn: Matheus Silva
- GitHub Issues: Para bugs e sugestões
- GitHub Discussions: Para ideias e discussões
- Email: Suporte direto por email
- WhatsApp: Suporte rápido por mensagem
- Guia de Contribuição - Como contribuir
- Roadmap - Próximas funcionalidades
- Sistema de Coleta - Arquitetura técnica
- systeminformation - Coleta de dados do sistema
- Socket.IO - Comunicação em tempo real
- Express.js - Framework web
- Chart.js - Gráficos interativos
- SSH2 - Conexões SSH
- Contribuidores que ajudam a melhorar o projeto
- Usuários que reportam bugs e sugerem melhorias
- Comunidade open source pelo suporte e inspiração
Se o SMX LiveBoard foi útil para você, considere dar uma ⭐ no GitHub! Isso ajuda muito o projeto a crescer e chegar a mais pessoas.
Mantenha-se atualizado com as últimas funcionalidades:
- Watch o repositório no GitHub
- Follow @mathsilva7717 para updates
- Subscribe nas discussions para novidades
Desenvolvido por Matheus Silva
SMX LiveBoard - Monitoramento de sistema feito simples e poderoso 🚀