blob: 2437deb57e09707c64ec7fa065ce4ba8b6d54772 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
Generates a static HTML page with a list of all the leases allocated by `dnsmasq`.
A simple template written in the jinja syntax is used.
The file containing the leases is expected to be at `/var/lib/dnsmasq/dnsmasq.leases`, but this can be overwritten by setting the environment variable `DNSMASQ_LEASES`.
The output of the script is written to `/var/lib/dnsmasq/leases.html` by default, but the destination can be overwritten by setting the environment variable `DNSMASQ_LEASES_OUT`.
The script can be executed automatically by `dnsmasq` if the configuration for `dhcp-script` is set to the path of the script. This will only be executed when a *new* lease is created or an *old* lease is deleted. To execute the script when a lease is *updated* you need to use the configuration `script-on-renewal`.
A configuration looks like this:
``` ini
dhcp-script=${pkgs.tools.dnsmasq-to-html}/bin/dnsmasq-leases-html
script-on-renewal
```
## nginx
To serve the page with nginx, you can use the following configuration:
``` nix
services.nginx = {
enable = true;
virtualHosts."dnsmasq" = {
listen = [
{
addr = "192.168.6.1";
port = 8067;
}
];
locations."/" = {
root = "/var/lib/dnsmasq";
index = "leases.html";
};
};
};
```
|