DirectAdmin DNS records syncer
Go to file
2023-11-17 07:20:10 +01:00
_assets chore(repo): add README 2023-11-17 07:19:22 +01:00
adapter feat(app): add codebase 2023-11-17 07:20:10 +01:00
app feat(app): add codebase 2023-11-17 07:20:10 +01:00
config feat(app): add codebase 2023-11-17 07:20:10 +01:00
.gitignore chore(repo): add .gitignore 2023-11-17 07:19:46 +01:00
go.mod feat(app): add codebase 2023-11-17 07:20:10 +01:00
go.sum feat(app): add codebase 2023-11-17 07:20:10 +01:00
LICENSE chore(repo): add LICENSE 2023-11-17 07:19:28 +01:00
main.go feat(app): add codebase 2023-11-17 07:20:10 +01:00
README.md chore(repo): add README 2023-11-17 07:19:22 +01:00

DirectAdmin DNS records syncer

This tool synchronizes DNS records between DDNS and DirectAdmin.

I'm unable to find decent solution for sending updates from my Archer C6, so I came up with a tool that is intended to query TP-Link DDNS service (ns1.tplinkdns.com) for my router's external IP and to update DNS record for int subdomain in DirectAdmin panel.

When life gives you lemons then spin up the hamster ¯\_(ツ)_/¯

Installation

go get git.ext.icikowski.pl/icikowski/ip-ddns@latest

Configuration

Environment variable Description
SYNCER_DA_URL DirectAdmin panel URL (default: https://s149.cyber-folks.pl:2223)
SYNCER_DA_USER DirectAdmin panel username
SYNCER_DA_TOKEN DirectAdmin panel token
SYNCER_DOMAIN_SRC_NAME Source domain name (DDNS one)
SYNCER_DOMAIN_SRC_NAMESERVER Source nameserver (DDNS one)
SYNCER_DOMAIN_DST_NAME Destination domain name (DA one)
SYNCER_DOMAIN_DST_NAMESERVER Destination nameserver (DA one)
SYNCER_DOMAIN_ENTRY_DN Entry domain name (from domains configured in DA)
SYNCER_DOMAIN_ENTRY_NAME Entry name
SYNCER_DOMAIN_ENTRY_TTL Entry TTL (default: 60)
SYNCER_RESYNC_TIME Resync time (default: 15m)

Working example

Screenshot