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

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

Ссылка на пост #1 Добавлено: 4 апреля 2022 23:55
Автор темы
ivan
Администраторы
Азъ: библиАтекарь
Возраст: 41 Водолей
Пол:
С нами: 16 лет 6 месяцев
Сообщений: 10657
Поблагодарил: 7258
Благодарностей: 27440
Предупреждений: 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 236

Футбол

Італія. Серія А, 24 тур
11 лютого 2024
13:30 Фіорентина Фіорентина  3:0  ФрозінонеФрозіноне
Франція. Ліга 1, 21 тур
11 лютого 2024
14:00 Гавр Гавр  -:-  РеннРенн
Товариські матчі, Матчі клубів УПЛ (зима)
11 лютого 2024
14:00 Сігма Сігма  -:-  ВересВерес
14:30 Лонгбю Лонгбю -:- ОлександріяОлександрія
Іспанія. Ла Ліга, 24 тур
11 лютого 2024
15:00 Хетафе Хетафе -:- СельтаСельта
Франція. Ліга 1, 21 тур
11 лютого 2024
16:00 Клермон Клермон -:- БрестБрест
16:00 Лорьян Лорьян -:- РеймсРеймс
16:00 Тулуза Тулуза -:- НантНант
Італія. Серія А, 24 тур
11 лютого 2024
16:00 Болонья Болонья -:- ЛеччеЛечче
16:00 Монца Монца -:- ВеронаВерона
Англія. Прем'єр-ліга, 24-й тур
11 лютого 2024
16:00 Вест Гем Вест Гем -:- АрсеналАрсенал
Товариські матчі, Матчі клубів УПЛ (зима)
11 лютого 2024
16:00 Динамо Батумі Динамо Батумі -:- КолосКолос
Німеччина. Бундесліга, 21 тур
11 лютого 2024
16:30 Штутгарт Штутгарт -:- МайнцМайнц
Іспанія. Ла Ліга, 24 тур
11 лютого 2024
17:15 Мальорка Мальорка -:- Райо ВальєканоРайо Вальєкано
Франція. Ліга 1, 21 тур
11 лютого 2024
18:05 Монпельє Монпельє -:- ЛіонЛіон
Німеччина. Бундесліга, 21 тур
11 лютого 2024
18:30 Гоффенгайм Гоффенгайм -:- КельнКельн
Англія. Прем'єр-ліга, 24-й тур
11 лютого 2024
18:30 Астон Вілла Астон Вілла -:- Манчестер ЮнайтедМанчестер Юнайтед
Італія. Серія А, 24 тур
11 лютого 2024
19:00 Дженоа Дженоа -:- АталантаАталанта
Іспанія. Ла Ліга, 24 тур
11 лютого 2024
19:30 Севілья Севілья -:- АтлетікоАтлетіко
Італія. Серія А, 24 тур
11 лютого 2024
21:45 Мілан Мілан -:- НаполіНаполі
Франція. Ліга 1, 21 тур
11 лютого 2024
21:45 Ніцца Ніцца -:- МонакоМонако
Іспанія. Ла Ліга, 24 тур
11 лютого 2024
22:30 Барселона Барселона -:- ГранадаГранада

Обновлено: 14:20 11.02.2024

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

memcached отключен Вся телепрограмма

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

Мы в Facebook

Голосование

Чего не хватает на сайте?

Обзоров ресиверов
Списка каналов на спутниках
Нормального каталога установщиков
Модераторов
Новых тем
Раздач и конкурсов
Интересных новостей
Всего хватает wink

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

Sat-integral club

Платная шара

Цитата: SSK5230 от Сегодня в 16:37:35Отклонюсь от темы. По Киевстару- тоже поднимали абонплату за ...

Платная шара

Цитата: SSK5230 от Сегодня в 16:37:35Отклонюсь от темы. По Киевстару- тоже поднимали абонплату за ...

Платная шара

Цитата: Pavel01 от Сегодня в 16:23:24 Именно об таком пакете я и писал. Даже сейчас когда у меня ...

Платная шара

Цитата: Pavel01 от Сегодня в 16:23:24...у Киевстара....     Прошу пардонну, занесло. Но ...

Платная шара

Цитата: SSK5230 от Сегодня в 12:13:21 По поводу киевстара  и его пакетов. 5 лет назад ...

webhook telegram Read timeout expired

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