mnogoweb revised this gist 1 year ago. 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 1 year ago. 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 | |