Скрипт для FreeDNS.afraid.org

Здесь выкладываем скрипты
Правила форума
Уважаемые Пользователи форума, обратите внимание!
Ни при каких обстоятельствах, Администрация форума, не несёт ответственности за какой-либо, прямой или косвенный, ущерб причиненный в результате использования материалов, взятых на этом Сайте или на любом другом сайте, на который имеется гиперссылка с данного Сайта. Возникновение неисправностей, потерю программ или данных в Ваших устройствах, даже если Администрация будет явно поставлена в известность о возможности такого ущерба.
Просим Вас быть предельно осторожными и внимательными, в использовании материалов раздела. Учитывать не только Ваши пожелания, но и границы возможностей вашего оборудования.
Ответить
Аватара пользователя
LESHIY_ODESSA
Сообщения: 2
Зарегистрирован: 14 фев 2015, 17:14

Ключевая особенность и отличие от других версий скриптов для этого сервиса в том, что скрипт работает если у вас несколько субдоменнов.

Ни разу не программист и даже хуже. Максимум ковырял cmd и bat файлы. Возможны какие то огрехи, но скрипт рабочий, использую пол года.
С удовольствием выслушаю замечания и предложения.

Код: Выделить всё

##############   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\?3535345345bEtWMXF3S1J3Ojg2NTI0NzE="
 
# Указываем 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=4ftdfgdg53fr2a23faff18a9d1abf38b"
 
# Указываем ваш домен или субдомен.
:global "dns-domain" "ВАШ ДОМЕН"
 
# Задаем переменную для внешнего интерфейса
# при 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
 
##############Script FreeDNS.afraid.org##################



Аватара пользователя
podarok66
Модератор
Сообщения: 4355
Зарегистрирован: 11 фев 2012, 18:49
Откуда: МО

Спасибо, очень хорошо расписано))


Мануалы изучил и нигде не ошибся? Фаервол отключил? Очереди погасил? Витая пара проверена? ... Тогда Netinstal'ом железку прошей и настрой ее заново. Что, все равно не фурычит? Тогда к нам. Если не подскажем, хоть посочувствуем...
gmx
Модератор
Сообщения: 3290
Зарегистрирован: 01 окт 2012, 14:48

Теперь, когда есть IP cloud, а также возможность указать для
регистрации локальный IP (если за НАТом провайдера), то необходимость в левых
DynDNS отпала. И слава Богу!


Ответить