Skip to content

v1.0.0

Choose a tag to compare

@liplus-lin-lay liplus-lin-lay released this 03 Mar 13:50
· 33 commits to main since this release
a2991c9

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; 0 disables 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.sh for root install on AlmaLinux.

Test coverage

  • internal/config — unit tests for all parsing rules and validation
  • internal/ddns — HTTP mock tests for MyDNS and Cloudflare (httptest)
  • internal/mode — unit tests for update, check, err_mail with function-variable injection
  • internal/acceptance — binary black-box tests (build once, run via exec.Command)

All tests pass on AlmaLinux 9 and AlmaLinux 10.