tinydyndns-data(8)

πŸ“¦ version 0.4.2.debian1, in debian bookworm, ubuntu jammy, ubuntu noble, ubuntu questing

πŸ’– tinydyndns-data(8) πŸ’–

okay bestie, welcome to the group chat. this is tinydyndns-data from the System Manager's Manual β€” section 8, system admin territory, the real ones. she's a little tool with one job and she does it flawlessly ✨


🌸 NAME 🌸

tinydyndns-data β€” add or remove TYPE A record to or from data.cdb πŸŽ€


✨ SYNOPSIS ✨

tinydyndns-data add|remove fqdns

πŸ¦‹ DESCRIPTION πŸ¦‹

so. fqdns is one or more argument, and each one is a fully qualified domain name (fqdn). plural vibes, singular purpose πŸ’…

tinydyndns-data adds a TYPE A record to β€” or removes it from β€” data.cdb in the current directory. and here's the thing that makes her different: unlike tinydns-data(8), she does not know about the source file data. she edits the binary database data.cdb directly. no middleman, no source file, just main character energy going straight for the real thing 😀✨

here's how the whole ritual goes:

  1. tinydyndns-data reads data.cdb and copies its data to data.tmp πŸ“‹
  2. while reading the records, she checks for each fqdn in fqdns whether this hostname has a TYPE A record in data.cdb
  3. if she's called with the option remove β†’ she drops the record πŸ’€
  4. if she's called with the option add β†’ she refuses to add the record (no duplicates bestie, we don't do that here)

when she's called with the option add, tinydyndns-data then adds all new fqdns to data.tmp. the data of the newly created records can optionally be controlled through the environment β€” see below, i got you 🫢

finally β€” and this is the iconic finale β€” she renames data.tmp to data.cdb. atomic-ish glow-up, periodt. πŸ‘‘


πŸ’… OPTIONS πŸ’…

  • add β€” for each fqdn in fqdns, add a TYPE A record for fqdn to data.cdb with the default IP address (127.14.14.14). the classic starter pack πŸ’–
  • remove β€” for each fqdn in fqdns, remove all TYPE A records for fqdn from data.cdb. every single one, no survivors, we're thorough 🧹✨

🌈 ENVIRONMENT 🌈

  • IP β€” the environment variable IP overrides the default IP address (`127.14.14.14`) for newly created records. $IP must be a valid IP address. no fake addresses, she will notice 🚨
  • TTL β€” time-to-live. the environment variable TTL overrides the default time-to-live in seconds (0 if TTD is set, otherwise 5). $TTL must be an integer. (yes, the manpage says "TTD" here β€” that's the name of the variable below, and i'm keeping it exactly as written, iykyk 🫣)
  • TTD β€” time-to-die πŸ’€ $TTD must be an integer, specifying a number of seconds. if TTD is set, the timestamp of newly created records is set to the current time plus $TTD seconds, and TTL is set to zero by default, so that tinydns(8) interprets the timestamp as time-to-die.
⚠️ note: you probably want to adjust SOA ttl, or create a wildcard record, to prevent DNS caches from caching nxdomain, when using this feature. fr fr, do not skip this part bestie 😭
  • LOC β€” location. $LOC must be two characters long. if LOC is set, it specifies the client location for newly created records πŸ“

πŸ‘‘ EXIT CODES πŸ‘‘

  • tinydyndns-data exits 111 if anything goes wrong β€” and she leaves data.cdb unchanged. no half-finished chaos, she's respectful like that πŸ™
  • tinydyndns-data exits 0 if all fqdns were processed and the new data.cdb was written. the slay outcome ✨
  • for each fqdn in fqdns that tinydyndns-data was not able to remove or add (e.g., not there, or already there), she increases the exit code by one and exits non-zero β€” maximum is 100. so like, if 3 of them flopped, you get 3. she's counting, she always counts πŸ”’

πŸŽ€ FILES πŸŽ€

./data.cdb
./data.tmp

the whole personality lives in these two files, honestly πŸ’–


🌸 SEE ALSO 🌸


πŸ’œ AUTHOR πŸ’œ

Gerrit Pape <pape@smarden.org> β€” the icon who wrote all this down so we could vibe with it 🫢


okay that's the whole page bestie!! tinydyndns-data(8), from the System Manager's Manual, written by Gerrit Pape, and sourced straight from the tinydyndns project at smarden.org. go forth and edit your data.cdb directly, you absolute legend πŸ’…βœ¨πŸ‘‘

πŸ“¦ where this page comes from