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

99 lines
2.2 KiB
Markdown

---
name: INWX
layout: default
jsId: 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%}