Скрипт поиска ip адресов по домену и добавление его в адрес лист

:local LISTNAME "youtube_dns_ips"
:local TARGETS {"youtube.com"; "ytstatic.com"; "youtube-nocookie.com"; "i.ytimg.com"; "youtubeembeddedplayer.googleapis.com"; "jnn-pa.googleapis.com"; "wide-youtube.l.google.com"; "youtu.be"; "googlevideo.com"}

# Проверяем существование адресного списка
:if ([:len [/ip firewall address-list find list=$LISTNAME]] = 0) do={
/ip firewall address-list add list=$LISTNAME address=0.0.0.0 comment="Placeholder entry"
:log info ("Создан адресный список: $LISTNAME")
}

# Функция для выполнения DNS-запроса и добавления IP в адресный список
:foreach target in=$TARGETS do={
:log info ("Запрос DNS для: $target")

# Выполняем DNS-запрос
:local resolvedIP [:resolve $target]

# Проверяем, был ли найден IP-адрес
:if ($resolvedIP != "") do={
# Проверяем, существует ли уже адрес в адресном списке
:if ( [/ip firewall address-list find where list=$LISTNAME and address=$resolvedIP] = "") do={
/ip firewall address-list add address=$resolvedIP list=$LISTNAME comment="Added from DNS query for $target"
:log info ("Добавлен IP-адрес: $resolvedIP из DNS для $target")
} else={
:log info ("IP-адрес: $resolvedIP уже существует в адресном списке $LISTNAME")
}
} else={
:log warning ("Не удалось разрешить адрес для: $target")
}
}

Добавить комментарий