Skip to content

udoprog/wolo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

wolo

github docs.rs build status chat on discord

Simple network monitor capable of sending magic Wake-on-LAN packets.

Populate /etc/ethers (man ethers) and/or /etc/hosts (man hosts) and run with:

wolo --bind 127.0.0.1:3000 --home home.md

The home.md is used to populate the landing page, see Landing Page below for how to configure this.

The /network page show an overview of the state of hosts on the network and the ability to wake them up if they have configured mac addresses.

Default Landing Page Network Page Network Page in lynx

wolo has a reactive design which works well on mobiles and all the pages work with a basic browser without JavaScript.


Configuration

The wolo service can take configuration from multiple sources:

  • By default we parse /etc/hosts to find hosts to interact with. Additional hosts files can be specified using --hosts <path>.
  • By default we parse /etc/ethers to find and associate hosts with MAC addresses. Additional files of this format can be specified using --ethers <path>.
  • Any number of optional configuration files can be specified using --config <path>.

The configuration files are in toml, and have the following format:

# The default socket address to bind to.
# Can be IPv4 or IPv6.
bind = "localhost:3000"

# Simple variant of a list of hosts.
hosts = ["example.com", "another.example.com"]

# Detailed host configuration.
[hosts."example.com"]
# Collection of mac addresses associated with this host.
macs = ["00:11:22:33:44:55"]
# Setting the preferred name will make it so that only this name is
# displayed in the network view for this host.
preferred_name = "example"
# Whether this host should be ignored.
#
# Additional hosts to be ignored can be specified with the
# `--ignore-host` option.
ignore = false

Landing Page

We expect a landing page to be specified in markdown either through the home option or the --home cli option. This can be dynamically changed while the service is running.

# wolo

This is the landing page for your wolo installation. Please edit it by copying
it from the README.md and specify an alternative path using the --home option.

* [Network](/network)
* [Github](https://github.com/udoprog/wolo)

Note that arbitrary markdown is not supported. Only the given structures are supported. The first title, paragraphs and links in list will simply be extracted and used to build the landing page. Warnings will be emitted for entries which are currently skipped.

About

A lightweight rust service to do basic network monitoring.

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Stars

Watchers

Forks

Packages

No packages published