Сейчас просматривают тему: 0 -> --, и гостей: 1

Доменное имя и динамический ip на Mikrotik сервис Cloudflare api v4

Ссылка на пост #1 Добавлено: 4 апреля 2022 23:55
Автор темы
Макс
Администраторы
Азъ: библиАтекарь
Возраст: 41 Водолей
Пол:
С нами: 16 лет 5 месяцев
Сообщений: 10607
Поблагодарил: 7252
Благодарностей: 27416
Предупреждений: 0

Награды:

       

Это обновлённый скрипт для обновления динамического ip на сервисе Cloudflare. Прошлую версию можно посмотреть тут

Суть обновления в том, что сервис Cloudflare начал требовать в новой версии API авторизацию через заголовки.

На ранних версиях ROS, нельзя было их передавать вовсе. После баталий на форуме прикрутили возможность отправлять один заголовок, но нам нужно минимум 3. На версии RouterOS 7.1 доступна возможность отправлять несколько заголовков одновременно.

Для начала нам нужно воспользоваться любой линуксовой машиной с териминалом, чтобы получить необходимые записи.

Нам нужен Global API Key, получить его можно тут

После чего, в терминале выполняем запрос к API

Код:[Выделить]
curl -X GET "https://api.cloudflare.com/client/v4/zones?name=hd.zp.ua" -H "X-Auth-Email: ваша почта" -H "X-Auth-Key: ваш apikey" -H "Content-Type: application/json" Вы получите ответ, где нужно найти ваш «id«:»824d6c45707d99340fa03b0a04ea9664»


Далее, подставляем наш id в следующий запрос и получаем записи зоны

Код:[Выделить]
curl -X GET "https://api.cloudflare.com/client/v4/zones/824d6c45707d99340fa03b0a04ea9664/dns_records?typ
e=A&page=1&per_page=100&order=type&direction=desc&match=all&
#34; \ -H "X-Auth-Email: ваша почта" \ -H "X-Auth-Key: Global API Key" \ -H "Content-Type: application/json"


Дальше вы получаете ответ с вашими записями зоны

Код:[Выделить]
{"result":[{"id":"40f946775d6c698deb627v16c0d337a4",&#
34;zone_id":"824d6c45707d99340fa03b0a04ea9664","zone_name":"hd.zp.ua
","name":"субдомен.hd.zp.ua","type":"A",


Тут нам нужен id и zone_id

Теперь сам скрипт:

Код:[Выделить]
######## Set and collect general variables ######### :global hostname "субдомен.hd.zp.ua" :global email "почта" :global resolvedIP "" :global externalIP "" :global WANInterface "ISP2" :global currentIP "" ######## Set CloudFlare variables ################# :local CFapikey "Global API Key" :local CFzones "824d6c45707d99340fa03b0a04ea9664" :local CFtdnsrecords "40f946775d6c698deb627v16c0d337a4" :local CFDebug "false" ######## Resolve and set IP-variables ########## /ip DNS cache flush :set currentIP [/ip address get [/ip address find interface=$WANInterface ] address]; :set externalIP [:pick $currentIP 0 [:find $currentIP "/"]]; :set resolvedIP [:resolve $hostname]; ######## Write debug info to log ################# :if ($CFDebug = "true") do={ :log info ("CF:hostname= $hostname resolvedIP= $resolvedIP externalIP= $externalIP") }; ######## Compare and update CF if necessary ##### :if ($resolvedIP != $externalIP) do={ :log info ("CF: Updating CF, setting $CFDomain = $externalIP") /tool fetch http-method=put url="https://api.cloudflare.com/client/v4/zones/$CFzones/dns_records/$CFtdnsrecords" http-header-field="X-Auth-Email:$email,X-Auth-Key:$CFapikey,Content-Type:application
/json" http-data="{\"type\":\"A\",\"name\":\&
#34;$hostname\",\"content\":\"$externalIP\",\"ttl\&
#34;:120,\"proxied\":false}" keep-result=no /ip DNS cache flush } else={ ###:log info "CF: No Update Needed!" }


Если сделали всё правильно, ставите скрипт в планировщик или дёргаете руками.
maxya Тётя шура тут
«Все постоянно твердят об авторских правах, но никогда - об авторских обязанностях.» © Жан-Люк Годар

Мой телевизор: Samsung LE-32C550J1WXUA, Samsung UE55D6100, Samsung UE65°ES8007

Мой ресивер: Sat-Integral S-1248 HD Heavy Metal, Vu+ Ultimo 4K

Мои спутники: 4°W+4.8°E+9°E+13°E+36°E+75°E+85°E+90°E

Информация

Посетители, находящиеся в группе Гости, не могут оставлять сообщения в данной теме.

    XML error in File: https://www.tricolor.tv/rss/

    XML error: error parsing attribute name at line 533

Футбол

Італія. Серія А, 32 тур
25 квітня 2024
21:00 Удінезе Удінезе 1:1 РомаРома
Англія. Прем'єр-ліга, 29-й тур
25 квітня 2024
22:00 Брайтон Брайтон -:- Манчестер СітіМанчестер Сіті

Обновлено: 15:50 25.04.2024

Телепрограмма

СТБ
15:15 - "Слепая". Чужая вещь.
15:50 - "Слепая". Проклятие взаймы.
16:10 - "Слепая". Всегда рядом.
16:35 - "Слепая". Счастье без очереди.
Sport 1
15:20 - Хоккей. Чемпионат Чехии. Экстралига. Финал. Пардубице - Тршинец. Матч 5.
17:30 - Гандбол. Чемпионат Германии. Бундеслига. Фленсбург-Хандевитт - Магдебург.
18:30 - Автоспорт. Ралли-рейд. Чемпионат мира. Обзор первой половины сезона.
19:00 - Arsenal TV. Футбол. Чемпионат Англии. Премьер-лига. Арсенал - Челси.
ICTV
15:00 - "Единые новости". Телемарафон.
16:00 - "Единые новости". Телемарафон.
17:00 - "Единые новости". Телемарафон.
18:00 - "Единые новости". Телемарафон.
Кинопремьера
13:45 - Х/ф "В ожидании Дали".
15:45 - Х/ф "Повелитель ветра".
17:25 - Х/ф "Миллионер на три дня".
18:55 - Х/ф "Взломщик".
Вся телепрограмма

Мы в Вконтакте

Мы в Facebook

Голосование

Пользуетесь ли вы кардшарингом?

да!
нет!
хотел бы!
а что это?
смотрю только официально

Случайное фото

Sat-integral club

Re: ПО Sat-Integral S-1218-28HD / S-1248-58-68HD / S-1311 HD COMBO v3.42

Цитата: CFM1994 от Вчера в 21:20:08Прошил 1228 прошивкой 3.42, периодически Рес перезагружается,до ...

Re: ПО Sat-Integral S-1218-28HD / S-1248-58-68HD / S-1311 HD COMBO v3.42

Прошил 1228 прошивкой 3.42, периодически Рес перезагружается,до этого была прошивка 3.40 такого не ...

Re: Вопросы новичков

Цитата: sergeyss9 от 23 апреля 2024, 21:46:51Тупо зомбоящик ... є версія з смартом і безнаписано ...

Re: Безкоштовний плейлист IPTV

Плейлист Фильмотека2, тут 660 фильмов. Скачать плейлист Фильмотека2. ...

PHP: mail() через внешние SMTP msmtp

Ситуация следующая. ...

webhook telegram Read timeout expired

Вы выполняете ...