APIs
HTTP ¶
REST API
The REST API specification is available at https://dynv6.github.io/api-spec/
DynDNS API
We implemented the dyn.com Remote Access API that is also known as the Members NIC Update API or DNS Update API. It can only be used to update the IPv4 address of a zone.
To use the endpoint
https://dynv6.com/nic/update
please set the server in your client to dynv6.com
.
Update API
The Update API supports updating the IPv4/IPv6 address and the IPv6 prefix as well. Whenever your IP address changes, send an HTTP GET request to the following URI:
https://dynv6.com/api/update
You can use http://
instead of https://
(although not recommended).
Parameters
Name | Requirement | Description |
---|---|---|
zone |
mandatory |
Your dynv6 zone name.
Alternative parameter names:
|
token |
mandatory | An HTTP token for this zone. |
ipv4 |
optional |
Updates the IPv4 address (A record) of your zone.
One of the following values:
|
ipv6 |
optional |
Updates the IPv6 address (AAAA record) of your zone.
One of the following values:
|
ipv6prefix |
optional |
Updates the IPv6 prefix of your IPv6 records, but not the AAAA record of the zone itself. Use one of the following values:
|
Note on auto
values
If you set ipv4=auto
or ipv6=auto
/6to4
,
you might want to use a different URL to enforce a specific IP protocol version:
-
for IPv4-only
https://ipv4.dynv6.com/api/update?ipv4=auto&token=...
-
for IPv6-only
https://ipv6.dynv6.com/api/update?ipv6=auto&token=...
https://ipv6.dynv6.com/api/update?ipv6=6to4&token=...
Use our update script
We provide a small script that updates your address at dynv6. You can run it with:
token=your-token ./dynv6.sh example.dynv6.net
SSH ¶
Upload your SSH key on the
keys
page and connect to api@dynv6.com
.
To execute commands you can use our interactive shell (pseudo-terminal)
or run commands directly.
Use TAB
to learn the command structure.
Features implemented
- Listing and adding hostnames
- Listing records
- Updating the IPv4/IPv6 address of a dynv6 hostname
- Adding and updating A/AAAA/TXT records
Features coming next
- Adding and updating CNAME/MX records
- Removing records
DNS Update ¶
Prerequisites
First, you need to generate a TSIG key.
Then you need a client application to update DNS enties, like nsupdate
(or nsupdate.exe
on Windows). It is part of the ISC BIND distribution
and generally available for most operating systems.
Note:
You can use any RFC2136 compliant software to manage your DNS entries,
nsupdate
is just one example. Another viable option, especially
if you only want to obtain free Let's Encrypt certificates, is to use
lego
(and software based on lego, like Caddy)
Example
If you've meet all prerequisites, you can for example, update the A and AAAA
records for yourhost.dynv6.com
like so:
nsupdate <<EOF server ns1.dynv6.com zone yourhost.dynv6.com update delete yourhost.dynv6.com A update add yourhost.dynv6.com 60 A 127.0.0.1 update delete yourhost.dynv6.com AAAA update add yourhost.dynv6.com 60 AAAA ::1 key hmac-sha256:tsig-123.dynv6.com YourSHAREDsecret== send EOF
This alters your host yourhost.dynv6.com
using the TSIG
key named tsig-123.dynv6.com
.
Notes:
-
The actual update set are the lines 2-9 (between
<<EOF
andEOF
). -
The
server
command (l. 2) is optional for recent versions ofnsupdate
. Very old versions might need an IP address, in that case useserver 185.55.116.154
. -
We require the
zone
command (l. 3) for authorization. Your updates will be rejected, if the zone does not match the providedkey
(l. 8). -
Before adding new entries (
update add
, ll. 5/7), you should cleanup existing records (update delete
, ll. 6/8), unless you really want to end up with multiple records. -
The TSIG key must be used in the form
algo:name secret
(l. 8). It must be the last entry in an update set. -
With
nsupdate
, do not use empty/blank lines to separate statements: these are interpreted assend
command, and your update will likely fail. You can use;
at the beginning of a line, though (a semicolon indicates a comment and will be ignored).