Aplicativo multiplataforma em Go para monitoramento de IPs (online/offline) com interface gráfica (Fyne) e persistência local em SQLite3.
Este é um projeto funcional, prem simples, tendo como objetivo o estudo da linguagem "Golang" e a biblioteca cross-plataforma fyne.io
- Cadastro de IPs para monitoramento
- Listagem dinâmica dos IPs monitorados
- Remoção de IPs
- Atualização do status (online/offline) manual
- Interface gráfica moderna baseada em cartões/seções
- Persistência automática em banco SQLite3 local
- Validação de IP na inclusão
- Go 1.18 ou superior (recomendado Go 1.20+)
- Git (opcional, para clonar o repositório)
- Sistema operacional: Windows, Linux ou macOS
-
Clone o repositório (opcional):
git clone <url-do-repositorio> cd ipMonitorApp
-
Baixe as dependências:
go mod tidy
-
Compile e execute:
go run main.go
Ou para gerar o executável:
go build -o ipmonitorapp.exe main.go ./ipmonitorapp.exe
(No Linux/macOS, use
./ipmonitorapp)
Para que o aplicativo rode apenas com a interface gráfica, sem abrir o terminal cmd junto:
- Compile usando o comando abaixo:
go build -ldflags="-H=windowsgui" -o ipMonitor-gui.exe main.go - Execute o arquivo
ipMonitor-gui.exenormalmente. Apenas a janela gráfica será exibida.
Se desejar rodar pelo terminal (para ver logs), use o comando padrão:
go run main.go-
Adicionar IP:
- Digite o endereço IP no campo "Digite o IP a ser monitorado".
- Clique em "Adicionar IP".
- Apenas IPs válidos são aceitos.
-
Atualizar status:
- Clique em "Atualizar Status" para verificar se os IPs estão online ou offline.
-
Remover IP:
- Selecione um IP na lista.
- Clique em "Remover IP".
-
Resumo:
- O topo da interface mostra o total de IPs cadastrados e o status geral (online/offline).
- O arquivo
ipmonitor.dbé criado automaticamente na primeira execução, no mesmo diretório do aplicativo. - Não é necessário configurar nada manualmente.
- O status "Online" é determinado por uma tentativa de conexão TCP na porta 80 do IP.
- O app não faz atualização automática em background (apenas manual).
- O app aceita tanto IPv4 quanto IPv6 válidos.
- O código segue o padrão MVC (Model-View-Controller) para facilitar manutenção e evolução.
- Para internacionalização, melhorias visuais ou automação, contribua ou solicite via issues.
- Dúvidas, sugestões ou bugs: abra uma issue no repositório ou entre em contato com o desenvolvedor.
Para compilar o app no Windows, utilize o script:
make.batIsso irá gerar o executável ipMonitorApp-win.exe na raiz do projeto.
No terminal:
make linux # Gera ipMonitorApp-linux
make macos # Gera ipMonitorApp-macos
make all # Gera para todas as plataformas (exceto Windows)
make clean # Remove os binários geradosOs binários gerados ficam na raiz do projeto.
-
Instale o Make para Windows:
-
Via Chocolatey:
choco install make
-
Ou via Scoop:
scoop install make
-
Ou baixe manualmente em: https://gnuwin32.sourceforge.net/packages/make.htm
-
Instale a extensão Makefile Tools
-
-
Feche e reabra o terminal após a instalação (para garantir que o comando make esteja no PATH).
-
Navegue até a pasta do projeto e execute:
make windows
Ou qualquer outro comando do Makefile conforme desejado.
Se aparecer erro de comando não encontrado, adicione o caminho do make.exe ao PATH do sistema.
Para gerar o app para Android e iOS, é necessário:
- Instalar o Fyne CLI
- Ter o ambiente de build configurado (Android SDK/NDK para Android, Xcode para iOS)
- Ter um ícone chamado
Icon.pngna raiz do projeto
make android # Gera o APK na pasta 'fyne-cross/dist' ou na raizmake ios # Gera o pacote iOS na pasta 'fyne-cross/dist' ou na raizVeja a documentação oficial do Fyne para detalhes de publicação e testes em dispositivos reais.
Desenvolvido com Go, Fyne e SQLite3.

