No description
Find a file
2023-08-03 01:25:07 +07:00
.github Release 0.9.4 2023-06-27 00:40:08 +07:00
assets Notifications 2022-08-25 12:24:10 +07:00
build/ci Binary and Deb 2022-12-29 12:52:46 +07:00
cmd/WatchYourLAN Migrate to YAML config file 2023-08-03 01:03:19 +07:00
configs Migrate to YAML config file 2023-08-03 01:03:19 +07:00
internal Migrate to YAML config file 2023-08-03 01:03:19 +07:00
.gitignore Conf and models 2022-11-16 22:37:54 +07:00
.version Version on config page 2023-01-06 22:07:27 +07:00
CHANGELOG.md Release 0.9.4 2023-06-27 00:40:08 +07:00
docker-compose-local.yml Release 0.9.4 2023-06-27 00:40:08 +07:00
docker-compose.yml Button to test notifications 2023-01-16 19:55:15 +07:00
Dockerfile Remove Docker healthcheck 2023-06-30 22:24:54 +07:00
go.mod Migrate to YAML config file 2023-08-03 01:03:19 +07:00
go.sum Migrate to YAML config file 2023-08-03 01:03:19 +07:00
LICENSE.md Create LICENSE.md 2022-08-23 15:59:53 +07:00
Makefile Migrate config file to YAML 2023-08-03 01:25:07 +07:00
README.md Release 0.9.4 2023-06-27 00:40:08 +07:00

WatchYourLAN


Docker Go Report Card Maintainability Docker Image Size (latest semver) Docker Pulls

Lightweight network IP scanner with web GUI https://github.com/aceberg/WatchYourLAN

Screenshot_v0.6

Quick start

Replace $YOURTIMEZONE with correct time zone and $YOURIFACE with network interface you want to scan. Network mode must be host. Set $DOCKERDATAPATH for container to save data:

docker run --name wyl \
	-e "IFACE=$YOURIFACE" \
	-e "TZ=$YOURTIMEZONE" \
	--network="host" \
	-v $DOCKERDATAPATH/wyl:/data \
    aceberg/watchyourlan

Web GUI should be at http://localhost:8840

Config

Configuration can be done through config file or environment variables

Variable Description Default
IFACE Interface to scan. Could be one or more, separated by space. Currently docker0 is not allowed, as arp-scan wouldn't work with it correctly enp1s0
DBPATH Path to Database /data/db.sqlite
GUIIP Address for web GUI localhost (127.0.0.1)
GUIPORT Port for web GUI 8840
TIMEOUT Time between scans (seconds) 60 (1 minute)
SHOUTRRR_URL Url to any notification service supported by Shoutrrr (gotify, email, telegram and others) or Generic Webhook ""
THEME Any theme name from https://bootswatch.com in lowcase solar
COLOR Background color: light or dark light
IGNOREIP If you want to detect unknown hosts by MAC only, set this wariable to "yes" no
LOGLEVEL How much log output you want to see ("short" or "verbose") verbose

Config file

Config file path is /data/config. All variables could be set there. Example:

IFACE="enp2s0 wg0"
DBPATH="/data/hosts.db"
GUIIP="192.168.2.1"     		# To access from LAN
GUIPORT="8840"
TIMEOUT="300"           		# 5 minutes
SHOUTRRR_URL="gotify://192.168.2.1:8083/AwQqpAae.rrl5Ob/?title=Unknown host detected&DisableTLS=yes"	# Url to notify
THEME="darkly"
IGNOREIP="no"
LOGLEVEL="short"

Options

Key Description Default
-c Path to config file /data/config
-n Path to node modules (see below) ""

Local network only

By default, this app pulls themes, icons and fonts from the internet. But, in some cases, it may be useful to have an independent from global network setup. I created a separate image with all necessary modules and fonts. Run with Docker:

docker run --name node-bootstrap          \
    -p 8850:8850                          \
    aceberg/node-bootstrap
docker run --name wyl \
	-e "IFACE=$YOURIFACE" \
	-e "TZ=$YOURTIMEZONE" \
	--network="host" \
	-v $DOCKERDATAPATH/wyl:/data \
    aceberg/watchyourlan -n "http://127.0.0.1:8850"

Or use docker-compose

Thanks