DirectSlave - solution to add and remove zones on slave without DirectAdmin

3.5.1 released.

FIXED - DirectAdmin 1.69 compatibility for /CMD_API_DNS_ADMIN:

· Proper handling of action=delete when parameters are sent in POST body (form-urlencoded), not only in query string.
· Backward compatible with older DirectAdmin versions that send action/select0 in the URL.
· Added robust request parsing fallback for cases where DA omits Content-Type.

Improved rawsave handling:

· dns_write_post.sh added (see /scripts) · Zonefile content is taken directly from request body and passed to dns_write_post.sh.
· Prevents losing POST body after form parsing.
· Delete now supports multiple domains in a single request (select0..selectN).
· Domain deletion is idempotent in DNS-less/dev setups (no false failures when zone artifacts are missing).

Please update to 3.5.1

Also you can support my work and future development of DS
 
FIXED - DirectAdmin 1.69 compatibility for /CMD_API_DNS_ADMIN:
@roman_m Unfortunately it is not fixed.

I just tested with Directadmin 1.690 and could create a user with a testdomain.
Then I tested adding A and TXT record, which went fine.
Tested removing A record and change of TXT record. Also went fine.

As a last test I tested the removal of the user including the domain. There it went wrong.
Directadmin removed the user and domain from the server. But on the Directslave server, the domain was -not- deleted from the directslave.inc and also the domain .db file was not deleted.

Same as before, only error notice in the Directadmin error.log:
Code:
Cluster dsvps.server.nl: Error deleting remote dns zone (testdomein.nl): No action taken
Nothing to be seen in directslave logs.

Edit: Sorry my bad I was too enthousiastic. I overwritten everything and forgotten that I renamed the longer binary name to just directslave, so the older version was started again.

Works perfectly now!
 
Last edited:
@roman_m Unfortunately it is not fixed.

I just tested with Directadmin 1.690 and could create a user with a testdomain.
Then I tested adding A and TXT record, which went fine.
Tested removing A record and change of TXT record. Also went fine.

As a last test I tested the removal of the user including the domain. There it went wrong.
Directadmin removed the user and domain from the server. But on the Directslave server, the domain was -not- deleted from the directslave.inc and also the domain .db file was not deleted.

Same as before, only error notice in the Directadmin error.log:
Code:
Cluster dsvps.server.nl: Error deleting remote dns zone (testdomein.nl): No action taken
Nothing to be seen in directslave logs.
Enable debug in DS config, then restart directslave service and do some pipeline tests. Then email me error.log content.
 
Sorry, I will report back soon, seems 3.4.3 was still running.

Edit: Confirmed, 3.5.1. is working as a sunshine, perfectly!!
 
Last edited:
Yes. At least for domains with ipv6. Most likely making connections on ipv6 too, not tested yet.
If both servers are IPv6 compatible and have a dedicated IPv6 setup, then yes you can connect via IPv6. Simply use that IP address in the multiserver connection, provided DA have fixed it, which they hadn't up to version 1.691 (It broke when they updated something in 1.686)

You'd have to edit the /usr/local/directadmin/data/admin/cluster.conf file to add one at the moment.
 
Hi all!

I’m alive and relatively well. :)

Get ready -- I'm cooking up something amazing for you!:D:love:

DirectSlave 4, featuring an integrated secondary authoritative DNS server with DNSSEC and NSEC3 support, plus an extended dashboard and detailed statistics. 🔥

The release is almost here -- I'm now putting it through final testing in my production environment.

Scrn-20260920-1.png



Scrn-20260920-2.png
 
Last edited:
Thank you, Richard. I’m glad to see you too!

This is a major upgrade, so some migration will be required to take full advantage of it. I’ll prepare a detailed migration guide as part of the release.

DirectSlave 4 can still use an external ISC BIND server for compatibility. However, the main purpose of this release is to replace BIND with the new integrated authoritative DNS server, written in Go and built on the mature and widely used `miekg/dns` library. It includes DNSSEC and NSEC3 support, statistics, monitoring, and an extended dashboard.

Version 4 is also designed to make initial deployment on a clean system much simpler. Users who just need a reliable secondary authoritative DNS server no longer have to install, configure, and maintain BIND. DirectAdmin integration provides automatic zone provisioning, but DirectSlave is not limited to DirectAdmin: zones can also be added manually for use with any compatible authoritative primary DNS server.

The migration can be performed safely: the integrated server can first be started on a separate IP address, allowed to transfer and verify all zones, and only then switched to the production addresses on port 53.
 
Back
Top