diff options
Diffstat (limited to 'update-tunnelbroker')
-rw-r--r-- | update-tunnelbroker | 42 |
1 files changed, 0 insertions, 42 deletions
diff --git a/update-tunnelbroker b/update-tunnelbroker deleted file mode 100644 index a3c66eb..0000000 --- a/update-tunnelbroker +++ /dev/null @@ -1,42 +0,0 @@ -#!rsc -# RouterOS script: update-tunnelbroker -# Copyright (c) 2013-2020 Christian Hesse <mail@eworm.de> -# Michael Gisbers <michael@gisbers.de> -# https://git.eworm.de/cgit/routeros-scripts/about/COPYING.md -# -# update local address of tunnelbroker interface -# https://git.eworm.de/cgit/routeros-scripts/about/doc/update-tunnelbroker.md - -:global CertificateAvailable; -:global LogPrintExit; -:global ParseKeyValueStore; - -:if ([ / ip cloud get ddns-enabled ] != true) do={ - $LogPrintExit error "IP cloud DDNS is not enabled." true; -} - -# Get the current ip address from cloud -/ ip cloud force-update; -:while ([ / ip cloud get status ] != "updated") do={ - :delay 1s; -} -:local PublicAddress [ / ip cloud get public-address ]; - -:foreach Interface in=[ / interface 6to4 find where comment~"^tunnelbroker" !disabled ] do={ - :local InterfaceVal [ / interface 6to4 get $Interface ]; - - :if ($PublicAddress != $InterfaceVal->"local-address") do={ - :local Comment [ $ParseKeyValueStore ($InterfaceVal->"comment") ]; - - :if ([ $CertificateAvailable "Starfield Secure Certificate Authority - G2" ] = false) do={ - $LogPrintExit error ("Downloading required certificate failed.") true; - } - $LogPrintExit info ("Local address changed, sending UPDATE to tunnelbroker! New address: " . $PublicAddress) false; - / tool fetch check-certificate=yes-without-crl \ - ("https://ipv4.tunnelbroker.net/nic/update\?hostname=" . $Comment->"id") \ - user=($Comment->"user") password=($Comment->"pass") output=none; - / interface 6to4 set $Interface local-address=$PublicAddress; - } else={ - $LogPrintExit debug ("All tunnelbroker configuration is up to date for interface " . $InterfaceVal->"name" . ".") false; - } -} |