Sign inSign up

gerald77/dnsmasq-leases

By gerald77

•Updated 7 days ago

Webseite: dnsmasq-Leases und statische Leases (dhcp-host) als sortierbare Tabellen

Image
0

175

gerald77/dnsmasq-leases repository overview

⁠dnsmasq-leases

Webseite (React + nginx), die die Lease-Datei und die statischen Leases (dhcp-host) eines dnsmasq⁠-Servers als sortierbare, filterbare Tabellen anzeigt.

  • Reiter „Leases" – die aktuelle Lease-Datei (dnsmasq.leases), immer schreibgeschützt.
  • Reiter „Statische Leases" – die dhcp-host-Zeilen der dnsmasq.conf mit Kommentar und Zeilennummer. Mit dem optionalen Image gerald77/dnsmasq-conf-api⁠ lässt sich je Zeile ein Eintrag bearbeiten und ein neuer anfügen.
  • Jede Spalte ist sortierbar (IPv4 numerisch, IPv4 vor IPv6, leere Werte am Ende).

Quellcode, Tests und ausführliche Doku: https://github.com/geraldpublic/Dnsmasq-Leases⁠

⁠Wichtig: keine Daten im Image

Das Image enthält keine Lease-Datei und keine dnsmasq.conf, nur die Webseite. Beide Dateien werden zur Laufzeit schreibgeschützt eingehängt. Ohne Einhängen liefert nginx einen 404 und die Seite meldet „nicht erreichbar".

⁠Schnellstart

docker run -d --name dnsmasq-leases \
  -p 127.0.0.1:8080:80 \
  -v /pfad/zur/dnsmasq.leases:/usr/share/nginx/html/dnsmasq.leases:ro \
  -v /pfad/zur/dnsmasq.conf:/usr/share/nginx/html/dnsmasq.conf:ro \
  gerald77/dnsmasq-leases:latest

Dann ist die Seite unter http://127.0.0.1:8080⁠ erreichbar.

Mit Docker Compose (Vorlage docker-compose.yml und .env.example im Repository⁠): IMAGE_PREFIX=gerald77/ und die Dateipfade LEASES_FILE / CONF_FILE in die .env eintragen, dann docker compose pull && docker compose up -d.

⁠Tags

TagBedeutung
latestletzter erfolgreicher Build von main
<Zahl>Build-Nummer der Azure-Pipeline, für feste Versionen

⁠Einstellungen

WasWert
Port im Container80
/usr/share/nginx/html/dnsmasq.leasesLease-Datei (Volume, :ro)
/usr/share/nginx/html/dnsmasq.confdnsmasq.conf (Volume, :ro)
/etc/nginx/htpasswdnur mit dnsmasq-conf-api: Anmeldung für Änderungen (Volume, :ro)

Die Adressen der beiden Dateien (VITE_LEASES_URL, VITE_CONF_URL) sind im veröffentlichten Image fest eingebaut (Standard /dnsmasq.leases und /dnsmasq.conf). Andere Adressen erfordern ein eigenes Image, das sich mit docker compose up --build aus dem Repository bauen lässt.

⁠Sicherheit

  • Die Seite hat keine Anmeldung und zeigt alle MAC-Adressen und Hostnamen aus dem LAN. Den Port deshalb nur lokal binden (127.0.0.1) oder bewusst im vertrauenswürdigen LAN freigeben.
  • nginx liefert die ganze dnsmasq.conf aus, nicht nur die dhcp-host-Zeilen.
  • Hostnamen stammen von fremden DHCP-Clients und werden ausschließlich als Text gerendert.
  • Das Image läuft über HTTP ohne TLS; für den Zugriff über unsichere Netze einen Reverse-Proxy mit TLS davorsetzen.

⁠Lizenz und Haftungsausschluss

MIT-Lizenz (maßgeblich ist der englische Originaltext):

MIT License

Copyright (c) 2026 Gerald Brunner

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

Haftungsausschluss: Die Software wird „wie besehen" ohne jegliche Gewährleistung bereitgestellt. Die Nutzung erfolgt auf eigene Gefahr; die Autoren haften nicht für Schäden oder Datenverlust, die aus der Nutzung entstehen. Das gilt besonders für die Schnittstelle dnsmasq-conf-api, die die eingehängte dnsmasq.conf verändert.

Tag summary

Content type

Image

Digest

sha256:d78b8606c…

Size

69.1 MB

Last updated

7 days ago

docker pull gerald77/dnsmasq-leases