Dnsupdater
Automatically update your DNS record to match your current external IP address
Install / Use
/learn @boris1993/DnsupdaterREADME
dnsupdater
This app allows you updating your DNS records with your current external IP address.
It is recommended to run this program in your home server, or in your router。
You should NEVER run this program behind a proxy or a VPN. Running it behind a proxy is an unconsidered and untested scenario.
How-to
-
Download the latest release for your target
-
Extract the archive.
-
Rename
config.yaml.templatetoconfig.yaml. -
Finish your configuration in the
config.yaml -
Upload
dnsupdaterandconfig.yamlto the device you want this app to run. These 2 files must be under the same directory. -
Set up a cron job like
0 0,12 * * * /home/yourname/dnsupdater/dnsupdater > /var/log/update-dns.log 2>&1 &
Important notes in configuration
-
The
APIKeyfor your CloudFlare records should be a dedicated API token. You can generate one here with templateEdit zone DNS. -
Do not modify the property
RegionIDfor your Aliyun DNS records.cn-hangzhouis the only accepted value for now. -
About JSON path
Here's a list of operators used in JSON path:
| Operator | Description |
|:--------------------------|:----------------------------------------------------------------|
| $ | The root element to query. This starts all path expressions. |
| @ | The current node being processed by a filter predicate. |
| * | Wildcard. Available anywhere a name or numeric are required. |
| .. | Deep scan. Available anywhere a name is required. |
| .<name> | Dot-notated child |
| ['<name>' (, '<name>')] | Bracket-notated child or children |
| [<number> (, <number>)] | Array index or indexes |
| [start:end] | Array slice operator |
| [?(<expression>)] | Filter expression. Expression must evaluate to a boolean value. |
So if you have a JSON like this:
{
"ip": "103.156.184.21",
"tz": "Asia/Taipei"
}
You can use $.ip to obtain the value in the field ip.
Build for other platforms
You can check for all preset targets by running the scripts in the scripts folder.
For Windows users:
build.bat /?
For *NIX users:
make help
Or you can specify your own GOARCH and GOOS (and maybe GOMIPS) with go build command
to build the executable for your platform as long as Go provides support to it.
License
Licensed under MIT license.
Related Skills
node-connect
352.2kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
xurl
352.2kA CLI tool for making authenticated requests to the X (Twitter) API. Use this skill when you need to post tweets, reply, quote, search, read posts, manage followers, send DMs, upload media, or interact with any X API v2 endpoint.
frontend-design
111.1kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
352.2kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
