Script Update IP Public Dinamis
Dengan ChangeIP
# Written by Sam Norris,
ChangeIP.com
# Copyright ChangeIP.com 2009
# For support send mail to
Support@ChangeIP.com
#
# 2009-06-22 RouterOS 3.25 Tested
# 2009-10-05 RouterOS 4.01rc1
Tested
#
# OVERVIEW: %
#
This script will update a ChangeIP.com dynamic dns hostname
# %
# NOTES: %
#
IF THIS SCRIPT DOES NOT PRODUCE ANY OUTPUT PLEASE COPY AND PASTE IT
#
AGAIN. THERE PROBABLY IS A LINE
BREAK IN THE WRONG PLACE! Once you
#
have created this script and tested that it works by running it
#
manually you can schedule it to run every few minutes.
# %
# CONFIGURATION FIELD
DEFINITIONS:
#
ddnsuser: Enter your ChangeIP.com
user id.
#
ddnspass: Enter your ChangeIP.com
password.
#
ddnshost: Enter the hostname
(www.example.com) to update.
#
ddnsinterface: Enter an interface
name to watch - case sensative.
# %
# %
# %
# %
# % % %
# % % %
# % % %
# %
#
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# EDIT YOUR DETAILS /
CONFIGURATION HERE
#
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:global ddnsuser "username"
:global ddnspass "password"
:global ddnshost "host"
:global ddnsinterface
"Speedy"
#
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# END OF USER DEFINED
CONFIGURATION
#
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:global ddnssystem
("mt-" . [/system package get [/system package find name=system]
version] )
:global ddnsip [ /ip address get
[/ip address find interface=$ddnsinterface] address ]
:global ddnslastip
:if ([:len [/interface find
name=$ddnsinterface]] = 0 ) do={ :log info "DDNS: No interface named
$ddnsinterface, please check configuration." }
:if ([ :typeof $ddnslastip ] =
"nothing" ) do={ :global ddnslastip 0.0.0.0/0 }
:if ([ :typeof $ddnsip ] =
"nothing" ) do={
:log info ("DDNS: No ip
address present on " . $ddnsinterface . ", please check.")
} else={
:if ($ddnsip != $ddnslastip) do={
:log info "DDNS: Sending UPDATE!"
:log info [ :put [/tool dns-update
name=$ddnshost address=[:pick $ddnsip 0 [:find $ddnsip "/"] ]
key-name=$ddnsuser key=$ddnspass ] ]
:global ddnslastip $ddnsip
} else={
:log info "DDNS: No changes
necessary."
}
}
0 comments:
Post a Comment