From 28d731265c0e1da349ac04babdd827b3b7ed2876 Mon Sep 17 00:00:00 2001 From: 77-QiQi <87052253+77-QiQi@users.noreply.github.com> Date: Mon, 17 Aug 2026 11:54:39 +0800 Subject: [PATCH] improve: skip empty addresses during DDNS updates (#1231) --- pkg/ddns/ddns.go | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/pkg/ddns/ddns.go b/pkg/ddns/ddns.go index 1dc5c2e0..7759df54 100644 --- a/pkg/ddns/ddns.go +++ b/pkg/ddns/ddns.go @@ -54,16 +54,25 @@ func (provider *Provider) updateDomain(ctx context.Context, domain string) error return err } - // 当IPv4和IPv6同时成功才算作成功 + // 独立处理 IPv4 更新 if *provider.DDNSProfile.EnableIPv4 { - if err = provider.addDomainRecord(ctx, "A", provider.IPAddrs.IPv4Addr); err != nil { - return err + if provider.IPAddrs.IPv4Addr == "" { + log.Printf("NEZHA>> Skip IPv4 update for domain %s: IPv4 address is empty", domain) + } else { + if err = provider.addDomainRecord(ctx, "A", provider.IPAddrs.IPv4Addr); err != nil { + return err + } } } + // 独立处理 IPv6 更新 if *provider.DDNSProfile.EnableIPv6 { - if err = provider.addDomainRecord(ctx, "AAAA", provider.IPAddrs.IPv6Addr); err != nil { - return err + if provider.IPAddrs.IPv6Addr == "" { + log.Printf("NEZHA>> Skip IPv6 update for domain %s: IPv6 address is empty", domain) + } else { + if err = provider.addDomainRecord(ctx, "AAAA", provider.IPAddrs.IPv6Addr); err != nil { + return err + } } }