# aceberg/watchyourlan

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/aceberg-watchyourlan).**

7,045 stars · 243 forks · Go · MIT

## Links

- GitHub: https://github.com/aceberg/WatchYourLAN
- Homepage: https://hub.docker.com/r/aceberg/watchyourlan
- awesome-repositories: https://awesome-repositories.com/repository/aceberg-watchyourlan.md

## Topics

`arp-scan` `arp-scanner` `intrusion-detection` `monitoring` `network-security` `self-hosted` `selfhosted`

## Description

WatchYourLAN is a self-hosted network discovery and monitoring tool written in Go. It scans local network interfaces using ARP requests to detect connected devices, tracks their online and offline status over time, and identifies when new or previously unseen hosts appear on the network. The application stores host data and connection history in either SQLite or PostgreSQL, and can export metrics to InfluxDB or expose a Prometheus endpoint for long-term storage and visualization in dashboards like Grafana.

The tool provides a REST API for programmatic management of monitored hosts, including adding, editing, deleting, and querying individual or all hosts, as well as triggering network rescans and checking port connectivity. Notifications are sent via the Shoutrrr bridge when new devices are detected, supporting multiple messaging platforms. Wake-on-LAN functionality allows sending magic packets to remotely power on sleeping devices on the local network.

Configuration is handled through a web interface or environment variables, and users can supply custom MAC vendor name mappings to override the built-in list. The application can run fully offline by loading all static assets locally.

## Tags

### System Administration & Monitoring

