Skip to content

A command-line tool written in Go for updating DNS records using the iwantmyname DDNS (Dynamic DNS) interface.

Notifications You must be signed in to change notification settings

smallandmodern/iwantmyname-ddns

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 

Repository files navigation

iwantmyname-ddns

A command-line tool written in Go for updating DNS records using the iwantmyname DDNS (Dynamic DNS) interface.

Features

  • Update A or AAAA records.
  • Add or delete other record types such as TXT, MX, CNAME, NAPTR, and SRV.

Installation

  1. Clone the repository:

git clone https://github.com/smallandmodern/iwantmyname-ddns.git

  1. Change to the project directory:

cd iwantmyname-ddns

  1. Build the project:

go build -o iwantmyname

This command will compile the Go program into an executable named iwantmyname.

Usage

Set the environment variables IWANTMYNAME_USERNAME and IWANTMYNAME_PASSWORD with your iwantmyname login credentials.

For Bash or Zsh:

export IWANTMYNAME_USERNAME="your_username"
export IWANTMYNAME_PASSWORD="your_password"

For Fish shell:

set -x IWANTMYNAME_USERNAME your_username
set -x IWANTMYNAME_PASSWORD your_password

Run the iwantmyname executable with the required arguments:

./iwantmyname hostname recordType value [ttl]

Replace hostname, recordType, value, and ttl (optional) with the appropriate values for your use case.

Examples

  • Update an A record:

./iwantmyname home.example.com A 192.0.2.1

  • Add a TXT record:

./iwantmyname verify.example.com TXT "Xh90WmC95K1GAlAcEF0psz3c2GOandqdqMInclDxd"

  • Delete a TXT record:

./iwantmyname verify.example.com TXT delete

About

A command-line tool written in Go for updating DNS records using the iwantmyname DDNS (Dynamic DNS) interface.

Resources

Stars

Watchers

Forks

Languages