Перейти к содержимому
Калькуляторы

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

плиз скрипт бы для микротика для версии 6.10 для DDNS https://freedns.afraid.org/ у кого есть буду благодарен

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

:local ddkey "RUxххххххххххххххххххххххy"

/tool fetch keep-result=no url="http://freedns.afraid.org/dynamic/update.php\?$ddkey"

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Вчера только настраивал!

Надо ещё проверку смены ип делать, чтобы не долбить сервис напрямую слишком часто

: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"; \
}

 

Вот этот скрипт уже можно часто запускать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Вот сделал скрипт. Самое главное, что он работает когда несколько доменов.

Внимательно читаем комментарии.

 

 

##############	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##################

Изменено пользователем leshiy_odessa

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Вот сделал скрипт. Самое главное, что он работает когда несколько доменов.

Внимательно читаем комментарии.

 

 

##############	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/ схватил мои послания и всё бы хорошо но как то это разовые и нестабильные случаи и как сказано в описании что должно быть обязательно несколько доменов это критично для работы сервиса?? или только для скрипта??

Может есть ещё какие то идеи на этот счёт

И стоит ли связываться с этим сервисом какой у них интервал обновления информации.... в доменной сети

И может кто подскажет что нибудь другое что можно прикрутить к мкротику....

За ранее благодарен.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.