docs: improve README readability
This commit is contained in:
parent
5715723863
commit
44c9014417
1 changed files with 16 additions and 10 deletions
26
README.md
26
README.md
|
@ -1,20 +1,24 @@
|
|||
# Ionos DNS updates
|
||||
|
||||
A set of scripts used to make dynamic DNS updates to the Ionos API.
|
||||
A simple script used to send dynamic DNS updates to the Ionos API.
|
||||
Using this script requires you to have your domain registered with Ionos, and having obtained an [API key from them](https://developer.hosting.ionos.com/docs/getstarted).
|
||||
|
||||
### Dependencies
|
||||
|
||||
Python libraries:
|
||||
Python 3.6 or above.
|
||||
|
||||
Required 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.
|
||||
Configuration of your DNS updates is declared inside the file `config.yml`.
|
||||
Once modified, this file **must be kept secret**.
|
||||
If your API key or your DNS update URL leaks to a bad actor, 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
|
||||
First, you will need to write your Ionos API keypair into the config file.
|
||||
Paste the respective values of your Ionos API-keypair into the config as follows:
|
||||
|
||||
```yaml
|
||||
apikey:
|
||||
|
@ -33,7 +37,7 @@ domains:
|
|||
- subdomain2.example.com
|
||||
```
|
||||
|
||||
**NOTE:** Make sure you have manually registered each subdomain you are listing in your Ionos account.
|
||||
**NOTE:** Make sure you have manually added each subdomain you are listing in your Ionos account.
|
||||
The script currently does not handle adding subdomains for you.
|
||||
Attempting to update the DNS entry for an unregistered domain will cause the API call to fail.
|
||||
|
||||
|
@ -42,8 +46,8 @@ You may optionally set a descriptive string which is sent along with the update:
|
|||
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`.
|
||||
As of right now, I am actually not sure what the description is needed for, but the API requires it to be present in the request.
|
||||
The value displayed here is used by default if you don't override it in `config.yml`.
|
||||
|
||||
### Regular DNS updates
|
||||
|
||||
|
@ -57,4 +61,6 @@ You can set your crontab to the following to achieve this:
|
|||
*/1 * * * * /path/to/dnsupdate.py
|
||||
```
|
||||
|
||||
Just make sure that the script is executable and located in the same directory as `config.yml`.
|
||||
Just make sure that the script is executable by the user whose cronjob is executing it, and that `config.yml` is listed in the same directory as the script itself.
|
||||
Run it manually at least once to make sure that everything is working.
|
||||
If the script runs without throwing an exception, everything worked and your DNS records now point to your public IP.
|
||||
|
|
Loading…
Add table
Reference in a new issue