Porkbun Dynamic DNS client in Go
  • Go 99.1%
  • Makefile 0.9%
Find a file
Yuxuan 'fishy' Wang 535c5f3fb0 Support multi-site from unifi api
Also support getting IPv6 from unifi api.
2025-07-26 17:45:12 -07:00
go.mod Support IPv6/AAAA record 2025-06-21 10:54:13 -07:00
go.sum Support IPv6/AAAA record 2025-06-21 10:54:13 -07:00
LICENSE Initial version 2023-07-16 20:55:53 -07:00
main.go Support multi-site from unifi api 2025-07-26 17:45:12 -07:00
Makefile Support multi-site from unifi api 2025-07-26 17:45:12 -07:00
README.md Fix README 2023-07-16 21:05:55 -07:00

ddporkbun

Porkbun Dynamic DNS client in Go.

Usage

Install by (NOTE: it requires go 1.21rc3 and above):

go install go.yhsif.com/ddporkbun@latest

Run manually to update dyndns.mydomain.com with your current external IP:

ddporkbun --apikey="pk1_..." --secretapikey="sk1_..." --domain="mydomain.com" --subdomain="dyndns"

To run it in cron jobs, for example cron.hourly, it's recommended to add --log-level=ERROR arg so it only logs when something went wrong:

#!/bin/sh

/path/to/ddporkbun --apikey="pk1_..." --secretapikey="sk1_..." --domain="mydomain.com" --subdomain="dyndns" --log-level=ERROR

Run ddporkbun --help to see all options. Use --log-level=DEBUG for verbose logging.