Feature request: DNS-O-Matic proxy support #291

Closed
opened 2025-11-20 04:22:24 -05:00 by saavagebueno · 2 comments
Owner

Originally created by @vadius45 on GitHub (Jun 20, 2023).

  1. What's the feature?

With DNS-O-Matic, we may use a special hostname all.dnsomatic.com to update all registered services at once. I use it to update my OpenDNS dynamic IP, and there's no concept of specific hostname nor domain.
At every refresh, the IP is updated by ddns-updater, most likely because all.dnsomatic.com is not resolvable. Not a critical issue but it could be improved, using the same approach as cloudflare with the proxied option.

  1. Extra information?
    https://www.dnsomatic.com/docs/api

Hostname you wish to update. To update all services registered with DNS-O-Matic to the new IP address, hostname may be omitted or set to all.dnsomatic.com (useful if required by client). This field is also used for services that use different names for the unique identifier of the target being updated (ex. freedns.afraid.org, TZO). DNS-O-Matic will format the update string appropriately for each supported service at distribution.

My config:
{ "provider": "dnsomatic", "domain": "dnsomatic.com", "host": "all", "username": "foo@bar.com", "password": "xyz", "provider_ip": true, "ip_version": "ipv4" },

My updates.json
{ "records": [ { "domain": "dnsomatic.com", "host": "all", "ips": [ { "ip": "217.119.999.999", "time": "2023-06-19T12:27:38.191717834Z" }, { "ip": "217.119.999.999", "time": "2023-06-19T12:37:08.349907078Z" }, { "ip": "217.119.999.999", "time": "2023-06-19T12:47:13.230493395Z" },

Screenshot 2023-06-20 at 11 07 28
Originally created by @vadius45 on GitHub (Jun 20, 2023). 1. What's the feature? With DNS-O-Matic, we may use a special hostname all.dnsomatic.com to update all registered services at once. I use it to update my OpenDNS dynamic IP, and there's no concept of specific hostname nor domain. At every refresh, the IP is updated by ddns-updater, most likely because all.dnsomatic.com is not resolvable. Not a critical issue but it could be improved, using the same approach as cloudflare with the proxied option. 2. Extra information? https://www.dnsomatic.com/docs/api > Hostname you wish to update. To update **all** services registered with DNS-O-Matic to the new IP address, hostname may be omitted or set to **all.dnsomatic.com** (useful if required by client). This field is also used for services that use different names for the unique identifier of the target being updated (ex. freedns.afraid.org, TZO). DNS-O-Matic will format the update string appropriately for each supported service at distribution. My config: ` { "provider": "dnsomatic", "domain": "dnsomatic.com", "host": "all", "username": "foo@bar.com", "password": "xyz", "provider_ip": true, "ip_version": "ipv4" }, ` My updates.json `{ "records": [ { "domain": "dnsomatic.com", "host": "all", "ips": [ { "ip": "217.119.999.999", "time": "2023-06-19T12:27:38.191717834Z" }, { "ip": "217.119.999.999", "time": "2023-06-19T12:37:08.349907078Z" }, { "ip": "217.119.999.999", "time": "2023-06-19T12:47:13.230493395Z" },` <img width="1864" alt="Screenshot 2023-06-20 at 11 07 28" src="https://github.com/qdm12/ddns-updater/assets/1441170/f7cadded-d145-4d82-b9f5-d1a0cdccd1c3">
Author
Owner

@qdm12 commented on GitHub (Jan 19, 2024):

Hi there! Thanks for creating this detailed issue! 👍

  1. 1ff838e0ae should sort of fix this. It treats the host "all" as 'proxied', meaning that instead of comparing current public ip against resolved ip of all, it will compare it against last ip address stored in updates.json. That should reduce updates quite a bit 😉 Cloudflare proxied domains use that already.
  2. (out of scope) For DNS-O-Matic, is it always the dnsomatic.com domain names, and the user can only change the host parameter in ddns-updater? If so I'll remove the domain field since it's unnecessary.

I'll close the issue assuming it's fixed, but feel free to comment to confirm and/or answer about 2. 😉 Thanks!

@qdm12 commented on GitHub (Jan 19, 2024): Hi there! Thanks for creating this detailed issue! 👍 1. 1ff838e0ae0e8ed02ea07d850fa8884700499e68 should sort of fix this. It treats the host "all" as 'proxied', meaning that instead of comparing `current public ip` against `resolved ip of all`, it will compare it against `last ip address stored in updates.json`. That should reduce updates quite a bit 😉 Cloudflare proxied domains use that already. 2. (out of scope) For DNS-O-Matic, is it always the dnsomatic.com domain names, and the user can only change the `host` parameter in ddns-updater? If so I'll remove the domain field since it's unnecessary. I'll close the issue assuming it's fixed, but feel free to comment to confirm and/or answer about 2. 😉 Thanks!
Author
Owner

@vadius45 commented on GitHub (Feb 4, 2024):

Thanks @qdm12 a lot for the fix : I confirm that the issue is resolved.

About 2 : I am not entirely sure, as I've always used all.dnsomatic.com. And I checked their API documentation, not crystal clear to me. For now, let's not break something that works possibly well for others 🤣

@vadius45 commented on GitHub (Feb 4, 2024): Thanks @qdm12 a lot for the fix : I confirm that the issue is resolved. About 2 : I am not entirely sure, as I've always used all.dnsomatic.com. And I checked their [API documentation](https://www.dnsomatic.com/docs/api), not crystal clear to me. For now, let's not break something that works possibly well for others :rofl:
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/ddns-updater#291