0 امتیاز
387 بازدید
در میکروتیک توسط مدیر کل (15.5k امتیاز)
ویرایش شده توسط

Mikrotik script for auto update dynamic public ip address :

/tool fetch url="https://wtfismyip.com/text" mode=https ascii=yes keep-result=yes dst-path=myfile

:global myip [ :file get myfile contents ]

:global ip [ :pick [ :tostr "$myip" ] 0 [ :find "$myip" "\n"  ] ]

:put "$ip"

:global ddnsuser "USERNAME"

:global ddnspass "PASSWORD"

:global theinterface "ether1"

:global ddnshost "DDNS DOMAIN"

:global ipddns [:resolve $ddnshost];

:global ipfresh $ip

:if ([ :typeof $ipfresh ] = nil ) do={

:log info ("dynu: No ip address on $theinterface .")

} else={

:for i from=( [:len $ipfresh] - 1) to=0 do={

:if ( [:pick $ipfresh $i] = "/") do={

:set ipfresh [:pick $ipfresh 0 $i];

}

}

:if ($ipddns != $ipfresh) do={

:log info ("dynu: IP-dynu = $ipddns")

:log info ("dynu: IP-Fresh = $ipfresh")

:log info "dynu: Update IP needed, Sending UPDATE...!"

:global str "/nic/update?hostname=$ddnshost&myip=$ipfresh"

/tool fetch address=api.dynu.com src-path=$str mode=http user=$ddnsuser password=$ddnspass dst-path=("/Dynu.".$ddnshost)

:delay 1

:global str [/file find name="Dynu.$ddnshost"];

/file remove $str

:global ipddns $ipfresh

:log info "dynu: IP updated to---------> $ipfresh!"

} else={

:log info "dynu: dont need changes";

}

}

توسط مدیر کل (15.5k امتیاز)
#Get Ip And Save it To "mypublicip.txt" File In Mikrotik
/tool fetch url="https://myip.dnsomatic.com/mypublicip.txt" mode=https
#Save Ip From "mypublicip.txt" File To "PublicIP" Variable
:local PublicIP [file get mypublicip.txt contents ]

#Write Ip From "PublicIP" Variable To Mikrotik Log
/log info message=$PublicIP
#----------------

/tool fetch url="https://api.dynu.com/nic/update?hostname=aaaaaa.mywire.org&myip=$PublicIP&password=03ad2c09dae4d73ada2f8c51dc16068&.000" mode=http

:delay 2
/file remove mypublicip.txt
/file remove [find type=".000 file"]

1 پاسخ

0 امتیاز
توسط مدیر کل (15.5k امتیاز)
update 2022-10-16

#Get Ip And Save it To "mypublicip.txt" File In Mikrotik
/tool fetch url="https://myip.dnsomatic.com/mypublicip.txt" mode=https
#Save Ip From "mypublicip.txt" File To "PublicIP" Variable
:local PublicIP [file get mypublicip.txt contents ]

#Write Ip From "PublicIP" Variable To Mikrotik Log
/log info message=$PublicIP
#----------------

/tool fetch url="https://api.dynu.com/nic/update?hostname=aaaaaaaaaa.mywire.org&myip=$PublicIP&password=hash md5 pass&.000" mode=http

:delay 2
/file remove mypublicip.txt
/file remove [find type=".000 file"]

سوالات مشابه

0 امتیاز
0 پاسخ 47 بازدید
سوال شده اکتبر 4, 2022 در میکروتیک توسط admin مدیر کل (15.5k امتیاز)
0 امتیاز
0 پاسخ 63 بازدید
سوال شده اکتبر 3, 2022 در میکروتیک توسط admin مدیر کل (15.5k امتیاز)
0 امتیاز
1 پاسخ 552 بازدید
سوال شده Mar 2, 2019 در میکروتیک توسط amir_72 دانش آموز (40 امتیاز)
0 امتیاز
0 پاسخ 314 بازدید
سوال شده می 16, 2018 در میکروتیک توسط admin مدیر کل (15.5k امتیاز)
0 امتیاز
0 پاسخ 1.1k بازدید
سوال شده ژوئیه 30, 2016 در میکروتیک توسط admin مدیر کل (15.5k امتیاز)
...