Repository navigation
v1.0.0
v1.0.0 — First stable release
Full implementation of dipper_ai, a DDNS manager for AlmaLinux 9/10.
Features
- Config (
user.conf): shell-style key=value parser with indexed multi-entry support for MyDNS (MYDNS_0_*,MYDNS_1_*, …) and Cloudflare (CF_0_*,CF_1_*, …). Time gates use integer minutes;0disables a gate. - MyDNS: per-entry Basic Auth HTTP update for IPv4 and IPv6 endpoints.
- Cloudflare: API token + zone-name→zone-id lookup, record search, PATCH update.
- Modes:
update,check,err_mail— each guarded by configurable time gates. - systemd: oneshot service + 5-minute timer (
dipper_ai.service/dipper_ai.timer). - Install script:
scripts/install.shfor root install on AlmaLinux.
Test coverage
internal/config— unit tests for all parsing rules and validationinternal/ddns— HTTP mock tests for MyDNS and Cloudflare (httptest)internal/mode— unit tests for update, check, err_mail with function-variable injectioninternal/acceptance— binary black-box tests (build once, run via exec.Command)
All tests pass on AlmaLinux 9 and AlmaLinux 10.