Python script to add dns challange for domain hoster inwx based on https://github.com/inwx/python-client
| .gitignore | 4 years ago | ||
| README.md | 4 years ago | ||
| certbot-dns-auth.py | 4 years ago | ||
| certbot-dns-clean.py | 4 years ago | ||
| configuration.py | 4 years ago | ||
| requirements.txt | 4 years ago | ||
| update-record.py | 4 years ago | ||
This script collection is in alpha state and only useable on linux systems. Tested with debian 10 and ubuntu 20.04.
pip3 install inwx-domrobot
or
pip3 install -r requirements.txt
Look at the inwx git repository for more details.
A file conf.cfg with inwx settings must e exist in the repository root folder like:
[live] username = [USERNAME] password = [PASSWORD] shared_secret = your_shared_secret
certbot certonly --manual --server https://acme-v02.api.letsencrypt.org/directory --preferred-challenges=dns --manual-auth-hook [path to this repositry]/certbot-dns-auth.py --manual-cleanup-hook [path to this repositry]/certbot-dns-clean.py -d example.com -d *.example.com
wildcard-ini:
email = [YOUR@EMAIL.com] cert-name = [USERNAME] rsa-key-size = 4096 server = https://acme-v02.api.letsencrypt.org/directory authenticator = manual manual-auth-hook = [path to this repositry]/certbot-dns-auth.py manual-cleanup-hook = [path to this repositry]/certbot-dns-clean.py domains = example.com, *.example.com
Command:
certbot certonly -c wildcard-ini
usage: update-record.py [-h] -r type [--delete] [-u] [-c path] [-t TTL]
                        [-s section] [-v] [-d]
                        domain [content]
inwx subdomain update
positional arguments:
  domain                full domain like subdomain.example.com
  content               ip or string to fill/update into subdomain domain
                        entry
optional arguments:
  -h, --help            show this help message and exit
  -r type, --record-type type
                        record type (A, AAAA, TXT, CNAME, TLSA)
  --delete              delete existing record with given content, or delete
                        all records if no content is given
  -u, --update          update all existing records if one exists, otherwise
                        fails
  -c path, --config_file path
                        path to configuration file
  -t TTL, --ttl TTL     TTL (time to live) of the nameserver record in seconds
                        (default 3600)
  -s section, --config_section section
                        configuration section (live, ote) default: live
  -v, --verbose         verbose
  -d, --debug           debug
Get some code snippets from the inwx documentation and from the pyhton 2.7 inwx repository.