Porkbun Certbot DNS plugin in Go.
  • Go 85%
  • Shell 14.4%
  • Makefile 0.6%
Find a file
2025-10-07 17:13:41 -07:00
.gitignore Initial commit 2023-09-18 07:32:18 -07:00
authenticator.sh Initial commit 2023-09-18 07:32:18 -07:00
cleanup-all.sh Output subdomain id 2023-09-18 17:05:02 -07:00
cleanup.sh Output subdomain id 2023-09-18 17:05:02 -07:00
go.mod Update dependencies and add Makefile 2025-10-07 17:13:41 -07:00
go.sum Update dependencies and add Makefile 2025-10-07 17:13:41 -07:00
LICENSE Initial commit 2023-09-18 07:32:18 -07:00
main.go Output subdomain id 2023-09-18 17:05:02 -07:00
Makefile Update dependencies and add Makefile 2025-10-07 17:13:41 -07:00
README.md Initial commit 2023-09-18 07:32:18 -07:00

certbot-dns-porkbun

Porkbun Certbot DNS plugin in Go.

Usage

Run go compiler to get the linux binary (requires go 1.21+):

GOOS=linux GOARCH=amd64 go build -trimpath .

Copy certbot-dns-porkbun along with the 2 bash scripts (authenticator.sh and clenaup.sh) to the same directory of your server (I usually put them under /etc/letsencrypt/porkbun)

Edit the shell scripts on your server and replace the porkbun api and secret keys.

Run certbot with:

sudo certbot certonly \
  -n \
  --agree-tos \
  --email <your email> \
  --manual \
  --preferred-challenges=dns \
  --manual-auth-hook /path/to/authenticator.sh \
  --manual-cleanup-hook /path/to/cleanup.sh \
  -d yourdomain.com \
  -d *.yourdomain.com