From 599b87d5a0758b89370ee38bf6922f45a4811fe8 Mon Sep 17 00:00:00 2001 From: Nik Rozman Date: Mon, 24 Jul 2023 21:42:20 +0200 Subject: [PATCH 1/3] Initial commit --- LICENSE | 1 + README.md | 3 +++ 2 files changed, 4 insertions(+) create mode 100644 LICENSE create mode 100644 README.md diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..c7ffc1a --- /dev/null +++ b/LICENSE @@ -0,0 +1 @@ +"THE BEER-WARE LICENSE" (Revision 42): wrote this file. As long as you retain this notice you can do whatever you want with this stuff. If we meet some day, and you think this stuff is worth it, you can buy me a beer in return Poul-Henning Kamp diff --git a/README.md b/README.md new file mode 100644 index 0000000..9f5223a --- /dev/null +++ b/README.md @@ -0,0 +1,3 @@ +# powerdns-proxy + +PowerDNS Proxy is a Python script that acts as a proxy between your PowerDNS server and external DNS providers, such as Hetzner and OVH. It allows you to automatically synchronize DNS records between your PowerDNS server and the supported external DNS providers. \ No newline at end of file From 6859a08cce15dd066b86c32fe0a58f79adb7bcf5 Mon Sep 17 00:00:00 2001 From: Nik Rozman Date: Mon, 24 Jul 2023 21:51:24 +0200 Subject: [PATCH 2/3] Update 'README.md' --- README.md | 61 +++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 59 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 9f5223a..1974098 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,60 @@ -# powerdns-proxy +# PowerDNS Proxy -PowerDNS Proxy is a Python script that acts as a proxy between your PowerDNS server and external DNS providers, such as Hetzner and OVH. It allows you to automatically synchronize DNS records between your PowerDNS server and the supported external DNS providers. \ No newline at end of file +PowerDNS Proxy is a Python script that acts as a proxy between your PowerDNS server and external DNS providers, such as Hetzner and OVH. It allows you to automatically synchronize DNS records between your PowerDNS server and the supported external DNS providers. +Mainly aimed at proxying RDNS/PTR records. + +## Features + +- Synchronize DNS records between PowerDNS and supported external DNS providers. +- Automatically track changes in PowerDNS zones and update corresponding records in external DNS providers. +- Supports multiple backend providers, including Hetzner and OVH. + +## Installation + +1. Install the required Python dependencies: +```bash +pip3 install -r requirements.txt +``` + +3. Configure the PowerDNS Proxy by editing the `config.ini` file: + + +Replace values `x` with the appropriate values for your PowerDNS server and backend providers. You can also change the synchronization frequency (in seconds) by modifying the `frequency` parameter. Backend servers will only get called on zone change. + +4. Define the zones and their corresponding backend providers in the `zones.ini` file: +```ini +[1.2.3.4.in-addr.arpa.] +backend = hetzner + +[5.6.7.8.in-addr.arpa.] +backend = ovh + +[2.4.6.8.in-addr.arpa.] +backend = hetzner +``` + +Each section in the `zones.ini` file corresponds to a zone in your PowerDNS server. The `backend` parameter specifies the backend provider to use for that zone (currently supporting `hetzner` and `ovh`). + +## Usage + +Run the PowerDNS Proxy script using the following command: +```bash +python3 main.py +``` + +## Supported Backends + +### Hetzner Robot + +- Supports creating, updating, and deleting DNS records using the Hetzner Robot API. + +#### Credentials +To get credentials, go to this link here: (https://robot.hetzner.com/preferences/index)[https://robot.hetzner.com/preferences/index], then click the "Webservice and app settings" tab and generate a credential pair. + +#### OVH + +- Work in progress + +## Contributing + +Contributions to the PowerDNS Proxy project are welcome! If you find any issues or have suggestions for improvements, feel free to open an issue or submit a pull request. \ No newline at end of file From 50d71ae8562d97d8610b8467ead3d4df6a446271 Mon Sep 17 00:00:00 2001 From: Nik Rozman Date: Mon, 24 Jul 2023 21:52:00 +0200 Subject: [PATCH 3/3] Fix Hetzner URL --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 1974098..50d6395 100644 --- a/README.md +++ b/README.md @@ -49,7 +49,7 @@ python3 main.py - Supports creating, updating, and deleting DNS records using the Hetzner Robot API. #### Credentials -To get credentials, go to this link here: (https://robot.hetzner.com/preferences/index)[https://robot.hetzner.com/preferences/index], then click the "Webservice and app settings" tab and generate a credential pair. +To get credentials, go to this link here: https://robot.hetzner.com/preferences/index, then click the "Webservice and app settings" tab and generate a credential pair. #### OVH