Plataforma de gerenciamento remoto e controle empresarial desenvolvida por GirelliDev.
O IronWatch, apelidado de SageKiller é um ecossistema modular que conecta administradores, clientes e servidores através de uma infraestrutura centralizada e segura.
O sistema foi projetado para ser simples, rápido e robusto, utilizando comunicação direta via TCP Socket e autenticação baseada em tokens temporários.
O ecossistema é composto por quatro módulos principais.
Servidor central responsável por:
- autenticação de usuários
- geração e validação de tokens
- gerenciamento de sessões
- comunicação entre clientes e administradores
- acesso ao banco de dados
Aplicativo utilizado por administradores para:
- gerenciamento de empresas
- controle de usuários
- envio de comandos
- monitoramento em tempo real
Aplicativo utilizado pelo cliente final.
Funcionalidades previstas:
- notificações
- calendário
- agendamentos
- comunicação com a empresa
Cliente desktop simplificado que permite:
- comunicação direta com o servidor
- execução de comandos remotos
- visualização de informações básicas
| Camada | Tecnologia |
|---|---|
| Backend | Java / TCP Socket |
| Mobile | Android (Kotlin) |
| Desktop | Python |
| Banco de dados | MySQL |
| Comunicação | TCP + JSON |
| Segurança | Tokens temporários |
Admin App
│
│ TCP
▼
IronWatch Server
│
│ TCP
▼
User App / Desktop Client
Todos os clientes se conectam diretamente ao IronWatch Server, que atua como ponto central de autenticação e controle.
O sistema utiliza tokens temporários de sessão.
Fluxo básico:
- Usuário envia login
- Servidor valida credenciais
- Servidor gera token de sessão
- Cliente utiliza token nas requisições seguintes
Cada token possui:
- tempo de vida configurável (TTL)
- associação com usuário
- validação no servidor
Exemplo de requisição enviada ao servidor:
{
"token": "HudUvq",
"action": "list-companies"
}Resposta do servidor:
{
"success": true,
"companies": [
{ "name": "TechCorp", "is_active": 1 },
{ "name": "MedPlus", "is_active": 0 }
]
}Este projeto passou por uma auditoria de segurança. Confira os detalhes em:
- SECURITY.md - Guia de boas práticas e segurança
- ENVIRONMENT_SETUP.md - Configuração segura de variáveis de ambiente
- ✅ Credenciais movidas para variáveis de ambiente
- ✅ SSL/TLS habilitado no MySQL
- ✅ IPs parametrizados (não hardcoded)
- ✅ Arquivo suspeito removido do versionamento
Antes de executar, configure as variáveis de ambiente:
# 1. Copie o arquivo de exemplo
cp .env.example .env
# 2. Edite com suas credenciais reais
nano .env
# Variáveis necessárias:
# DB_HOST=localhost
# DB_PORT=3306
# DB_USER=seu_usuario
# DB_PASSWORD=sua_senha_forte
# DB_USE_SSL=true.env com dados sensíveis. Já está em .gitignore.
Para mais detalhes, veja ENVIRONMENT_SETUP.md e SECURITY.md.
cd IronWatchServer
mvn clean packagejava -jar target/ironwatch-server.jarOu com variáveis específicas:
DB_HOST=db.example.com DB_USER=prod_user DB_PASSWORD=senha java -jar target/ironwatch-server.jar- Configure as variáveis de ambiente para o build:
export SERVER_HOST_BUILD=seu_servidor.com
export SERVER_PORT_BUILD=5555- Ou edite diretamente em
build.gradledo móduloapp:
buildTypes {
debug {
buildConfigField "String", "SERVER_HOST", "\"192.168.1.100\""
buildConfigField "int", "SERVER_PORT", "5555"
}
release {
buildConfigField "String", "SERVER_HOST", "\"api.seu-dominio.com\""
buildConfigField "int", "SERVER_PORT", "5555"
}
}✅ Agora: Host e porta são definidos em tempo de build, não mais hardcoded!
- Abra o projeto em Android Studio
- Execute o projeto:
Run → Run 'app'
Para mais detalhes sobre configuração, veja ENVIRONMENT_SETUP.md.
Instalar dependências:
pip install -r requirements.txtExecutar:
python IronWatchClient.pyGerar executável:
pyinstaller --onefile IronWatchClient.pyIronWatch
│
├── IronWatchServer
│
├── IronWatchAdmin
│
├── IronWatchUser
│
└── IronWatchClient
Logs do servidor são exibidos no console e podem ser redirecionados para arquivo.
Exemplo:
[INFO] Server started
[INFO] Client connected
[INFO] Session created
Projeto distribuído sob licença MIT.
GirelliDev
GitHub https://github.com/GirelliDev
Sistema desenvolvido no Brasil, com filosofia de engenharia inspirada em robustez e simplicidade.