Легкий сетевой IP-сканер с веб-интерфейсом. Функции:
Отправлять уведомление при обнаружении нового хоста
Отслеживать онлайн/офлайн историю хостов
Храните список всех хостов в сети
Отправьте данные в InfluxDB2
чтобы создать панель управления Grafana
.
Замените $YOURTIMEZONE
правильным часовым поясом и $YOURIFACE
сетевым интерфейсом, который вы хотите сканировать. Режим сети должен быть host
. Установите $DOCKERDATAPATH
для контейнера для сохранения данных:
docker run --name wyl -e "IFACES=$ВАШЕЛИФЕЙС" -e "TZ=$ВАШВРЕМЯ" --network="хост" -v $DOCKERDATAPATH/wyl:/data/WatchYourLAN aceberg/watchyourlan
Веб-интерфейс должен находиться по адресу http://localhost:8840.
WatchYourLAN не имеет встроенной опции авторизации. Но вы можете использовать его с инструментами единого входа, такими как Authelia, или с моим простым приложением для аутентификации ForAuth.
Вот пример docker-compose-auth.yml.
⚠️ ПРЕДУПРЕЖДЕНИЕ!
Пожалуйста, не забывайте, что для работы WYL необходим режимhost
-сети. Таким образом, порт WYL будет открыт в этой настройке. Вам необходимо ограничить доступ к нему с помощью брандмауэра или других мер.
Все бинарные пакеты можно найти в последней версии. Существуют файлы .deb
, .rpm
, .apk
(Alpine Linux) и .tar.gz
.
Поддерживаемые архитектуры: amd64
, i386
, arm_v5
, arm_v6
, arm_v7
, arm64
.
Зависимости: arp-scan
, tzdata
.
Для amd64
доступен репозиторий deb
.
Конфигурацию можно выполнить через файл конфигурации, графический интерфейс или переменные среды. Имена переменных в файле config_v2.yaml
такие же, но в нижнем регистре.
Переменная | Описание | По умолчанию |
---|---|---|
ТЗ | Установите часовой пояс для правильного времени | |
ХОЗЯИН | Прослушать адрес | 0.0.0.0 |
ПОРТ | Порт для веб-интерфейса | 8840 |
ТЕМА | Любое название темы с https://bootswatch.com в нижнем регистре или дополнительно. | песок |
ЦВЕТ | Цвет фона: светлый или темный | темный |
ПУТЬ УЗЛА | Путь к модулям локального узла | |
SHOUTRRR_URL | WatchYourLAN использует Shoutrrr для отправки уведомлений. Он уже интегрирован, просто нужен правильный URL. Примеры для Discord, Email, Gotify, Matrix, Ntfy, Pushover, Slack, Telegram, Generic Webhook и т. д. здесь. |
Переменная | Описание | По умолчанию |
---|---|---|
ИФЕЙСЫ | Интерфейсы для сканирования. Может быть один или несколько, разделенных пробелом. См. документы/VLAN_ARP_SCAN.md. | |
ТАЙМ-АУТ | Время между сканированиями (секунды) | 120 |
ARP_ARGS | Аргументы в пользу arp-scan . Включите уровень журнала debug чтобы увидеть полученную команду. (Пример: -r 1 ). См. документы/VLAN_ARP_SCAN.md. | |
ARP_STRS ARP_STRS_JOINED | См. документы/VLAN_ARP_SCAN.md. | |
ЛОГ_УРОВЕНЬ | Уровень журнала: debug , info , warn или error | информация |
TRIM_HIST | Удалить историю через (часов) | 48 |
HIST_IN_DB | Хранить историю в БД — если false , история будет храниться только в памяти и будет потеряна при перезапуске приложения. Тем не менее, это позволит уменьшить размер базы данных приложения (и InfluxDB рекомендуется для долгосрочного хранения истории). | ЛОЖЬ |
USE_DB | Либо sqlite , либо postgres | Склайт |
PG_CONNECT | Адрес для подключения к PostgreSQL. (Пример: postgres://username:[email protected]:5432/dbname?sslmode=disable ). Полный список параметров URL здесь |
Эта конфигурация соответствует конфигурации Grafana для источника данных InfluxDB.
Переменная | Описание | По умолчанию | Пример |
---|---|---|---|
INFLUX_ENABLE | Включить экспорт в InfluxDB2. | ЛОЖЬ | истинный |
INFLUX_SKIP_TLS | Пропустить проверку TLS | ЛОЖЬ | истинный |
INFLUX_ADDR | Адрес: порт сервера InfluxDB2. | https://192.168.2.3:8086/ | |
INFLUX_BUCKET | Ведро InfluxDB2 | тест | |
INFLUX_ORG | Организация InfluxDB2 | дом | |
INFLUX_TOKEN | Секретный токен, сгенерированный InfluxDB2. |
Имя файла конфигурации — config_v2.yaml
. Пример:
arp_args: ""color: darkhist_in_db: falsehost: 0.0.0.0ifaces: enp4s0influx_addr: ""influx_bucket: ""influx_enable: falseinflux_org: ""influx_skip_tls: falseinflux_token: ""log_level: infonodepath: ""pg_connect: ""port: "8840"shoutrrr_url: "gotify://192.168.0.1:8083/AwQqpAae.rrl5Ob/?title=Обнаружен неизвестный хост&DisableTLS=yes"theme: sandtimeout: 60trim_hist: 48use_db: sqlite
Ключ | Описание | По умолчанию |
---|---|---|
-д | Путь к каталогу конфигурации | /данные/WatchYourLAN |
-н | Путь к узлам модулей (см. ниже) |
По умолчанию это приложение извлекает темы, значки и шрифты из Интернета. Но в некоторых случаях может быть полезно иметь независимую от глобальной сети настройку. Я создал отдельный образ со всеми необходимыми модулями и шрифтами. Запустите с помощью Docker:
docker run --name node-bootstrap -p 8850:8850 aceberg/узел-бутстрап
docker run --name wyl -e "IFACES=$ВАШЕЛИФЕЙС" -e "TZ=$ВАШВРЕМЯ" --network="хост" -v $DOCKERDATAPATH/wyl:/data/WatchYourLAN aceberg/watchyourlan -n "http://$ВАШ_IP:8850"
Или используйте docker-compose
Перемещено в docs/API.md.
API-клиент Python от Drwahl
Все пакеты go перечислены в зависимостях
Фавикон и логотип: значки точек доступа, созданные Freepik — Flaticon
Бутстрап
Темы: Бесплатные темы для Bootstrap.