On this page I will try to explain the usage of my dynamic DNS and URL
service.
The request
Every transaction is done by an ordinary HTTP request. Parameters can be
passed via GET or POST data. Here is a simple specification of the HTTP
request (GET-method):
http://[*subdomain*.]*/0l.de/command*[.*format*][?*parameters*]
For simplicity all parameters can be omitted. They will be replaced by
default values as described in the table below. Therefore the simplest
request looks like:
Authentification
Every host-zone combination ist secured by a password. The first time
you add a record for a new combination, you have to set a password for
further modifications (add, delete other records). After deleting the
last record of a combination, the password of this combination will also
be resetted and the combination is released for free use..
Expire date & lifetime
The expire date of a record or an URL redirection is defined by a
record/url dependend lifetime.
If there was no
- update
- query (on dns records)
- visit (on url redirections)
on the record/url for lifetime seconds it will be deleted with the
next daily cleanup process. The hosts of these records/urls will be
returned for further use. Every record/url has its own lifetime which
can be specified when you add your record/url in the expert interface.
Please note that the maximum lifetime is limited to 6 months
and is set by default to one month.
Commands
There are three commands: add, delete and update. Their function is
mostly self-explanatory.
- The add command has no required parameters. All arguments own
default values. - The delete command has three required paramters:
[&host=*string*]
,[&zone=*string*]
and[&pw=*pw*]
.
Using only these two parameters will delete all records and the host
itself. You can improve the selection of records/urls by adding
extra filters: [&class=(IN|CH|AS)],
[&type=(A|AAAA|NS|TXT|MX|SRV|CNAME|LOC|HINFO|URL)]
and [&rdata=string]. - The update command can only update A-records in the IN-class. It
is useful for DynDns clients. Take a look at the
examples. For more update abilities please delete your
record/url and add a new one.
Specification
This is the complete specification of an HTTP-GET request:
http://[*subdomain*.](d.0l.de\|d.eta.li)/(add\|delete\|update)[.(html\|gif\|xml\|php\|txt\|csv)][?[&host=*string*][&zone=(0l.de\|d.eta.li)][&rdata=*string*][&ttl=*integer*][&lifetime=*integer*][&pw=*string*][&type=(A\|AAAA\|NS\|TXT\|MX\|SRV\|CNAME\|LOC\|HINFO\|URL)][&class=(IN\|CH\|AS)]]
zone | 0l.de |
---|---|
command | add, delete, update, ip |
format | html, php, gif (1px image), xml, txt, csv |
The command ip
returns your current net-ip. Example:
|
|
parameters
parameter | description | default value | max value |
---|---|---|---|
&host=*string* |
subdomain for the record | taken from optional subdomain or unique generated alphanumeric random string | 63 bytes ^= 63 chars inclusive IDN |
&zone=*(0l.de\|d.eta.li)* |
zonename for record | taken from domain | |
&rdata=*ip* |
record data (validation depend in type parameter) | remote ip (only when type=A) | unlimited |
&ttl=*integer* |
time to live in seconds (in dns cache) | 120 (2 min) | 3600 (1 hour) |
&lifetime=*integer* |
time to live in seconds (in zonefile) | 2592000 (1 month) | 15552000 (6 months) |
|[&type=(A|AAAA|NS|TXT|MX|SRV|CNAME|LOC|HINFO|URL)]
- A
- AAAA
- NS
- TXT
- MX
- SRV
- CNAME
- LOC
- HINFO
- URL
|record type
- address record
- IPv6 address record
- name server record
- text record
- mail exchange record
- service locator
- canonical name record
- location record
- hardware information
- pseudo type for url redirection
A |
|[&class=(IN|CH|AS)]
- IN
- CH
- AS
|record class
- internet
- chaos
- hesiod
IN | |||
[&pw=string] | password used for authentification | alphanumeric generated random string | unlimited |
Examples
http://test.0l.de/add.html?pw=secret&rdata=4.2.2.2 | the same |
http://d.0l.de/add?host=test&zone=0l.de&pw=secret&rdata=4.2.2.2&ttl=120&class=IN | the same |
http://google.d.eta.li/add.xml?type=CNAME&rdata=google.de&pw=secret | create alias for google.de |
http://d.0l.de/add.gif | registrate random subdomain with an alias to your current ip. Useful if you want to track somebody. Just embed this picture in an link, or email |
http://d.0l.de/delete?host=google&pw?secret | delete all records from host google.0l.de and itself |
http://d.0l.de/update.php?host=test&zone=0l.de&pw=secret&ip=1.2.3.4 | updates record |
http://redirect.d.eta.li/add?type=URL&rdata=http://www.google.de&pw=secret | add url redirection |
http://d.eta.li/delete?type=URL&host=redirect&pw=secret | delete url redirection |