LANGuard es una aplicación web autohospedada para el escaneo y monitoreo avanzado de tu red local. Combina el poder de Nmap y ARP para identificar cada dispositivo conectado, clasificarlos como confiables o no confiables, y alertarte al instante vía Telegram si detecta algo sospechoso.
Sin configuración manual de interfaces de red: LANGuard detecta automáticamente el segmento de red donde se ejecuta. Toda la información se almacena localmente con SQLite, sin servidores externos ni dependencias en la nube.
- Detección automática de red — Sin elegir interfaces manualmente
- Alertas en tiempo real vía Telegram — Notificaciones ante dispositivos no confiables
- Historial de detecciones — Seguimiento completo de eventos en tu red
- Nombres personalizados por dispositivo — Identifica equipos fácilmente
- Filtrado avanzado — Busca por nombre, MAC o nivel de confianza
- Escaneo de puertos — Visualiza el estado de puertos por dispositivo
- Registro de accesos — Log de intentos exitosos y fallidos
- Modo oscuro — Interfaz adaptable a cualquier entorno
- Multiidioma — Español e inglés (más idiomas próximamente)
- Persistencia ligera con SQLite — Sin bases de datos externas
Crea un archivo .env en el mismo directorio:
TELEGRAM_BOT_TOKEN=tu_token_aqui
TELEGRAM_CHAT_ID=tu_chat_id_aqui
SECRET_KEY=genera_una_clave_seguraGenera una SECRET_KEY segura con:
openssl rand -hex 32services:
languard:
container_name: LANGuard
image: netosvaltools/languard:latest
environment:
TELEGRAM_BOT_TOKEN: ${TELEGRAM_BOT_TOKEN}
TELEGRAM_CHAT_ID: ${TELEGRAM_CHAT_ID}
SECRET_KEY: ${SECRET_KEY}
volumes:
- /etc/localtime:/etc/localtime:ro
- ./data:/app/data
network_mode: "host"
cap_add:
- NET_RAW
- NET_ADMIN
restart: unless-stoppeddocker compose up -d
⚠️ Nota de seguridad:network_mode: hostes necesario para que LANGuard pueda escanear tu red local. Cámbia laSECRET_KEYantes de poner el servicio en producción.
Una vez en marcha, accede a la interfaz web desde tu navegador usando la IP del servidor en el puerto 5555:
http://<IP-del-servidor>:5555
Credenciales por defecto:
| Campo | Valor |
|---|---|
| Usuario | admin@example.com |
| Contraseña | admin |
⚠️ Cambia la contraseña inmediatamente tras el primer inicio de sesión.
El log de accesos se almacena en:
/app/accesos.log
| Variable | Descripción | Requerida |
|---|---|---|
TELEGRAM_BOT_TOKEN |
Token del bot de Telegram para notificaciones | ✅ Sí |
TELEGRAM_CHAT_ID |
ID del chat donde se enviarán las alertas | ✅ Sí |
SECRET_KEY |
Clave secreta para cifrado de sesiones | ✅ Sí |
docker compose pull
docker compose up -dEste proyecto nació de la pasión por las redes, la ciberseguridad y el homelab. Fue construido con apoyo de herramientas de inteligencia artificial como parte de un proyecto personal, con el objetivo de crear soluciones útiles, reales y autohospedadas para quienes, como yo, disfrutan administrar su propia infraestructura en casa.
