找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888广告投放联系QQ68610888
广告投放联系QQ68610888广告投放联系QQ68610888
查看: 975|回复: 1

[Router OS] 求ros7.x dynadot ddns ipv4/6脚本

[复制链接]
发表于 2025-10-14 13:20 | 显示全部楼层 |阅读模式

  1. # Dynadot DDNS Update Script for RouterOS 7.19
  2. :local ddnsInterface "pppoe-out1"
  3. :local dynadotHostname "your-domain.com"
  4. :local dynadotAPIKey "your-api-key-from-dynadot"

  5. # Get current IPv4 address from specific interface
  6. :local currentIPv4 [/ip address get [/ip address find interface=$ddnsInterface] address]
  7. :set currentIPv4 [:pick $currentIPv4 0 [:find $currentIPv4 "/"]]

  8. # Get current IPv6 address (from global scope on bridge)
  9. :local ipv6Addr [/ipv6 address get [/ipv6 address find interface=bridge1 advertise=yes] address]
  10. :local currentIPv6 ""
  11. :if ([ :typeof $ipv6Addr ] != "nil") do={
  12.     :set currentIPv6 [:pick $ipv6Addr 0 [:find $ipv6Addr "/"]]
  13. }

  14. # Resolve current DNS record
  15. :local dnsIPv4 [:resolve $dynadotHostname type=A server=8.8.8.8]
  16. :local dnsIPv6 [:resolve $dynadotHostname type=AAAA server=2001:4860:4860::8888]

  17. # Update only if IP changed
  18. :if (($currentIPv4 != $dnsIPv4) || ($currentIPv6 != $dnsIPv6)) do={
  19.     :log info "Dynadot: IP change detected, updating DNS records"
  20.    
  21.     # Update IPv4 via Dynadot API
  22.     :if ($currentIPv4 != $dnsIPv4) do={
  23.         /tool fetch url=("https://api.dynadot.com/api3.xml?key=" . $dynadotAPIKey . "&command=set_dns2&domain=" . $dynadotHostname . "&a_record1=" . $currentIPv4) mode=https keep-result=no
  24.         :log info "Dynadot: IPv4 updated to $currentIPv4"
  25.     }
  26.    
  27.     # Update IPv6 via Dynadot API  
  28.     :if (($currentIPv6 != "") && ($currentIPv6 != $dnsIPv6)) do={
  29.         /tool fetch url=("https://api.dynadot.com/api3.xml?key=" . $dynadotAPIKey . "&command=set_dns2&domain=" . $dynadotHostname . "&aaaa_record1=" . $currentIPv6) mode=https keep-result=no
  30.         :log info "Dynadot: IPv6 updated to $currentIPv6"
  31.     }
  32. } else={
  33.     :log info "Dynadot: No IP change detected"
  34. }
复制代码
不知道deepseek上生成的代码要怎么改?
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
发表于 2025-10-14 20:06 | 显示全部楼层
:local ddnsInterface "pppoe-out1"
:local dynadotHostname "your-domain.com"
:local dynadotAPIKey "your-api-key-from-dynadot"

pppoe-out1改为目前设置的上网的interface名字
your-domain.com改未你的域名
your-api-key-from-dynadot改为你在dynadot上的api key
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

欢迎大家光临恩山无线论坛上一条 /2 下一条

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2026-8-23 17:06

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com 电话:13506125623

快速回复 返回顶部 返回列表