Scanner IP de rede leve com interface web. Características:
Enviar notificação quando um novo host for encontrado
Monitore o histórico online/offline dos hosts
Mantenha uma lista de todos os hosts da rede
Envie dados para InfluxDB2
para criar um painel Grafana
Substitua $YOURTIMEZONE
pelo fuso horário correto e $YOURIFACE
pela interface de rede que você deseja verificar. O modo de rede deve ser host
. Defina $DOCKERDATAPATH
para o contêiner salvar dados:
docker run --name wyl -e "IFACES=$SEUIFACE" -e "TZ=$SEUTIMEZONE" --network="host" -v $DOCKERDATAPATH/wyl:/data/WatchYourLAN aceberg/watchyourlan
A GUI da Web deve estar em http://localhost:8840
WatchYourLAN não possui opção de autenticação integrada. Mas você pode usá-lo com ferramentas de SSO como Authelia ou meu aplicativo de autenticação simples ForAuth.
Aqui está um exemplo docker-compose-auth.yml.
⚠️ AVISO!
Por favor, não esqueça que o WYL precisa do modo de redehost
para funcionar. Portanto, a porta WYL será exposta nesta configuração. Você precisa limitar o acesso a ele com firewall ou outras medidas.
Todos os pacotes binários podem ser encontrados na versão mais recente. Existem arquivos .deb
, .rpm
, .apk
(Alpine Linux) e .tar.gz
.
Arquiteturas suportadas: amd64
, i386
, arm_v5
, arm_v6
, arm_v7
, arm64
.
Dependências: arp-scan
, tzdata
.
Para amd64
existe um repositório deb
disponível
A configuração pode ser feita através de arquivo de configuração, GUI ou variáveis de ambiente. Os nomes das variáveis no arquivo config_v2.yaml
são iguais, mas em letras minúsculas.
Variável | Descrição | Padrão |
---|---|---|
TZ | Defina seu fuso horário para a hora correta | |
HOSPEDAR | Endereço de escuta | 0.0.0.0 |
PORTA | Porta para GUI da web | 8840 |
TEMA | Qualquer nome de tema de https://bootswatch.com em letras minúsculas ou adicionais | areia |
COR | Cor de fundo: claro ou escuro | escuro |
NODEPATH | Caminho para módulos de nós locais | |
SHOUTRRR_URL | WatchYourLAN usa Shoutrrr para enviar notificações. Já está integrado, só precisa de uma URL correta. Exemplos de Discord, Email, Gotify, Matrix, Ntfy, Pushover, Slack, Telegram, Generic Webhook e etc estão aqui |
Variável | Descrição | Padrão |
---|---|---|
IFACES | Interfaces para digitalizar. Pode ser um ou mais, separados por espaço. Consulte documentos/VLAN_ARP_SCAN.md. | |
TEMPO ESGOTADO | Tempo entre varreduras (segundos) | 120 |
ARP_ARGS | Argumentos para arp-scan . Habilite o nível de log debug para ver o comando resultante. (Exemplo: -r 1 ). Consulte documentos/VLAN_ARP_SCAN.md. | |
ARP_STRS ARP_STRS_JOINED | Consulte documentos/VLAN_ARP_SCAN.md. | |
LOG_LEVEL | Nível de log: debug , info , warn ou error | informações |
TRIM_HIST | Remover histórico após (horas) | 48 |
HIST_IN_DB | Armazenar histórico no banco de dados - se false , o histórico será armazenado apenas na memória e será perdido na reinicialização do aplicativo. Porém, isso manterá o banco de dados do aplicativo menor (e o InfluxDB é recomendado para armazenamento de histórico de longo prazo) | falso |
USE_DB | sqlite ou postgres | sqlite |
PG_CONNECT | Endereço para conectar-se ao PostgreSQL. (Exemplo: postgres://username:[email protected]:5432/dbname?sslmode=disable ). Lista completa de parâmetros de URL aqui |
Esta configuração corresponde à configuração do Grafana para fonte de dados InfluxDB
Variável | Descrição | Padrão | Exemplo |
---|---|---|---|
INFLUX_ENABLE | Habilitar exportação para InfluxDB2 | falso | verdadeiro |
INFLUX_SKIP_TLS | Ignorar verificação de TLS | falso | verdadeiro |
INFLUX_ADDR | Endereço:porta do servidor InfluxDB2 | https://192.168.2.3:8086/ | |
INFLUX_BUCKET | Balde InfluxDB2 | teste | |
INFLUX_ORG | Organização InfluxDB2 | lar | |
INFLUX_TOKEN | Token secreto, gerado pelo InfluxDB2 |
O nome do arquivo de configuração é config_v2.yaml
. Exemplo:
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: ""porta: "8840" shoutrrr_url: "gotify://192.168.0.1:8083/AwQqpAae.rrl5Ob/?title=Host desconhecido detectado&DisableTLS=yes"tema: sandtimeout: 60trim_hist: 48use_db: sqlite
Chave | Descrição | Padrão |
---|---|---|
-d | Caminho para o diretório de configuração | /data/WatchYourLAN |
-n | Caminho para módulos de nó (veja abaixo) |
Por padrão, este aplicativo extrai temas, ícones e fontes da Internet. Mas, em alguns casos, pode ser útil ter uma configuração de rede independente da rede global. Criei uma imagem separada com todos os módulos e fontes necessários. Execute com Docker:
docker run --name node-bootstrap -p8850:8850 aceberg/node-bootstrap
docker run --name wyl -e "IFACES=$SEUIFACE" -e "TZ=$SEUTIMEZONE" --network="host" -v $DOCKERDATAPATH/wyl:/data/WatchYourLAN aceberg/watchyourlan -n "http://$SEU_IP:8850"
Ou use docker-compose
Movido para docs/API.md
Cliente API Python por drwahl
Todos os pacotes go listados nas dependências
Favicon e logotipo: ícones de pontos de acesso criados por Freepik - Flaticon
Inicialização
Temas: Temas gratuitos para Bootstrap