Zum Inhalt springen

Schnellstart

DNS-Editor ist eine einzelne statische Binärdatei mit eingebetteter Oberfläche. Es gibt nichts zu installieren außer der Datei selbst: kein Node, kein Webserver davor, keine externe Datenbank für den Einstieg.

  • Linux oder macOS (amd64/arm64)
  • Für den Einstieg reicht SQLite — die Datei legt der Server selbst an
  • Ein 32-Byte-Verschlüsselungsschlüssel (siehe unten)

Fertige Binaries hängen an jedem Release als Generic Package im GitLab-Projekt (dnseditor-linux-amd64, dnseditor-linux-arm64, dnseditor-darwin-arm64). Alternativ selbst bauen:

Terminal-Fenster
git clone https://gitlab.techeve.de/dns-editor/dns-editor-ce.git
cd dns-editor-ce
make build # → dist/dnseditor (UI eingebettet)

Alle Provider-Zugangsdaten, Zertifikats-Schlüssel und geheimen Einstellungen liegen envelope-verschlüsselt in der Datenbank. Ohne diesen Schlüssel sind sie nicht lesbar — auch nicht aus einem Backup:

Terminal-Fenster
openssl rand -hex 32
Terminal-Fenster
DNSE_ENCRYPTION_KEY=<dein-hex-key> \
DNSE_ADMIN_PASSWORD=<start-passwort> \
./dnseditor

Die Oberfläche läuft dann auf http://127.0.0.1:8422. Anmeldung mit admin und dem gesetzten Passwort. DNSE_ADMIN_PASSWORD wird nur beim allerersten Start ausgewertet — ein später geändertes Passwort bleibt bestehen.

Zum Ausprobieren ohne echten Anbieter gibt es einen In-Memory-Provider mit vorgefertigten Daten (Zonen, Benutzer, Historie, Drift):

Terminal-Fenster
make demo # Port 8432, eigene Datenbank

oder direkt:

Terminal-Fenster
DNSE_DEMO=on DNSE_DB=./demo.db DNSE_LISTEN=127.0.0.1:8432 \
DNSE_ENCRYPTION_KEY=$(openssl rand -hex 32) DNSE_ADMIN_PASSWORD=demo ./dnseditor

Im Demo-Modus werden Zertifikate selbstsigniert ausgestellt; es geht kein Aufruf nach außen.

Für den produktiven Betrieb gehört ein Reverse Proxy mit TLS davor. Zwei Einstellungen sind dann wichtig:

Terminal-Fenster
DNSE_LISTEN=127.0.0.1:8422 # nur lokal lauschen, Proxy terminiert TLS
DNSE_SECURE_COOKIES=on # Session-Cookies als Secure markieren
DNSE_TRUSTED_PROXIES=10.0.0.0/8 # X-Forwarded-For nur von diesen Adressen

DNSE_TRUSTED_PROXIES ist kein Kosmetikschalter: DynDNS ermittelt die IP des anfragenden Routers. Ohne die Liste vertrauenswürdiger Proxys würde entweder die Proxy-Adresse eingetragen oder ein gefälschter Header akzeptiert.