ddns#
script for updating dns records on porkbun.
i made this after trying another ddns project, it not working, me not wanting to attempt to diagnose the issue, and then deciding to make my own. it's a great reason.
installation#
clone the repository, and install dependencies with bun install.
you can run the script directly with bun, or build it to install it globally:
# run directly
bun run src/bin.ts --help
# build & install globally
bun run build
bun install -g .
# or you can compile to a single binary and get rid of bun
bun build src/bin.ts --outfile=ddns --compile
configuration#
you can configure the tool via command line flags, environment variables, or a json config file.
example config file (config.json):
{
"apiKey": "...",
"secretApiKey": "...",
"domain": "..."
}
running#
you can run the tool with bun run src/bin.ts or ddns if installed globally.
you can view all available options with --help:
automating#
you'll likely want to run this periodically, this is not something supporting "natively" but you can use cron or systemd timers to achieve this.
license#
this project is licensed under the european union public license (eupl) v1.2. you can find the full license text either here or on the official eupl website, which also contains translations of the license in various languages.