vetrov1 Posted April 26, 2014 Posted April 26, 2014 плиз скрипт бы для микротика для версии 6.10 для DDNS https://freedns.afraid.org/ у кого есть буду благодарен Вставить ник Quote
izuware Posted May 14, 2014 Posted May 14, 2014 :local ddkey "RUxххххххххххххххххххххххy" /tool fetch keep-result=no url="http://freedns.afraid.org/dynamic/update.php\?$ddkey" Вставить ник Quote
nukunuku Posted May 20, 2014 Posted May 20, 2014 Вчера только настраивал! Надо ещё проверку смены ип делать, чтобы не долбить сервис напрямую слишком часто :global currentIP; :local newIP [/ip address get [find interface="интерфейс-с-инетом"] address]; :if ($newIP != $currentIP) \ do={ \ :set currentIP $newIP; \ :log info "ip address $currentIP changed to $newIP"; \ /system script run фетч-скрипт; \ } else={ \ :log info "No change of IP"; \ } Вот этот скрипт уже можно часто запускать. Вставить ник Quote
leshiy_odessa Posted September 6, 2014 Posted September 6, 2014 (edited) Вот сделал скрипт. Самое главное, что он работает когда несколько доменов. Внимательно читаем комментарии. ############## Script FreeDNS.afraid.org ################## ############## PARSER EDITION ################## ############## CREATED LESHIY_ODESSA ################## # Указываем "Direct URL", который находится https://freedns.afraid.org/dynamic/ # Если версия RouterOS 5.xx, то убрать из URL шифрование - "https" поменять на "http". Так же смотри ниже. # Перед знаком "?" поставьте обратный слеш "\". :global "direct-url" "http://freedns.afraid.org/dynamic/update.php\?КVуjН2lzQmQwSkdkвW9atеNкeTdJаXFtOjg7NTО04zE=" # Указываем URL API "ASCII" # Войдите под своим аккаунтом и откройте страницу https://freedns.afraid.org/api/ # Затем скопируйте свой URL - Available API Interfaces : ASCII (!!! НЕ XML !!!) # ВНИМАНИЕ !!!! - Перед вопросительным знаком поставьте обратный слеш "\". # Если версия RouterOS 5.xx, то убрать из URL шифрование - "https" поменять на "http". :global "api-url" "http://freedns.afraid.org/api/\?action=getdyndns&sha=62ebн4404cd46сbe38eа8faк01be7dа101478a58b" # Указываем ваш домен или субдомен. :global "dns-domain" "name.com" # Задаем переменную для внешнего (WAN) интерфейса # при DUAL ACCESS указываем PPPoE (PPTP) интерфейс. Учитываем регистр букв. :global "out-interface" "pppoe" # !!!!!!!!!!!!!!!!! Больше ничего редактировать не нужно !!!!!!!!!!!!!!!!! # Проверяем есть ли файл с IP домена - freedns.txt :if ([:len [/file find name=freedns.txt]] > 0) do={ } else={ /tool fetch url=$"api-url" dst-path="/freedns.txt" } # Узнаем IP адрес домена с помощью API и парсинга. # Парсим файл :local "result" [/file get freedns.txt contents] :local "startloc" ([:find $"result" $"dns-domain"] + ([:len $"dns-domain"] + 1)) :local "endloc" ([:find $"result" $"direct-url" -1] -1) :global "dns-domain-ip" [:pick $"result" $"startloc" $"endloc"] # Узнаем текущий IP адрес на внешнем интерфейсе :global "current-ip" [/ip address get [find interface=$"out-interface"] address] # Из полученного IP адреса исключаем маску подсети :set "current-ip" [:pick $"current-ip" 0 ([:len $"current-ip"]-3) ] # Сравниваем внешний IP с IP адресом DNS домена. :if ($"current-ip" != $"dns-domain-ip") do={ # Если разные, то отправляем на freedns.afraid.org наш внешний IP с помощью Direct URL :log info ("Service Dynamic DNS: old IP address $"dns-domain-ip" for $"dns-domain" CHANGED to -> $"current-ip"") /tool fetch url=$"direct-url" keep-result=no # Скачиваем файл с новым IP через 5 сек. :delay 5 /tool fetch url=$"api-url" dst-path="/freedns.txt" } else={ # Чтобы не засорять лог можно/нужно закомментировать эту строку. :log info ("IP address is NOT CHANGED, the update is not required") } # Начиная с версии RouterOS version 6.0rc12 поддерживается шифрование /tool fetch mode=https # В :global "direct-url" нужно тоже изменить на https:// # Для версии RouterOS 6.xx # /tool fetch mode=https url=$"direct-url" # http://wiki.mikrotik.com/wiki/Manual:Scripting # http://wiki.mikrotik.com/wiki/Manual:Scripting-examples # http://wiki.mikrotik.com/wiki/Manual:Tools/Fetch # http://forum.ixbt.com/topic.cgi?id=14:60498-86#2373 ##############Script FreeDNS.afraid.org################## Edited September 8, 2014 by leshiy_odessa Вставить ник Quote
alex8031 Posted January 7, 2017 Posted January 7, 2017 Вот сделал скрипт. Самое главное, что он работает когда несколько доменов. Внимательно читаем комментарии. ############## Script FreeDNS.afraid.org ################## ############## PARSER EDITION ################## ############## CREATED LESHIY_ODESSA ################## # Указываем "Direct URL", который находится https://freedns.afraid.org/dynamic/ # Если версия RouterOS 5.xx, то убрать из URL шифрование - "https" поменять на "http". Так же смотри ниже. # Перед знаком "?" поставьте обратный слеш "\". :global "direct-url" "http://freedns.afraid.org/dynamic/update.php\?КVуjН2lzQmQwSkdkвW9atеNкeTdJаXFtOjg7NTО04zE=" # Указываем URL API "ASCII" # Войдите под своим аккаунтом и откройте страницу https://freedns.afraid.org/api/ # Затем скопируйте свой URL - Available API Interfaces : ASCII (!!! НЕ XML !!!) # ВНИМАНИЕ !!!! - Перед вопросительным знаком поставьте обратный слеш "\". # Если версия RouterOS 5.xx, то убрать из URL шифрование - "https" поменять на "http". :global "api-url" "http://freedns.afraid.org/api/\?action=getdyndns&sha=62ebн4404cd46сbe38eа8faк01be7dа101478a58b" # Указываем ваш домен или субдомен. :global "dns-domain" "name.com" # Задаем переменную для внешнего (WAN) интерфейса # при DUAL ACCESS указываем PPPoE (PPTP) интерфейс. Учитываем регистр букв. :global "out-interface" "pppoe" # !!!!!!!!!!!!!!!!! Больше ничего редактировать не нужно !!!!!!!!!!!!!!!!! # Проверяем есть ли файл с IP домена - freedns.txt :if ([:len [/file find name=freedns.txt]] > 0) do={ } else={ /tool fetch url=$"api-url" dst-path="/freedns.txt" } # Узнаем IP адрес домена с помощью API и парсинга. # Парсим файл :local "result" [/file get freedns.txt contents] :local "startloc" ([:find $"result" $"dns-domain"] + ([:len $"dns-domain"] + 1)) :local "endloc" ([:find $"result" $"direct-url" -1] -1) :global "dns-domain-ip" [:pick $"result" $"startloc" $"endloc"] # Узнаем текущий IP адрес на внешнем интерфейсе :global "current-ip" [/ip address get [find interface=$"out-interface"] address] # Из полученного IP адреса исключаем маску подсети :set "current-ip" [:pick $"current-ip" 0 ([:len $"current-ip"]-3) ] # Сравниваем внешний IP с IP адресом DNS домена. :if ($"current-ip" != $"dns-domain-ip") do={ # Если разные, то отправляем на freedns.afraid.org наш внешний IP с помощью Direct URL :log info ("Service Dynamic DNS: old IP address $"dns-domain-ip" for $"dns-domain" CHANGED to -> $"current-ip"") /tool fetch url=$"direct-url" keep-result=no # Скачиваем файл с новым IP через 5 сек. :delay 5 /tool fetch url=$"api-url" dst-path="/freedns.txt" } else={ # Чтобы не засорять лог можно/нужно закомментировать эту строку. :log info ("IP address is NOT CHANGED, the update is not required") } # Начиная с версии RouterOS version 6.0rc12 поддерживается шифрование /tool fetch mode=https # В :global "direct-url" нужно тоже изменить на https:// # Для версии RouterOS 6.xx # /tool fetch mode=https url=$"direct-url" # http://wiki.mikrotik.com/wiki/Manual:Scripting # http://wiki.mikrotik.com/wiki/Manual:Scripting-examples # http://wiki.mikrotik.com/wiki/Manual:Tools/Fetch # http://forum.ixbt.com/topic.cgi?id=14:60498-86#2373 ##############Script FreeDNS.afraid.org################## Доброго времени суток всем!!! тут попытался разобраться с сервисом http://freedns.afraid.org/ так как no-ip.com хоть вроде бы пока как бы и бесплатный но с некоторого времени приходится обновлять свою учетку каждый месяц что не совсем удобно и поэтому решил посмотреть насчёт замены пробовал прикрутить к микротику вышеизложенный скрипт в результате некоторых танцев с бубном http://freedns.afraid.org/ схватил мои послания и всё бы хорошо но как то это разовые и нестабильные случаи и как сказано в описании что должно быть обязательно несколько доменов это критично для работы сервиса?? или только для скрипта?? Может есть ещё какие то идеи на этот счёт И стоит ли связываться с этим сервисом какой у них интервал обновления информации.... в доменной сети И может кто подскажет что нибудь другое что можно прикрутить к мкротику.... За ранее благодарен. Вставить ник Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.