» front page
» lookup
» client software
» tiny URLs
Need help?
» privacy policy
» feedback


- Server upgrades and bug fixes


- Maintenance completed on Saturday


- Maintenance during 16-18.4.2010


- Dynamic DNS in Assembly '07 PartyNet


- DNS server fixed


- 7 .be domains will be removed

Welcome Switch language
» not logged in - login » suomeksi

protocol specification for automatic updates

The update is done using a very simple HTTP request to the www.dy.fi server URI /nic/update. Currently we only support pointing a hostname to the IP address of the HTTP client. If you are behind a transparent proxy which hides your real IP address, please try connecting to port 8180 instead of port 80 (the URL would be https://www.dy.fi:8180/nic/update).

Authentication is done using HTTP Basic authentication - if it fails, the standard HTTP 401 'Unauthorized' response is given. The only parameter supported is 'hostname' which can include a list of comma-separated hostnames that should be pointed to the IP address of the client.

Use https instead of http if your client supports it - otherwise your password will be sent in clear text, unencrypted, in every update request. dy.fi has a valid SSL certificate, so it should work fine.

The result of the update request is returned in the text/plain content of the HTTP reply. One line of content is returned per updated hostname. The result line can be any of the following:

  • badauth

    Authentication failed (HTTP result code will be 401, too)

  • nohost

    No 'hostname' CGI parameter given in the request, or the hostname is not allocated for the user

  • notfqdn

    The given hostname is not a valid .dy.fi FQDN

  • badip ip-address

    The client IP address is not a valid IP address, or is not registered to a Finnish organisation.

  • nochg

    The request was valid and processed, but did not cause a change in the DNS information since the information had not changed since last update (the client IP address had not changed). If a large number of 'nochg' replies are sent to the same user in a short period of time, the usage is considered abusive and the account will be disabled.

  • good ip-address

    The request was valid and processed successfully, and caused the hostname to be pointed to the IP address returned. If this was was an 'offline' request, the response does not contain the IP address.

  • dnserr

    The request failed due to a technical problem at the dy.fi service.

  • abuse

    The request was denied because of abuse (too many requests in a short time). If you're getting this, your host and user account might eventually be deleted automatically.

Please only update the mapping when the IP address has changed, or the mapping is about to expire. The mappings expire in 7 days, so please update some time between 5*24 and 6*24 hours after the previous update (preferrably at a slightly random interval). We don't currently mind if you update once per day, but if everyone starts to run the updating commands at exactly the same time (on 12:00:00, 13:00:00, 14:00:00...) we will probably get hit too hard. If you run a simple update command from cron, please select a random minute to update at.

Currently only two URL parameters are supported:

  • hostname=host.dy.fi (required), containing the fully qualified hostnames being updated. Multiple comma-separated hosts may be updated by a single request.

  • offline=yes (optional), to release a host (remove from DNS).

Sample request and reply:

Here is a sample HTTP/1.0 request with username 'email@add.ress' and password 'salakala' in the Base64 encoded Authorization header.

GET /nic/update?hostname=hostname.dy.fi HTTP/1.0
Authorization: Basic ZW1haWxAYWRkLnJlc3M6c2FsYWthbGE=
User-Agent: my-client/0.0.1 (my@email.add.ress)
Host: www.dy.fi
Pragma: no-cache

HTTP/1.1 200 OK
Date: Thu, 22 Jan 2004 07:49:39 GMT
Server: Apache/2.0.46 (Unix)
Last-Modified: Thu, 22 Jan 2004 07:49:39 GMT
Cache-Control: no-cache
Content-Type: text/plain
X-Pad: avoid browser bug


Update requests using common command line tools:

curl -D - --user useraccount:password https://www.dy.fi/nic/update?hostname=hostname.dy.fi

Use curl. Do not use wget - it makes two requests instead of one. Use https. Do not use http. Thank you!

dy.fi powered by Hessu's Damn Good Software
6384 hosts · 4168 users, 0 new today, 64 logged in
statistics · changelog · abuse at dy dot fi · appelsiini.org