When a new repository update is triggered any files beneath the top-level
zones/ directory will processed.
Each of the files should be named for the zone it represents, so for example if you wished to upload DNS-data for the domain "
example.com" you should have a repository with the following contents:
Anything in the parent-directory, or outside of the
zones/ directory will be ignored.
Each of the files processed is currently assumed to be in a simple text-based format which is loosely based around the TinyDNS format. If you have
bind zonefiles there are existing tools which will convert them for you, such as bind-to-tinydns.
We have an online DNS wizard to generate simple records, as well as an online validator which will read input and show you the records we (successfully) parsed, which might be useful for reference purposes.
If you have a large number of zonefiles to convert you're welcome to get in touch and we'll convert them for you if you need assistance.
Each line represents a single record, which is "
:"-delimited. The general form of a record is:
Type : Name : Value : TTL
The only exception is the MX record which have a trailing priority, then an optional TTL.
The first character of each line specifies the type of that record, for example:
# # Lines beginning with the "#" character are comments, and are ignored. # # # Lines beginning with a "+" are A(ddress) records, and are used to set # names to IP addresses. # # For example the following sets "www.steve.org.uk" to point to the # IP address 188.8.131.52: # +www.steve.org.uk:184.108.40.206 # # The next line is similar but sets the address of "steve.org.uk", and # includes an explicit TTL setting. With no TTL specified the default # will be 300 seconds (5 minutes). # +steve.org.uk:220.127.116.11:300 # # Lines beginning with "6" are AAAA (IPv6 records) and allow the setting # of IPv6 records: # 6steve.org.uk:200141c8010b01030000000000000010:300 6www.steve.org.uk:200141c8010b01030000000000000010:300 # # Lines beginning with "@" are MX records: # @steve.org.uk:mail.steve.org.uk:15 # # Lines beginning with "T" are TXT records. # # NOTE: The values must be quoted. # Tsteve.org.uk:"v=spf1 mx a ptr ip4:18.104.22.168 ?all":300 # # Finally lines beginning with "C" are CNAME records, # mapping from one name to another: # Cexample.steve.org.uk:example.com:300 # # And now we have an example of a SRV record. SRV-records are used to # point to hostnames (which must already be defined) and ports. # _bind._udp.steve.org.uk:ns1.example.com:53 _bind._udp.steve.org.uk:ns2.example.com:53 _bind._udp.steve.org.uk:ns3.example.com:53:300 # # If you want to defer sub-domains to different nameservers # you can do that via the "&" record: # &sub.steve.org.uk::ns1.example.com:300 &sub.steve.org.uk::ns2.example.com:300 # # Finally we support the processing of CAA records # via the "!" prefix. # # CAA records have an integer, a key, and a value # the value will be quoted if there are no quotes # present. # # Supported keys are "issue", "issuewild", and "iodef". # !example.com:0:issue:letsencrypt.org !secret.example.com:0:issue:"comodoca.com"
There is a sample
git repository available for reference, which contains examples of the various record-types being used.
You can use our online validator to see how records will be processed.
If you have any questions about the supported record-types, or the format of the input files please ask for help.
Remember we have an online record validator which can be used to check that you see the results you expect.
Currently the following record-types are supported:
+- Used for setting IPv4 addresses.
6- Used for setting IPv6 addresses.
@- Used for setting
C- Used for setting
T- Used for setting
&- Used for setting
_- Used for setting
!- Used for setting