User Tools

Site Tools


projects:sddns:usage

Usage

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:

http://d.0l.de/add

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)]]

zone0l.de
commandadd, delete, update, ip
formathtml, php, gif (1px image), xml, txt, csv
The command ip returns your current net-ip. Example:
steffen@steffen-laptop:~/git/sddns$ curl "http://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

parameterdescriptiondefault valuemax value
[&host=string]subdomain for the recordtaken from optional subdomain or unique generated alphanumeric random string63 bytes ^= 63 chars inclusive IDN
[&zone=(0l.de|d.eta.li)]zonename for recordtaken 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 authentificationalphanumeric generated random stringunlimited

Examples

projects/sddns/usage.txt · Last modified: 16:24 23.04.2013 by Steffen Vogel