Here is my problem, my ISP use CGNAT on IPv4, my router is CCR1009, it get a 10.0.0.0/8 reserved ip address on PPPoE out interface, and a 2408:8000::/20 IPv6 address, right now, those address are 10.70.163.179, and 2408:8207
The files download when update DYNV6, they named same, the file name will be "update?hostname=MYDOMAIN.dynv6.net&token=1a2b3c4d5e6f".
My added counter script of update DYNV6 below:
Code: Select all
{
:local dynv6addr
:local currentv6addr
:local dynv6domain "MYDOMAIN.dynv6.net"
:local dynv6token "1a2b3c4d5e6f"
:local dynv6url
:global dynv6holdcounter
:set $currentv6addr [/ipv6 address get [/ipv6 address find interface=pppoe-out-Unicom from-pool=unicom-pool-v6] address]
:set $currentv6addr [:pick $currentv6addr 0 [:find $currentv6addr "/"]]
:set $dynv6addr [:resolve domain-name=MYDOMAIN.dynv6.net server=2620:fe::fe]
:set $dynv6url "http://dynv6.com/api/update?hostname=$dynv6domain&token=$dynv6token&ipv6=$currentv6addr"
:if ([:typeof $currentv6addr]="ip6" && :get[$currentv6addr]!="::1") do={
:if (:get$currentv6addr!=:get $dynv6addr || :get[$dynv6holdcounter]="2880") do={
:set $dynv6holdcounter 0;
/file remove "update?hostname=MYDOMAIN.dynv6.net&token=1a2b3c4d5e6f";
/tool fetch url=($dynv6url) mode=http;
/log info message=("IPv6 address of dynv6 updated to ".$currentv6addr);
} else={
:set $dynv6holdcounter ($dynv6holdcounter+1);
}
} else={
/log info message="bad ipv6 address for dynv6.";
:set $dynv6holdcounter 0;
}
}