No description
- Python 70.1%
- JavaScript 28.6%
- Shell 1.3%
| domains | ||
| scripts | ||
| .gitignore | ||
| config_dkim.js | ||
| config_mx.js | ||
| config_server.js | ||
| creds.json | ||
| dnsconfig.js | ||
| README.md | ||
| requirements.txt | ||
DNSControl — ktrion.de & Domains
Zentral verwaltete DNS-Zonen via DNSControl.
Struktur
dnsconfig.js # Provider, Defaults, require_glob
config_server.js # Server-IPs, SV*_SERVER, SPF_MAIL
config_dkim.js # DKIM-Schlüssel (Selector: dkim)
config_mx.js # Mail-Presets, HOSTED_WEB_MAIL()
domains/
namecheap/ # Namecheap-DNS (kein SRV)
netcup/
inwx/
inwx-maren/
scripts/
compare_mailcow_dnsconfig.py
mailcow_config.example.json
creds.json # lokal, nicht committen
Voraussetzungen
- dnscontrol installiert
creds.jsonmit Provider-API-Zugängen (Vorlage aus bestehendem Repo / Team)
Befehle
# Alle Zonen prüfen
dnscontrol preview
# Eine Zone pushen
dnscontrol push -domains beisetzung.digital
# Wrapper
./scripts/push-domain.sh beisetzung.digital
Mailcow ↔ DNSControl
cp scripts/mailcow_config.example.json scripts/mailcow_config.json
pip install -r requirements.txt
python3 scripts/compare_mailcow_dnsconfig.py
python3 scripts/compare_mailcow_dnsconfig.py --failures-only
Namecheap
API-Zugriff nur von freigegebenen IPs — bei Fehler 1011150: Invalid request IP die aktuelle IP in der Namecheap-API whitelisten.
Neue Domain
- Datei
domains/<provider>/example.de.jsanlegen - Typisches Muster:
D("example.de", REG_NONE, DnsProvider(DSP_NETCUP),
DefaultTTL(3600),
HOSTED_WEB_MAIL(SV02_SERVER, MX_MAIL_CONFIG),
END
);
- Eigenes DKIM (Mailcow):
HOSTED_WEB_MAIL(SV02_SERVER, MX_MAIL_CONFIG_NO_DKIM, DKIM_BEISETZUNG)— Key inconfig_dkim.js