46 lines
1.1 KiB
Markdown
46 lines
1.1 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/)
|
|
|
|
### Initial setup
|
|
|
|
Install the [dependencies](#dependencies), preferrably using your system's package manager.
|
|
|
|
Next, you will need your Ionos API keypair.
|
|
Clone the repo and create a file called `apikey.yml` at the project root.
|
|
Inside the file, paste your Ionos API-keypair in the following format:
|
|
|
|
```yaml
|
|
---
|
|
|
|
apikey:
|
|
prefix: <your api key prefix>
|
|
secret: <your api key secret>
|
|
|
|
...
|
|
```
|
|
|
|
### Adding target domains
|
|
|
|
Add every domain you want to send an update for to the file `domains.json`.
|
|
The file should list each domain whose global DNS record should point to the local host's public IP.
|
|
The file must have the following format:
|
|
|
|
```json
|
|
{
|
|
"domains": [
|
|
"example.com",
|
|
"subdomain1.example.com",
|
|
"subdomain2.example.com",
|
|
],
|
|
"description": "My dynamic DNS."
|
|
}
|
|
```
|
|
|
|
The description can have any string as a value, but it must be present.
|