DynDNS records with Namecheap

28 views
Skip to first unread message

TmOnlineMapper

unread,
Jul 22, 2025, 8:45:50 PMJul 22
to DNSControl-discuss
Hello again,

I've just stumbled across another issue and I do believe this isn't as much of a bug as it is just me not having found the correct way to achieve my goal.

In any case, I do have a DynDNS A record on a domain I intend to manage with dnsconfig.
I have tried to prevent updates to it, by specifying it like this

D("example.com", ....,
    IGNORE_NAME("host"),
)

During preview and push it notes that it's ignoring that entry. All good. However after push has run, the record is gone.
What am I doing wrong?

Tom Limoncelli

unread,
Jul 23, 2025, 10:22:17 AMJul 23
to TmOnlineMapper, DNSControl-discuss
Interesting!

Which provider are you using? 

Can you include the (redacted) output of "preview"?

Can you test on a different provider?

Tom
P.S. I don't think this relates to the bug, but try using IGNORE() instead of IGNORE_NAME(). IGNORE_NAME() is deprecated in favor of the newer, and more general, IGNORE().


--
You received this message because you are subscribed to the Google Groups "DNSControl-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to dnscontrol-disc...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/dnscontrol-discuss/f9d46edf-bc7a-44db-b188-3b4510257419n%40googlegroups.com.
Message has been deleted

TmOnlineMapper

unread,
Jul 23, 2025, 4:26:27 PMJul 23
to DNSControl-discuss
The registrar and DNS provider are both Namecheap

$ ${DNSCONTROL_BIN} preview
CONCURRENTLY gathering 1 zone(s)
SERIALLY gathering 0 zone(s)
Waiting for concurrent gathering(s) to complete...DONE
******************** Domain: example.com
7 corrections (namecheap)
INFO#1: 1 records not being deleted because of IGNORE*():
INFO#2: host.example.com. A 12.34.56.78
#1: GENERATE_ZONE: example.com (48 records)[
...]
Done. 7 corrections.

TmOnlineMapper

unread,
Jul 23, 2025, 4:49:45 PMJul 23
to DNSControl-discuss
And changing to IGNORE did not make a difference. The record gets wiped just the same.

Tom Limoncelli

unread,
Jul 23, 2025, 5:44:26 PMJul 23
to TmOnlineMapper, DNSControl-discuss
On Wed, Jul 23, 2025 at 4:26 PM TmOnlineMapper <brains...@gmail.com> wrote:
The registrar and DNS provider are both Namecheap

$ ${DNSCONTROL_BIN} preview
CONCURRENTLY gathering 1 zone(s)
SERIALLY gathering 0 zone(s)
Waiting for concurrent gathering(s) to complete...DONE
******************** Domain: example.com
7 corrections (namecheap)
INFO#1: 1 records not being deleted because of IGNORE*():
INFO#2: host.example.com. A 12.34.56.78
#1: GENERATE_ZONE: example.com (48 records)[
...]
Done. 7 corrections.

Ah!  I see the problem.   Since namecheap generates the entire zone every time, it has no way to know to include the record being ignored.

This will be a problem with any provider that uses the diff.NewCompat() function, instead of upgrading to use the diff2 library.   A few years ago we replaced the diffing engine ("diff") with a new one that handled IGNORE() and many features much better.  Most of the providers were rewritten to use the new library.  Since rewriting the provider was such a burden (and in some cases the maintainer of the provider had disappeared), I created a backwards compatibility mode called diff.NewCompat().  While it had the benefit of only requiring 2-3 lines of code changes, it doesn't implement IGNORE() reliably in all cases.

I'm going to make a PR to output a warning.  Only the owner of a provider can fix these since I don't have access to their provider to test the changes.

TmOnlineMapper

unread,
Jul 23, 2025, 6:00:15 PMJul 23
to DNSControl-discuss
I see. That makes a lot of sense. Since willpower232 (Namecheap maintainer afaik) seems to be active, what would be the best course of action be?

Tom Limoncelli

unread,
Jul 24, 2025, 10:07:15 AMJul 24
to TmOnlineMapper, DNSControl-discuss
On Wed, Jul 23, 2025 at 6:00 PM TmOnlineMapper <brains...@gmail.com> wrote:
I see. That makes a lot of sense. Since willpower232 (Namecheap maintainer afaik) seems to be active, what would be the best course of action be?

Open a Github issue.

That said, please remember that this is a community-driven project.  People do this on a volunteer basis.  If you have some experience with Go, you might consider doing the upgrade yourself and submitting a PR.

You could also switch to a different DNS provider.

Tom

TmOnlineMapper

unread,
Jul 24, 2025, 5:14:32 PMJul 24
to DNSControl-discuss
I think pinging the maintainers for now should do the trick.
And I'm very much aware that this is a community project and people are volunteers. I have been a part of the Open Source Community for well over a decade, so I do know how this workds ;)
I hope I didn't come across as demanding stuff to get done, as that's certainly not my intention.

That being said me and go aren't exactly friends and having attempted to look into the project literally gave me a headache, so I'm afraid I won't be able to help out much besides digging through documentation, bothering companies to give me their secret endpoints and other auxiliary work.

And yes I have been considering several times now switching DNS providers. Though since I don't want to spend any more money on my project than I already am and also would like to avoid having to host the DNS myself, I'm fairly limited. Regardless I will find a solution. That I am sure of.

Thanks again to you and everyone else involved in this project. It's literally a dream coming true and never has managing DNS felt so good, satisfying and simple.
Reply all
Reply to author
Forward
0 new messages