Porkbun Dynamic DNS client in Go
  • Go 99.1%
  • Makefile 0.9%
Find a file
2026-08-21 21:08:14 -07:00
go.mod Update to go 1.27 2026-08-21 21:08:14 -07:00
go.sum Update to go 1.27 2026-08-21 21:08:14 -07:00
LICENSE Initial version 2023-07-16 20:55:53 -07:00
main.go Update to go 1.27 2026-08-21 21:08:14 -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.