dnscontrol/docs/_providers/inwx.md
Sven Peter f88c60a8f3
New provider: INWX (#808)
* adds initial support for INWX

* adds all features to the INWX provider

* allows domain for tests in creds.json for INWX

* runs go generate to update docs for INWX

* fixes formatting with gofmt

* changes goinwx to github.com/nrdcg/goinwx v0.8.0

* simplifies inwx sandbox check

* changes inwx unknown key error to a warning

* adds models.PostProcessRecords for inwx records

* replaces strings.TrimRight with [:-1] to remove final dot for inwx

* adds a comment about the domain creds.json key for the inwx provider

* removes warning for invalid creds.json keys in the inwx provider

* adds TOTP calculation support for inwx

* adds comments to inwxProvider

* improves INWX error messages

* adds additional documentation about the TOTP support for INWX

* adds inwx documentation

* bumps goinwx to 0.8.1 to fix the inwx API
2020-08-17 08:45:44 -04:00

2.2 KiB

name layout jsId
INWX default INWX

INWX

INWX.de is a Berlin-based domain registrar.

Configuration

In your creds.json file you must provide your INWX username and password:

{% highlight json %} { "inwx":{ "username": "yourUsername", "password": "yourPassword" } } {% endhighlight %}

Two factor authentication

If two factor authentication has been enabled you will also need to provide a valid TOTP number. This can also be done via an environment variable: {% highlight json %} { "inwx":{ "username": "yourUsername", "password": "yourPassword", "totp": "$INWX_TOTP" } } {% endhighlight %}

and then you can run

{% highlight bash %} $ INWX_TOTP=12345 dnscontrol preview {% endhighlight %}

It is also possible to directly provide the shared TOTP secret using the key "totp-key" in creds.json. This secret is only shown once when two factor authentication is enabled and you'll have to make sure to write it down then.

Important Notes:

  • Anyone with access to this creds.json file will have full access to your INWX account and will be able to transfer and/or delete your domains
  • Storing the shared secret together with the password weakens two factor authentication because both factors are stored in a single place.

{% highlight json %} { "inwx":{ "username": "yourUsername", "password": "yourPassword", "totp-key": "yourTOTPSharedSecret" } } {% endhighlight %}

Sandbox

You can optionally also specify sandbox with a value of 1 to redirect all requests to the sandbox API instead: {% highlight json %} { "inwx":{ "username": "yourUsername", "password": "yourPassword", "sandbox": "1" } } {% endhighlight %}

If sandbox is omitted or set to any other value the production API will be used.

Metadata

This provider does not recognize any special metadata fields unique to INWX.

Usage

Example Javascript for example.tld registered with INWX and delegated to CloudFlare:

{% highlight js %} var regInwx = NewRegistrar('inwx', 'INWX') var dnsCF = NewDnsProvider('cloudflare', 'CLOUDFLAREAPI')

D("example.tld", regInwx, DnsProvider(dnsCF), A("test","1.2.3.4") );

{%endhighlight%}