NovaDNS/Docs

Search documentation

Search for a page in the NovaDNS docs

HomepageDashboard

Reference

DynDNS Compatibility

NovaDNS speaks the DynDNS v2 protocol natively, so any client, router firmware, or NAS that supports No-IP or DynDNS works with NovaDNS without modification.

What is DynDNS compatibility?

The DynDNS v2 protocol is a simple HTTP-based update standard that became the de facto interface for dynamic DNS services in the early 2000s. Nearly every router, NAS, VPN appliance, and DDNS client in existence implements it — including ddclient, inadyn, Fritz!Box, pfSense, Synology DSM, ASUS routers, and UniFi gateways.

NovaDNS exposes the /nic/update endpoint that speaks this same protocol. That means you can point any of those existing clients at novadns.io and they will work immediately — no plugins, no custom scripts, no modifications.

The /nic/update endpoint

The endpoint is a standard HTTP GET request authenticated with HTTP Basic Auth. Use the host's username and password from the dashboard (host settings → Basic Auth credentials). These are separate from your account login.

MethodGET
URLhttps://novadns.io/nic/update
AuthHTTP Basic Auth (host username:password)
Parameters
hostnamerequired— full hostname, e.g. home.novaip.link
myipoptional— IPv4 address; auto-detected if omitted
myip6optional— IPv6 address; auto-detected if omitted
curlDynDNS compat — basic auth
$ curl \
  "https://YOUR_USERNAME:YOUR_PASSWORD@novadns.io/nic/update \
  ?hostname=home.novaip.link"

# Response
good 203.0.113.42
Find your host credentials in the dashboard under host settings → Basic Auth credentials. If the host belongs to a group, use the group's username and password instead.

Response codes

The /nic/update endpoint returns plain-text DynDNS-style response strings. Clients use these to determine whether the update succeeded and whether to retry.

CodeMeaning
good <ip>
Update accepted. The DNS record has been set to the returned IP address.
nochg <ip>
No change made. The record already points to the supplied IP. Not an error.
nohost
The hostname was not found in your account. Check that the hostname matches exactly.
badauth
Authentication failed. Verify your host username and password.
abuse
Your account has been rate limited due to too many requests in a short window.
nochg is not an error. Many clients log it as a warning, but it simply means your IP has not changed since the last update. Excessive nochg responses may eventually trigger rate limiting — configure your client's interval to at least 5 minutes.

Compatible clients

The following clients and devices are confirmed compatible with NovaDNS. Set the server or service to novadns.io, and use your host's username and password from the dashboard (host settings → Basic Auth credentials).

ddclientSet protocol=dyndns2 and server=novadns.io. See the Client Setup guide for a full config.
inadynUse provider default@dyndns.org with server-name=novadns.io.
Fritz!BoxDDNS → Custom → enter server, username, and password. No plugin required.
pfSense / OPNsenseServices → Dynamic DNS → DynDNS. Set server to novadns.io.
ASUS routers (Merlin)WAN → DDNS → choose www.dyndns.org or Custom. Enter novadns.io as the server.
Synology DSMControl Panel → External Access → DDNS → Customize → set server to novadns.io.
UniFi GatewayNetwork → Internet → WAN → Dynamic DNS → DynDNS. Set server to novadns.io.

Migrating from No-IP or DynDNS

Switching to NovaDNS from an existing provider requires only two changes in your client configuration — no reinstallation, no new plugins, no firmware updates needed.

  • Change the server field from your old provider to novadns.io
  • Update the username to your host's username (from host settings → Basic Auth credentials)
  • Update the password to your host's password
  • Update the hostname to your NovaDNS hostname (e.g. home.novaip.link)

Everything else — the update interval, the protocol, the client itself — stays exactly the same. NovaDNS uses the same wire format, so your client does not even know it switched providers.

ddclient.confbefore → after
# Before (No-IP)
server  =  dynupdate.no-ip.com
login   =  old-username
password =  old-password

# After (NovaDNS) — only these 3 lines change
server  =  novadns.io
login   =  YOUR_HOST_USERNAME
password =  YOUR_HOST_PASSWORD

Was this page helpful?