42 lines
1.3 KiB
Markdown
42 lines
1.3 KiB
Markdown
# Ionos DNS updates
|
|
|
|
A set of scripts used to make dynamic DNS updates to the Ionos API.
|
|
|
|
### Dependencies
|
|
|
|
Python libraries:
|
|
- [requests](https://pypi.org/project/requests/)
|
|
- [pyyaml](https://pypi.org/project/PyYAML/)
|
|
|
|
### Configuration
|
|
|
|
Configuration is declared inside the file `config.yml`.
|
|
Once modified, this file **must be kept secret**, else anyone visiting your domains runs the risk of being DNS-poisoned.
|
|
|
|
First, you will need to set your Ionos API keypair in the config file.
|
|
Paste the respective values of your Ionos API-keypair into the file
|
|
|
|
```yaml
|
|
apikey:
|
|
prefix: <your api key prefix>
|
|
secret: <your api key secret>
|
|
```
|
|
|
|
Next, add every domain you wish to send an update for to the `domains` list.
|
|
The script will set a global DNS record for each listed domain and have it point to the local host's public IP address.
|
|
The `domains` list should have the following format:
|
|
|
|
```yaml
|
|
domains:
|
|
- example.com
|
|
- subdomain1.example.com
|
|
- subdomain2.example.com
|
|
```
|
|
|
|
You may optionally set a descriptive string which is sent along with the update:
|
|
```yaml
|
|
description: "Dynamic DNS update."
|
|
```
|
|
|
|
As of right now, I am actually not sure what the description is needed for, but the API requires it.
|
|
The value displayed above is used by default, if you don't override it inside `config.yml`.
|