Wiki
Clone wikirt-n56u / RU / Отправка СМС сообщения при смене IP-адреса
Отправка СМС сообщения при смене IP-адреса
Скрипт ниже позволяет автоматизировать выполнение каких-нибудь команд при смене IP-адреса роутера. Для отправки СМС не требуется USB-носитель, скрипт сохраняется во флеш-памяти.
-
Зарегистрируйтесь на sms.ru. Сервис позволяет бесплатно отправлять на телефон, указанный при регистрации до пяти сообщений в сутки. После регистрации вы получите API ID для внешних программ вида
123ab4cd-56e7-fgh8-909i-8j76543kl210
. -
Создайте скрипт
/etc/storage/ddns.sh
со следующим содержимым:#!/bin/sh logger -t $(basename $0) "started [$@]" # WAN action should be up [ ! "x$1" == "xup" ] && exit 0 PREV_IP_FILE=/etc/storage/prev_ip.txt # Prev IP file is not exist [ -e "$PREV_IP_FILE" ] || echo '127.0.0.1' > $PREV_IP_FILE if [ -z "$3" ]; then # This is .99 firmware or older, where post_wan_script.sh has no 3rd parameter IP=$(ifconfig $2 | grep 'inet addr:' | cut -d: -f2 | awk '{ print $1}') else IP=$3 fi if [ "x$(cat $PREV_IP_FILE)" == "x$IP" ]; then logger -t $(basename $0) "ip is not changed." exit 0 fi # User DDNS command should be placed here. Sending SMS is just an example API_KEY=123ab4cd-56e7-fgh8-909i-8j76543kl210 NUM=79050123456 URL=http://sms.ru/sms/send\?api_id=$API_KEY TEXT=Новый+IP+роутера+$IP [ "$(wget -qO - $URL\&to=$NUM\&text=$TEXT | head -n 1)" = "100" ] if [ $? -eq 0 ]; then echo $IP > $PREV_IP_FILE logger -t $(basename $0) "IP update successfull, new address is $IP" else logger -t $(basename $0) "IP update failed!" fi
- Сделайте его исполяемым:
chmod +x /etc/storage/ddns.sh
- В скрипте укажите свой API ID в строке
API_KEY=...
и телефон в строкеNUM=...
. - Перейдите на страницу
Персонализация > Скрипты
и в полеВыполнить после события WAN up/down:
добавьте:Нажмите/etc/storage/ddns.sh $1 $2 $3
Применить
, чтобы настройки вступили в силу.
Updated