Tao's Blog
DDNS-GO相关
Updated 2026-01-24 00:22:41

项目地址 DDNS-GO Windows版本下载 Linux版本下载

举个例子,以ubuntu/debian为例也可以这样安装

wget https://github.com/jeessy2/ddns-go/releases/download/v6.15.0/ddns-go_6.15.0_linux_x86_64.tar.gz
tar -zxvf ddns-go_6.15.0_linux_x86_64.tar.gz

后面就是简单的服务安装和卸载

Linux安装和卸载

sudo ./ddns-go -s install
sudo ./ddns-go -s uninstall

Windows安装和卸载

.\ddns-go.exe -s install
.\ddns-go.exe -s uninstall

[可选] 支持安装或启动时带参数
-l监听地址
-f同步间隔时间(秒)
-cacheTimes间隔N次与服务商比对
-c自定义配置文件路径
-noweb不启动web服务
-skipVerify跳过证书验证
-dns 自定义 DNS 服务器。
如:

./ddns-go -s install -l :9877 -f 600 -c /Users/name/ddns-go.yaml

填返回信息用这个就够用,

{
  "msgtype": "text",
  "text": {
    "content": "#{ipv4Domains}\n#{ipv4Addr}\n\n#{ipv6Domains}\n#{ipv6Addr}"
  }
}

Windows获取命令的命令有以下这些(都只是举例,自己可以按情况改)

ipconfig | findstr IPv4
ipconfig | Select-String -Pattern '240e:[0-9a-f:]+::[0-9a-f]+' -AllMatches | % { $_.Matches } | % { $_.Value } | Select -First 1
Get-NetIPAddress -AddressFamily IPv6 |  Where-Object { $_.IPAddress -notmatch '^fe80:' -and $_.IPAddress -notmatch '^::' } |  Select-Object -ExpandProperty IPAddress -First 1
ipconfig |  Select-String -Pattern '2[0-9a-f]{3}:[0-9a-f:]+:[0-9a-f]+' -AllMatches |  % { $_.Matches } |  % { $_.Value } |  Select -First 1

linux v4

hostname -I | awk '{print $1}'
ip -4 addr show | grep -oP '(?<=inet\s)(?!127\.|100\.)\d+(\.\d+){3}' | head -n1
ip -4 addr show scope global | grep -oP '(?<=inet\s)\d+(\.\d+){3}' | grep -Ev '^(100\.|10\.8|10\.9|172\.17)' | head -n1
ip -4 route get 223.5.5.5 2>/dev/null | grep -oP 'src \K[\d.]+' | grep -Ev '^100\.' || hostname -I | grep -oP '\d+(\.\d+){3}' | grep -Ev '^(100\.|127\.)' | head -n1

linuxIPv4,指定到卡

ip -4 addr show enp3s0 | grep -oP '(?<=inet\s)\d+(\.\d+){3}'

linuxIPv6

ip -6 addr | grep -oPi '\b240e:[0-9a-f:]+::[0-9a-f]+\b' | head -n1

linuxIPv6,指定到卡

ip -6 addr show enp3s0 | grep -oP '(?<=inet6\s)[0-9a-f:]+(?=/)' | grep -v '^fe80' | grep '::' | head -n1
ip -6 addr show enp3s0 | grep -oP '(?<=inet6\s)[0-9a-f:]+(?=/)' | grep -v '^fe80' | grep -E '::[0-9a-f]+$' | head -n1
ip -6 addr show enp3s0 | grep -oP '(?<=inet6\s)[0-9a-f:]+(?=/)' | grep -v '^fe80:' | head -n 1 | grep -E '^2'
ip -6 addr show enp1s0 | grep -oP '(?<=inet6\s)[0-9a-f:]+(?=/)' | grep -vi '^fe80' | grep -E '^2[0-9a-f:]+' | head -n1

可能是temporary

ip -6 addr show dev wlp1s0 | awk '/inet6 240e:/ {print $2}' | cut -d/ -f1 | head -n1

绝对非temporary

ip -6 addr show dev wlp1s0 | awk '/inet6 240e:/ && !/temporary/ {print $2}' | cut -d/ -f1 | head -n1

严格global

ip -6 addr show dev wlp1s0 scope global | awk '$1=="inet6" && $2 ~ /^240e:/ && $0 !~ /temporary/ {print $2}' | cut -d/ -f1 | head -n1

linux v6 不指定卡

ip -6 addr | grep -oP '(?<=inet6\s)[0-9a-f:]+(?=/)' | grep -vi '^fe80' | grep -E '^2[0-9a-f:]+' | head -n1
ip -6 addr | grep -oP '(?<=inet6\s)[0-9a-f:]+(?=/)' | grep -vi '^fe80' | grep -E '^2[0-9a-f:]+::[0-9a-f]+$' | head -n1
ip -6 route get 2400:3200::1 2>/dev/null | grep -oP 'src \K[0-9a-f:]+' | grep -E '^2' | head -n1
ip -6 route get 2400:3200::1 2>/dev/null | grep -oP 'src \K[0-9a-f:]+' | grep -E '^2' || ip -6 addr | grep -oP '(?<=inet6\s)[0-9a-f:]+(?=/)' | grep -vi '^fe80' | grep -E '^2' | head -n1

可能是temporary

ip -6 addr | awk '/inet6 240e:/ {print $2}' | cut -d/ -f1 | head -n1

绝对非temporary

ip -6 addr | awk '/inet6 240e:/ && !/temporary/ {print $2}' | cut -d/ -f1 | head -n1

严格global

ip -6 addr show scope global | awk '$1=="inet6" && $2 ~ /^240e:/ && $0 !~ /temporary/ {print $2}' | cut -d/ -f1 | head -n1

以上只是举例,涉及到网卡和运营商前缀的改成自己前缀即可,优先用自己命令,不要用外部网站API,太拉了

Comments
0 public / 0 total
暂无公开留言。
每 IP 每小时最多 10 条(防止滥用)
2026-02-03 19:36:24 UTC+8 · 粤ICP备2020133391号-3 · 粤公网安备 44030502008986号