Skip to content

Osvaldo-Net/LANGuard

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

450 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LANGuard logo

LANGuard

Network monitoring and security — self-hosted, from your own server.

Docker Docker Pulls Languages Version

¿Hablas español? Lee la documentación completa aquí.


What is LANGuard?

LANGuard is a self-hosted web application for advanced scanning and monitoring of your local network. It combines Nmap and ARP to identify every connected device, classify them as trusted or untrusted, and instantly alert you via Telegram if something suspicious shows up.

No manual network interface configuration required — LANGuard auto-detects the network segment it runs on. All data is stored locally with SQLite, no cloud dependencies.


Screenshots

Dashboard Dashboard

Scanning Scanning

History History

Dark mode Dark mode


Features

Category Details
Scanning Auto-detects network segment, Nmap + ARP, configurable scan interval
Dashboard Stat cards (total / trusted / untrusted) with live animated counters
Devices Custom names, manufacturer lookup, port scanning per device
Trust management Mark/unmark devices as trusted directly from the table or the side panel
History Full connection/disconnection log with auto-refresh and MAC filter
Alerts Real-time Telegram notifications for untrusted devices
Profile Display name, email and password change from the profile side panel
UI Dark mode, ES/EN language switch, responsive sidebar, slide-in panels
Storage Lightweight SQLite — no external database needed

Installation

1. Set environment variables

Create a .env file in the same directory:

SECRET_KEY=your_secure_key_here

Generate a secure key with:

openssl rand -hex 32

2. Deploy with Docker Compose

services:
  languard:
    container_name: LANGuard
    image: netosvaltools/languard:latest
    environment:
      SECRET_KEY: ${SECRET_KEY}
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - ./data:/app/data
    network_mode: "host"
    cap_add:
      - NET_RAW
      - NET_ADMIN
    restart: unless-stopped
docker compose up -d

⚠️ network_mode: host is required for LAN scanning. Change SECRET_KEY before going to production.


First access

Open the web interface from your browser using the server's IP on port 5555:

http://<server-IP>:5555

Default credentials:

Field Value
Username admin@example.com
Password admin

⚠️ Change your password immediately after the first login.


Side panels

LANGuard uses slide-in panels instead of cluttering the main view:

  • History — connection/disconnection timeline, filterable by MAC and event type
  • Trusted Devices — full list with inline name editing, add/remove without reload
  • Profile — display name, credentials (email + password), session info

Updating

docker compose pull
docker compose up -d

Environment variables

Variable Description Required
SECRET_KEY Secret key for session encryption ✅ Yes

Access log

The access log is stored at:

/app/data/accesos.log

Security note

Never expose the admin interface directly to the internet. If you need remote access, use a VPN such as WireGuard, OpenVPN, or Tailscale.


Developer note

This project was born from a passion for networking, cybersecurity, and homelabs. Built with the help of AI tools as a personal project, with the goal of creating useful, real, self-hosted solutions for those who — like me — enjoy running their own home infrastructure.


About

Aplicación de monitoreo de red LAN

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors