Last active 1731069483

Скрипт для обновления публичного IP-адреса в DNS-хостинге Mnogoweb в Linux с помощью Curl

mnogoweb revised this gist 1731069483. Go to revision

1 file changed, 5 insertions

dyndns-curl.sh

@@ -1,5 +1,10 @@
1 1 #!/bin/bash
2 2
3 + # !!! Замените параметры ниже !!!
4 + # <API_KEY> - ключ API вашего аккаунта
5 + # <DOMAIN> - доменное имя (например, router.ru)
6 + # <RECORD_NAME> - поддомен в домене <DOMAIN>, либо "@" если нужно обновить IP для <DOMAIN>
7 +
3 8 API_SERVER=api.mnogoweb.com/v1/dns/dyndns
4 9 API_KEY=<API_KEY>
5 10 DOMAIN=<DOMAIN>

mnogoweb revised this gist 1731069438. Go to revision

1 file changed, 29 insertions

dyndns-curl.sh(file created)

@@ -0,0 +1,29 @@
1 + #!/bin/bash
2 +
3 + API_SERVER=api.mnogoweb.com/v1/dns/dyndns
4 + API_KEY=<API_KEY>
5 + DOMAIN=<DOMAIN>
6 + RECORD_NAME=<RECORD_NAME>
7 +
8 + UPDATE=false
9 + NEW_IP =$(dig -4 TXT +short o-o.myaddr.l.google.com @ns1.google.com)
10 + IP_FILE=current_ip.txt
11 +
12 + echo "Current IP address: $NEW_IP"
13 + if [ ! -f $IP_FILE ] ; then
14 + UPDATE=true
15 + else
16 + OLD_IP=$(cat $IP_FILE)
17 + if [ "$OLD_IP" != "$NEW_IP" ] ; then
18 + UPDATE=true;
19 + fi
20 + fi
21 +
22 + if [ $UPDATE == "false" ] ; then
23 + echo "IP address update is not needed"
24 + exit
25 + fi
26 +
27 + echo $NEW_IP > $IP_FILE
28 + echo "IP address changed, update is needed"
29 + curl -D - --header "Autorization: Bearer $API_KEY" https://$API_SERVER?domain=$DOMAIN&name=$RECORD_NAME
Newer Older