the, с python 2.x не заработает точно, обновляйтесь.
Друзья, у меня питон не самый модный, и обновляться не хотелось бы
Эти скрипты из архива sms.zip (9.1 Кбайт, 128 просмотров) с первого поста требуют доработки для работы с Python 2.6.* или должны работать сразу?PHP Code:
$ python
Python 2.6.5 (r265:79063, Mar 21 2010, 03:24:08)
[GCC 4.1.1] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>
$
Мне сразу же выдает ошибку
PHP Code:
$ python send.py 79039690062 test 1 2 3
Traceback (most recent call last):
File "send.py", line 4, in <module>
import sender
File "/opt/etc/sendsms/sender.py", line 14
SyntaxError: Non-ASCII character '\xd1' in file /opt/etc/sendsms/sender.py on line 14, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details
$
Last edited by the; 02-09-2010 at 11:50.
wl-500gp v2 + tor + polipo + барахло всякое на python
the, с python 2.x не заработает точно, обновляйтесь.
Last edited by xz_kostyan; 03-09-2010 at 00:42.
wl-500gP v1 (128 MB) + 1.9.2.7-rtn-3300
а у меня через этот скрипт приходят sms вида....
sms_mel@mail.ru [1]message
хотя команду даю вот такую!!!!
/var/www/sms/send.py 7915******* message
как быть с этим?
Может не стоит паниковать? Скрипт просто бъет смс на части и нумерует их, если их больше 2-х.
wl-500gP v1 (128 MB) + 1.9.2.7-rtn-3300
Пытаюсь "подключить" отсылку смс к mcabber из это темы но что-то не срастается.
Там есть скрипт, который вызывается при приходе сообщения.
При вызове из консоли, тот скрипт отрабатывается и отправляет смс, а вот из mcabber'а не хочет. На данный момент у меня это выглядит так:
/opt/etc/.mcabber/router2sms/send.shCode:#! /bin/sh PATH=/opt/sbin:/opt/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin LANG='ru_RU.UTF-8' MCABBERFIFO=/opt/etc/.mcabber/mcabber.fifo MCABBERRESULT=/opt/etc/.mcabber/result event=$1 arg1=$2 arg2=$3 filename=$4 ... var=`/bin/cat $filename` smsnumber=`echo "$var" | cut -f2 -d" "`; smstext=`echo "$var" | cut -f3- -d" "`; #echo "/say_to $arg2 !sms $smsnumber : $smstext" > $MCABBERFIFO; # /opt/etc/sms-python/send.py $smsnumber $smstext > $MCABBERRESULT 2>&1 /opt/etc/.mcabber/router2sms/send.sh $smsnumber $smstext > $MCABBERRESULT 2>&1 echo "/say_to -n -f $MCABBERRESULT $arg2" > $MCABBERFIFO ...
в общем получаю в ответ:Code:#!/bin/sh /opt/etc/sms-python/send.py $1 $2
Подскажите, в чем может быть проблема?Code:Fatal Python error: Py_Initialize: can't initialize sys standard streams OSError: [Errno 9] Bad file descriptor Aborted
[ASUS wl-500gP (v1) 1.9.2.7-rtn-r7438M 128Mb 300MHz 2+2usb] + [2Гб USBFlash] + [USB-HDD] + [xinetd] + [samba3] + [Download Engine] + [rTorrent] + [3proxy] + [nShaper] + [mcabber] + [apcupsd] + [mpd]; Было: [openvpn&udhcpc]; [privoxy] + [polipo];
igor77777, дело, скорее всего, в перенаправлении потоков ввода-вывода. Тут народ тоже сталкивался с такой проблемой, но у вас в скрипте вроде бы все "чисто". Может mcabber перенаправляет что-нибудь.
wl-500gP v1 (128 MB) + 1.9.2.7-rtn-3300
Тоже нашёл упоминание проблемы с перенаправлением стандартных потоков, но предлагаемые там рецепты мне не помогли или я их не правильно применял. У меня знаний не достаточно, чтобы понять нюансы.
[ASUS wl-500gP (v1) 1.9.2.7-rtn-r7438M 128Mb 300MHz 2+2usb] + [2Гб USBFlash] + [USB-HDD] + [xinetd] + [samba3] + [Download Engine] + [rTorrent] + [3proxy] + [nShaper] + [mcabber] + [apcupsd] + [mpd]; Было: [openvpn&udhcpc]; [privoxy] + [polipo];
Хочу поделиться реализацией оповещения по смс о загрузке и подключению роутера к провайдеру.
Это один из этапов реализации оповещения о переходе на питание от батареи при потери напряжения в сети, возврате напряжения в сети, выключению при разряде батареи и наконец о загрузке роутера.
Задачи оповещать о смене IP не было, но если это нужно, любой может адаптировать это скриптик под себя. Он достаточно примитивен.
Реализация оповещения о потере напряжения и т.п. - примитивна, поэтому это расписывать не буду. apcupsd может вызывать соответствующие скрипты при подобных событиях. В этих скриптах достаточно вписать вызов send.py с нужными параметрами и вуаля.
Что касается загрузки, то тут немного сложнее. Для того чтобы оправить смс о загрузке должно произойти 2 события. Должен примонтироваться диск с /opt и роутер должен подключить к провайдеру. Причём эти два события, в общем случае - не взаимосвязаны.
Для этого был написан скриптик, который проверяет наличие файла-флага, информирующего о том, что роутер только что загрузился, файла send.py и наличие ip на интерфейсе который смотрит в интернет.
Вот скрипт (/opt/etc/ig-scripts/sms_load_and_connect.sh) :
выделенное красным нужно поменять под себя.Code:#!/bin/sh # проверяем на поднятие нужный интерфейс, и если мы только-что загрузились - сообщаем об этом по смс if [ -e /opt/etc/sms-python/send.py ] && [ -e /var/lock/RouterLoaded ] then HOSTNAME=`hostname` IFFORSMS=ppp0 IPFORSMS=`ifconfig $IFFORSMS|grep inet|awk '{print $2}'|sed s/^.....//` test_ip () { echo $1 | awk -F "." '{if ( NF != 4 ) exit 1; else if ( $1 > 0 && $1 < 255 && $2 >=0 && $2 < 255 && $3 >=0 && $3 < 255 && $4 > 0 && $4 < 255 ) exit 0; else exit 1}' } test_ip $IPFORSMS ISIP=$? if [ $IPFORSMS != "0.0.0.0" ] && [ $ISIP -eq 0 ] then /bin/rm /var/lock/RouterLoaded /opt/etc/sms-python/send.py номер_телефона "$HOSTNAME Router loaded and connected to ISP at `date +%Y-%m-%d_%H:%M:%S`!!!" fi fi exit 0
ppp0 - интерфейс, через который ходит интернет
номер_телефона - номер телефона, того счастливчика, которого вы хотите радовать загрузкой своего роутера ;-)
/opt/etc/sms-python/ - путь к файлу send.py. У меня такой, у Вас может быть другой.
в post-mount добавляем создание файла-флага и попытку отправить смс. У меня это выглядит примерно так:
/opt/etc/ig-scripts/ - у меня мой скрипт лежит тут, если у себя положите в другое место, то не забываем исправить путь к нему.Code:. . . . . #создаем файл-флаг сигнал о том, что произошла загрузка echo "Router loaded!!!" > /var/lock/RouterLoaded /opt/etc/init.d/rc.unslung start # сообщаем по смс, что загрузились и подключились [ -e /opt/etc/ig-scripts/sms_load_and_connect.sh ] && /opt/etc/ig-scripts/sms_load_and_connect.sh
В post-firewall добавляем только попытку оправить смс.
/opt/etc/ig-scripts/ - в post-firewall тоже меняем путь, если нужно.Code:. . . . # сообщаем по смс, что загрузились и подключились [ -e /opt/etc/ig-scripts/sms_load_and_connect.sh ] && /opt/etc/ig-scripts/sms_load_and_connect.sh
Не забываем сделать sms_load_and_connect.sh исполняемым, а так же flashfs save && flashfs commit && flashfs enable && reboot - для сохранения изменений в post-mount и post-firewall.
Вроде ВСЕ! :-)
[ASUS wl-500gP (v1) 1.9.2.7-rtn-r7438M 128Mb 300MHz 2+2usb] + [2Гб USBFlash] + [USB-HDD] + [xinetd] + [samba3] + [Download Engine] + [rTorrent] + [3proxy] + [nShaper] + [mcabber] + [apcupsd] + [mpd]; Было: [openvpn&udhcpc]; [privoxy] + [polipo];
А можно как-то с помощью send.py отправлять сообщения при загрузке торрента? Я делаю так:
При окончании скачивания rtorrent пишетCode:system.method.set_key=event.download.finished,notify_me,"execute=/opt/etc/sms_py/sendtime.py,9,23,7929xxxxx,Торрент , $d.get_name=, загружен"То есть send.py возвращает или не возвращает какой-то код, что не нравится rtorrent.Download event action failed: Bad return code.
Через командную строку работает.
P.S. не могу использовать send.php так как он не отправляет (почему-то) смс-ки на мегафоновский 929. Send.py работает стабильней.
P.P.S. Вроде разобрался с неотправкой, надо было дать права доступа на sms.log
Last edited by LazyRaven; 07-10-2010 at 14:02.
вопрос касательно торрентов актуален
такая же ошибка
при попытке отправки стал писать
Sms send error: sms limit exceeded at all emails.
забито 2 учетных записи.
при это qip через mail.ru протокол с этих учетных записей sms отправляет
Приветствую всех!
Вроде бы настроил всё по инструкции, но не пускает меня на сайт мой не снаружи не изнутри через разные браузеры (Mozilla 3.6.21, Explorer 8, google chrom). Захожу на сайт https://192.168.1.1:8081/sms вылетает сообщение о не подписанном сертификате примнимаю дальше логин ввожу и опять табличка с запросом логина и пароля. Где ошибка понять не могу, смски сам роутер отправляет и из post-mount и из консоли.
Да всё работает, но вот почему не пашет с авторизацией?
Last edited by Warcan; 16-11-2010 at 17:14.