Skip to content

ddclient: Google Dynamic DNS Backend URL Update (301 Moved) #5110

@optimiz

Description

@optimiz

Important notices

Describe the bug
The back end target for Google dynamic DNS has changed from domains.google.com to [domains.google] (https://domains.google/) and reports a '301 Moved' warning in the log file. Currently, the update still succeeds, but the site should be updated.

To Reproduce
Configure a valid Google dynamic DNS using the existing Google dropdown option, let it sync and look at the log file.

Expected behavior
Dynamic DNS targets the correct, updated back end on the dotGoogle TLD instead of its legacy dotcom TLD.

Relevant log files
2025-12-29T17:01:14-08:00 Notice ddclient RECEIVE: </BODY></HTML> 2025-12-29T17:01:14-08:00 Notice ddclient RECEIVE: <A HREF="https://domains.google/">here</A>. 2025-12-29T17:01:14-08:00 Notice ddclient RECEIVE: The document has moved 2025-12-29T17:01:14-08:00 Notice ddclient RECEIVE: <H1>301 Moved</H1> 2025-12-29T17:01:14-08:00 Notice ddclient RECEIVE: <TITLE>301 Moved</TITLE></HEAD><BODY> 2025-12-29T17:01:14-08:00 Notice ddclient RECEIVE: <HTML><HEAD><meta http-equiv="content-type" content="text/html;charset=utf-8"> 2025-12-29T17:01:14-08:00 Notice ddclient RECEIVE: 2025-12-29T17:01:14-08:00 Notice ddclient RECEIVE: alt-svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 2025-12-29T17:01:14-08:00 Notice ddclient RECEIVE: x-xss-protection: 0 2025-12-29T17:01:14-08:00 Notice ddclient RECEIVE: content-length: 220 2025-12-29T17:01:14-08:00 Notice ddclient RECEIVE: server: sffe 2025-12-29T17:01:14-08:00 Notice ddclient RECEIVE: date: Tue, 30 Dec 2025 01:01:14 GMT 2025-12-29T17:01:14-08:00 Notice ddclient RECEIVE: location: https://domains.google/ 2025-12-29T17:01:14-08:00 Notice ddclient RECEIVE: content-type: text/html; charset=UTF-8 2025-12-29T17:01:14-08:00 Notice ddclient RECEIVE: expires: Tue, 30 Dec 2025 01:31:14 GMT 2025-12-29T17:01:14-08:00 Notice ddclient RECEIVE: cache-control: public, max-age=1800 2025-12-29T17:01:14-08:00 Notice ddclient RECEIVE: cross-origin-resource-policy: cross-origin 2025-12-29T17:01:14-08:00 Notice ddclient RECEIVE: strict-transport-security: max-age=31536000 2025-12-29T17:01:14-08:00 Notice ddclient RECEIVE: x-content-type-options: nosniff 2025-12-29T17:01:14-08:00 Notice ddclient RECEIVE: HTTP/2 301 2025-12-29T17:01:14-08:00 Notice ddclient SENDING: url="https://domains.google.com/nic/update?hostname=ftp.example.com&myip=x.x.x.x" 2025-12-29T17:01:14-08:00 Notice ddclient SENDING: user=":" 2025-12-29T17:01:14-08:00 Notice ddclient SENDING: request=GET 2025-12-29T17:01:14-08:00 Notice ddclient SENDING: max-time=120 2025-12-29T17:01:14-08:00 Notice ddclient SENDING: connect-timeout=120 2025-12-29T17:01:14-08:00 Notice ddclient SENDING: user-agent="ddclient/3.11.2" 2025-12-29T17:01:14-08:00 Notice ddclient SENDING: include 2025-12-29T17:01:14-08:00 Notice ddclient SENDING: silent 2025-12-29T17:01:14-08:00 Notice ddclient SENDING: Curl system cmd to https://domains.google.com 2025-12-29T17:01:14-08:00 Notice ddclient UPDATE: updating ftp.example.com 2025-12-29T17:01:14-08:00 Notice ddclient INFO: setting IP address to x.x.x.x for ftp.example.com

Additional context
Attempting to create a custom dynamic DNS entry with the new Google TLD fails with an invalid address error, as the Google TLD is not recognized as valid without leading with HTTPS://. However, if you add the HTTPS:// so the opnsense plugin setting actually saves, then ddclient errors out because it adds a leading HTTPS:// as well, which causes the curl GET to fail since a lookup for the doubled HTTPS://HTTPS:// is (of course) invalid.

Environment
OPNsense 25.7.9_7-amd64
FreeBSD 14.3-RELEASE-p5

Metadata

Metadata

Assignees

No one assigned

    Labels

    upstreamThird party issue

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions