dyndns-curl.sh
· 970 B · Bash
Raw
#!/bin/bash
# !!! Замените параметры ниже !!!
# <API_KEY> - ключ API вашего аккаунта
# <DOMAIN> - доменное имя (например, router.ru)
# <RECORD_NAME> - поддомен в домене <DOMAIN>, либо "@" если нужно обновить IP для <DOMAIN>
API_SERVER=api.mnogoweb.com/v1/dns/dyndns
API_KEY=<API_KEY>
DOMAIN=<DOMAIN>
RECORD_NAME=<RECORD_NAME>
UPDATE=false
NEW_IP =$(dig -4 TXT +short o-o.myaddr.l.google.com @ns1.google.com)
IP_FILE=current_ip.txt
echo "Current IP address: $NEW_IP"
if [ ! -f $IP_FILE ] ; then
UPDATE=true
else
OLD_IP=$(cat $IP_FILE)
if [ "$OLD_IP" != "$NEW_IP" ] ; then
UPDATE=true;
fi
fi
if [ $UPDATE == "false" ] ; then
echo "IP address update is not needed"
exit
fi
echo $NEW_IP > $IP_FILE
echo "IP address changed, update is needed"
curl -D - --header "Autorization: Bearer $API_KEY" https://$API_SERVER?domain=$DOMAIN&name=$RECORD_NAME
| 1 | #!/bin/bash |
| 2 | |
| 3 | # !!! Замените параметры ниже !!! |
| 4 | # <API_KEY> - ключ API вашего аккаунта |
| 5 | # <DOMAIN> - доменное имя (например, router.ru) |
| 6 | # <RECORD_NAME> - поддомен в домене <DOMAIN>, либо "@" если нужно обновить IP для <DOMAIN> |
| 7 | |
| 8 | API_SERVER=api.mnogoweb.com/v1/dns/dyndns |
| 9 | API_KEY=<API_KEY> |
| 10 | DOMAIN=<DOMAIN> |
| 11 | RECORD_NAME=<RECORD_NAME> |
| 12 | |
| 13 | UPDATE=false |
| 14 | NEW_IP =$(dig -4 TXT +short o-o.myaddr.l.google.com @ns1.google.com) |
| 15 | IP_FILE=current_ip.txt |
| 16 | |
| 17 | echo "Current IP address: $NEW_IP" |
| 18 | if [ ! -f $IP_FILE ] ; then |
| 19 | UPDATE=true |
| 20 | else |
| 21 | OLD_IP=$(cat $IP_FILE) |
| 22 | if [ "$OLD_IP" != "$NEW_IP" ] ; then |
| 23 | UPDATE=true; |
| 24 | fi |
| 25 | fi |
| 26 | |
| 27 | if [ $UPDATE == "false" ] ; then |
| 28 | echo "IP address update is not needed" |
| 29 | exit |
| 30 | fi |
| 31 | |
| 32 | echo $NEW_IP > $IP_FILE |
| 33 | echo "IP address changed, update is needed" |
| 34 | curl -D - --header "Autorization: Bearer $API_KEY" https://$API_SERVER?domain=$DOMAIN&name=$RECORD_NAME |