Hi everyone!
I started using Bunny.net as my DNS provider with Enhance CP and realized that there are no ready-made solutions for synchronization. So I wrote my own sync tool and you can use it for free if you like.

How does it work?
The script collects all domains with DNS records from Enhance via the API.
You can configure whitelist/blacklist mode if you need to synchronize specific domains only.
If DNS records have changed (or when this is the first run), the script will compare all DNS records in Enhance and Bunny.net and make the necessary changes to Bunny.net (add/delete/update).
Some highlights
The script provides a simple web UI where you can: see the list of zones, the time of the last synchronization and the log; switch between whitelist/blacklist mode; include or exclude DNS zones from synchronization; run manual sync for specific domains.
Synchronization is supposed to be launched automatically via cron at certain intervals or manually in the console or web UI (if you update your DNS rarely). See documentation for details.
The number of requests to the Bunny.net API is kept to a reasonable minimum – the script tries to update existing records when possible. So re-syncs should be fast.
You can install the script on any server with PHP 8.4, but for speed it is recommended to install it on a server along with Enhance CP.
Download, installation guide and source code
https://github.com/comandante-fidel/enhance-bunny-dns-sync
This is an early version, originally developed for personal use, so bugs are possible. Report them via issues on GitHub or here.
Currently supported record types: A, AAAA, CNAME, MX, NS, TXT
The tool is free for both non-commercial and commercial use except for reselling or redistributing.
Thank you for your attention 🙂
–
P. S. I hope the Enhance team doesn't consider this advertising.
The script is free, its source code is published, and I have no affiliation with Bunny.net, just using their DNS.