Usage
On this page I will try to explain the usage of my dynamic DNS and URL service.
The request
Section titled “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):
https://[*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
Section titled “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
Section titled “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
Section titled “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
Section titled “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:
steffen@steffen-laptop:~/git/sddns$ curl "https://d.0l.de/ip.xml"<?xml version="1.0" encoding="UTF-8"?><sddns> <message type="notice"> <description>your current internet ip address</description> <ip version="4">88.69.155.161</ip> </message></sddns>Parameters
Section titled “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 authentication. | Alphanumeric generated random string | unlimited |
Examples
Section titled “Examples”| URL | Description |
|---|---|
| https://test.0l.de/add.html?pw=secret&rdata=4.2.2.2 | The same |
| https://d.0l.de/add?host=test&zone=0l.de&pw=secret&rdata=4.2.2.2&ttl=120&class=IN | The same |
| https://google.d.eta.li/add.xml?type=CNAME&rdata=google.de&pw=secret | Create an alias for google.de |
| https://d.0l.de/add.gif | Register a random subdomain wih an alias to your current ip. Useful if you want to track somebody. Just embed this picture in an link, or E-mail |
| https://d.0l.de/delete?host=google&pw?secret | Delete all records from hot google.0l.de and itself |
| https://d.0l.de/update.php?host=test&zone=0l.de&pw=secret&ip=1.2.3.4 | Updates record |
| https://redirect.d.eta.li/add?type=URL&rdata=http://www.google.de&pw=secret | Add URL redirection |
| https://d.eta.li/delete?type=URL&host=redirect&pw=secret | Delete URL redirection |