Skip to content

Commit 3f2f813

Browse files
authored
Enhance README with IPv4/IPv6 support details
Updated README to reflect support for both DNS A and AAAA records, added IPv4 and IPv6 options, and improved feature descriptions.
1 parent ddf6140 commit 3f2f813

1 file changed

Lines changed: 27 additions & 14 deletions

File tree

README.md

Lines changed: 27 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
[![Rust](https://github.com/PRProd/dreamhost-ddns/actions/workflows/rust.yml/badge.svg)](https://github.com/PRProd/dreamhost-ddns/actions/workflows/rust.yml)
55
<br>
66

7-
A lightweight Rust CLI tool that updates a DreamHost DNS **A record** with your current public IP address.
7+
A lightweight Rust CLI tool that updates a DreamHost **DNS A** and **DNA AAAA** record with your current public WAN IP.
88

99
This tool is designed for:
1010

@@ -20,13 +20,16 @@ It detects your current WAN IP and updates the DNS record **only when necessary*
2020

2121
## Features
2222

23+
* **IPv4 and IPv6 support** (dual stack)
2324
* Fast public IP detection using multiple services
24-
* Safe DNS updates that prevent outages
25-
* Multiple configuration methods (CLI, env vars, config file)
26-
* Structured logging with selectable log levels
27-
* Designed for automation environments like Home Assistant
28-
* Small, fast Rust binary with minimal dependencies
29-
25+
* Safe DNS updates with propagation validation
26+
* Reduces API calls via DNS record caching
27+
* Smart error handling (including rate‑limit and API faults)
28+
* Structured logging with configurable levels
29+
* Supports config from CLI, environment variables, or file
30+
* Dry‑run mode for verification w/o making changes
31+
* Small, fast Rust binary
32+
3033
---
3134

3235
## How It Works
@@ -68,11 +71,19 @@ If verification fails, the old record **is not removed**, ensuring your hostname
6871

6972
Your public IP is detected using multiple services in parallel:
7073

74+
**IPv4 services:**
7175
* https://icanhazip.com
7276
* https://api.ipify.org
77+
* https://ident.me
7378
* https://ifconfig.me/ip
7479
* https://checkip.amazonaws.com
7580

81+
**IPv6 services:**
82+
* https://api64.ipify.org
83+
* https://ipv6.icanhazip.com
84+
* https://v6.ident.me
85+
* https://api-ipv6.ip.sb/ip
86+
7687
The first successful response is used, improving reliability and speed.
7788

7889
---
@@ -116,15 +127,17 @@ dreamhost-ddns \
116127
--record home.example.com
117128
```
118129

119-
Available arguments:
130+
Available options:
120131

121132
```
122-
--api-key <KEY> DreamHost API key
123-
--record <HOSTNAME> DNS A record to update
124-
--config <FILE> Optional config file
125-
--log-level <LEVEL> Logging level
126-
--verbose Shortcut for info-level logging
127-
--dry-run Show actions without modifying DNS
133+
--api-key <KEY> DreamHost API key
134+
--record <HOSTNAME> DNS record to update
135+
--config <FILE> Optional config file
136+
--log-level <LEVEL> Logging level (error, warn, info, debug, trace)
137+
--verbose Shortcut for info level
138+
--dry-run Show actions without modifying DNS
139+
--ipv4-only Only detect & update IPv4 ("A")
140+
--ipv6-only Only detect & update IPv6 ("AAAA")
128141
```
129142

130143
---

0 commit comments

Comments
 (0)