- [Network Monitoring Tools](https://awesome-repositories.com/f/system-administration-monitoring/network-monitoring-tools.md) — A lightweight network monitoring tool written in Go that detects new devices and logs host history.
- [Custom Range ARP Scanners](https://awesome-repositories.com/f/system-administration-monitoring/isolated-network-scanning/custom-range-arp-scanners.md) — Runs ARP scans against user-defined network ranges or VLANs with configurable parameters. ([source](https://github.com/aceberg/WatchYourLAN/blob/main/docs/VLAN_ARP_SCAN.md))
- [Interface-Specific ARP Scanners](https://awesome-repositories.com/f/system-administration-monitoring/isolated-network-scanning/interface-specific-arp-scanners.md) — Scans a specified network interface for active hosts using ARP requests. ([source](https://github.com/aceberg/WatchYourLAN/blob/main/docs/VLAN_ARP_SCAN.md))
- [InfluxDB Metric Ingestors](https://awesome-repositories.com/f/system-administration-monitoring/logging-and-telemetry/metric-data-ingestion/influxdb-metric-ingestors.md) — Sends network host presence data to an InfluxDB time-series database for long-term storage and analysis. ([source](https://github.com/aceberg/WatchYourLAN/blob/main/CHANGELOG.md))
- [Metrics Exporters](https://awesome-repositories.com/f/system-administration-monitoring/metrics-exporters.md) — Pushes host presence data to an InfluxDB2 instance for long-term storage and visualization. ([source](https://github.com/aceberg/WatchYourLAN/blob/main/README.md))
- [Multi-Backend Metric Exporters](https://awesome-repositories.com/f/system-administration-monitoring/metrics-exporters/multi-backend-metric-exporters.md) — Exports network host data and metrics to InfluxDB, Prometheus, PostgreSQL, or SQLite for analysis and visualization.
- [Prometheus-Formatted HTTP Endpoints](https://awesome-repositories.com/f/system-administration-monitoring/metrics-exporters/prometheus-formatted-http-endpoints.md) — Serves a metrics endpoint that Prometheus can scrape for network host data. ([source](https://github.com/aceberg/WatchYourLAN/blob/main/README.md))
- [Prometheus Exporters](https://awesome-repositories.com/f/system-administration-monitoring/prometheus-exporters.md) — Exposes host presence data in Prometheus format for scraping and long-term storage. ([source](https://github.com/aceberg/WatchYourLAN))
- [Multi-Backend Network Metric Exporters](https://awesome-repositories.com/f/system-administration-monitoring/prometheus-exporters/multi-backend-network-metric-exporters.md) — Sends host presence data to InfluxDB, InfluxDB2, or Prometheus for long-term storage and Grafana dashboards.
- [Device History Queries](https://awesome-repositories.com/f/system-administration-monitoring/request-history-persistence/command-history-persistence/query-history-logs/device-history-queries.md) — Provides a REST API endpoint to fetch connection history for a specific device. ([source](https://github.com/aceberg/WatchYourLAN/blob/main/docs/API.md))
- [Self-Hosted Monitoring Suites](https://awesome-repositories.com/f/system-administration-monitoring/self-hosted-monitoring-suites.md) — Provides a web interface to remove monitored hosts from the tracked device list. ([source](https://github.com/aceberg/WatchYourLAN/blob/main/CHANGELOG.md))

### Data & Databases

- [SQLite or PostgreSQL Storage](https://awesome-repositories.com/f/data-databases/sqlite-drivers/sqlite-storage-adapters/sqlite-or-postgresql-storage.md) — Persists network host information and configuration in either SQLite or PostgreSQL databases. ([source](https://github.com/aceberg/WatchYourLAN/blob/main/CHANGELOG.md))

### DevOps & Infrastructure

- [Host Management Endpoints](https://awesome-repositories.com/f/devops-infrastructure/rest-api-endpoint-management/host-management-endpoints.md) — Provides HTTP endpoints to add, edit, delete, and query hosts and network status programmatically.
- [GUI-Based Configurations](https://awesome-repositories.com/f/devops-infrastructure/configuration-management/environment-management/environment-variable-management/environment-variable-configurations/gui-based-configurations.md) — Adjusts scan, notification, and export settings through the web interface or environment variables. ([source](https://github.com/aceberg/WatchYourLAN))
- [Magic Packet Transmission](https://awesome-repositories.com/f/devops-infrastructure/network-automation/wake-on-lan-automation/magic-packet-transmission.md) — Sends Wake-on-LAN magic packets to remotely power on sleeping devices on the local network. ([source](https://github.com/aceberg/WatchYourLAN/blob/main/CHANGELOG.md))

### Networking & Communication

- [ARP Scanners](https://awesome-repositories.com/f/networking-communication/arp-and-ndp-responders/arp-scanners.md) — Scans local network interfaces using ARP requests to discover active hosts and their MAC addresses.
- [Network Device Arrival Notifiers](https://awesome-repositories.com/f/networking-communication/device-notification-bridges/network-device-arrival-notifiers.md) — Sends alerts when a new host is first detected on the local network during periodic scans. ([source](https://github.com/aceberg/WatchYourLAN/blob/main/README.md))
- [Periodic Network Scanners](https://awesome-repositories.com/f/networking-communication/local-network-discovery/periodic-network-scanners.md) — Scans a local network at a configurable interval to track which hosts are online or offline over time.
- [Network Environment Scanning](https://awesome-repositories.com/f/networking-communication/network-environment-scanning.md) — Periodically scans specified network interfaces for connected hosts and logs their presence. ([source](https://github.com/aceberg/WatchYourLAN/blob/main/README.md))
- [Network Scanners](https://awesome-repositories.com/f/networking-communication/network-scanners.md) — Scans local network interfaces for connected hosts using ARP requests and tracks their online/offline status.
- [Periodic Host Trackers](https://awesome-repositories.com/f/networking-communication/network-scanning-tools/blind-scanning-utilities/network-host-discoverers/periodic-host-trackers.md) — Periodically scans the local network and logs which hosts are online or offline over time. ([source](https://github.com/aceberg/WatchYourLAN))
- [Self-Hosted Network Discovery Tools](https://awesome-repositories.com/f/networking-communication/self-hosted-network-discovery-tools.md) — A self-hosted application for discovering and tracking devices on a local network with a web interface.
- [On-Demand Rescans](https://awesome-repositories.com/f/networking-communication/network-environment-scanning/on-demand-rescans.md) — Provides an API endpoint to trigger a fresh network scan on demand. ([source](https://github.com/aceberg/WatchYourLAN/blob/main/CHANGELOG.md))
- [Host Management APIs](https://awesome-repositories.com/f/networking-communication/rest-api-interfaces/host-management-apis.md) — Provides REST endpoints for adding, editing, deleting, and querying network hosts and their history.
- [Unified Notification Libraries](https://awesome-repositories.com/f/networking-communication/unified-notification-libraries.md) — Sends alerts to multiple messaging platforms through the Shoutrrr unified notification library.

### Security & Cryptography

- [New Device Alerts](https://awesome-repositories.com/f/security-cryptography/device-authentication-flows/new-device-alerts.md) — Identifies and flags previously unseen devices appearing on the local network. ([source](https://github.com/aceberg/WatchYourLAN/blob/main/README.md))

### Development Tools & Productivity

- [Bulk Host Queries](https://awesome-repositories.com/f/development-tools-productivity/host-listing-apis/bulk-host-queries.md) — Provides a REST API endpoint to retrieve every discovered host on the network. ([source](https://github.com/aceberg/WatchYourLAN/blob/main/docs/API.md))
- [Host Additions](https://awesome-repositories.com/f/development-tools-productivity/host-listing-apis/host-additions.md) — Provides a REST API endpoint to add new hosts to the monitored network. ([source](https://github.com/aceberg/WatchYourLAN/blob/main/CHANGELOG.md))
- [Host Deletions](https://awesome-repositories.com/f/development-tools-productivity/host-listing-apis/host-deletions.md) — Provides a REST API endpoint to permanently delete host records. ([source](https://github.com/aceberg/WatchYourLAN/blob/main/docs/API.md))
- [Host Edits](https://awesome-repositories.com/f/development-tools-productivity/host-listing-apis/host-edits.md) — Provides a REST API endpoint to edit host names and toggle known status. ([source](https://github.com/aceberg/WatchYourLAN/blob/main/docs/API.md))

### Operating Systems & Systems Programming

- [Single Host Queries](https://awesome-repositories.com/f/operating-systems-systems-programming/host-state-querying/single-host-queries.md) — Provides a REST API endpoint to look up details for one host by its identifier. ([source](https://github.com/aceberg/WatchYourLAN/blob/main/docs/API.md))

### User Interface & Experience

- [Host Count Summaries](https://awesome-repositories.com/f/user-interface-experience/view-to-data-mappings/status-based-view-mapping/network-interface-status-displays/host-count-summaries.md) — Provides a REST API endpoint to query summary counts of network hosts. ([source](https://github.com/aceberg/WatchYourLAN/blob/main/docs/API.md))
