Например, если упало соединение. Или кто-то вошел в админку
Thanks Markiz
Питоноводам стоит почитать тему Router2sms python
######## ОПИСАНИЕ ########
Основной функционал:
-отправка смс на любой номер, даже не из списка контактов (он автоматически добавляется в группу "телефонные контакты")
-перебор любого количества e-mail чтобы обойти ограничения по времени отправки
-отправка смс на русском (utf8)
-интерфейс командной строки, при желании могу сделать веб обертку, хотя в этом ничего сложного.
Дополнительно:
-задержка отправки смс по времени (чтобы роутер вас не будил, ночные смс можно скопом перенаправить на утро)
######## УСТАНОВКА########
Инструкция основная:
1. Вам понадобится роутер, с установленным php
2. Разархивируете (можно под windows) прилагающийся архив smssender.zip
3. Создаете на роутере папку /opt/etc/sendsms/
4. Закидываете файлы из архива в эту папку
5. Пишете6. Открываете send.php НА ЛИНУКСЕ. РЕДАКТИРОВАТЬ ПОД WINDOWS нельзя. Для редактирования подойдет mc. Редактировать кнопка F4, либо Esc 4Code:chmod +x /opt/etc/sendsms/send.php chmod +x /opt/etc/sendsms/pro.mrim.proxy.class.php chmod 666 /opt/etc/sendsms/login.txt chmod 666 /opt/etc/sendsms/smsqueue
7. Находите вот такое место:
8. Исправляете на свой логин и пароль.PHP Code:
$login[0]="login@mail.ru";
$pass[0]="pass";
9. При желании добавляете
И пишете другой логин и пароль, и так хоть до бесконечности. Перебираются по очереди.PHP Code:
$login[1]="login@mail.ru";
$pass[1]="pass";
10. Пользуетесь:Естественно заменив номер на нужный вам (можно не только 916) и текст на ваш.PHP Code:
/opt/etc/sendsms/send.php 7916111111 ваше сообщение
11. Если понравилось говорите спасибо в этой теме и главное здесь
Пояснение: Если вы ставите скрипт не в /opt/etc/sendsms/ то в файле send.php нужно изменить переменную $base_dir. Не потеряйте последний слэш!
Инструкция дополнительная:
Выполните эти действия если хотите иметь возможность отправлять смски с задержкой
0. Установите (если нужно) cron описание здесь: http://www.macsat.com/cron.php
1. выполните "основную инструкцию"
2. скачайте архив smscron.zip
3. файл sendtime.php положите в /opt/etc/sendsms/
4. файл smscron.php положите в /opt/etc/cron.hourly/
5. Выполните команды:
6. Пользуйтесь:Code:touch /opt/etc/sendsms/smsqueue chmod +666 /opt/etc/sendsms/smsqueue chmod +x /opt/etc/sendsms/sendtime.php chmod +x /opt/etc/cron.hourly/smscron.php
Первая цифра "утренний" час. Время когда вы просыпаетесь. Вторая "вечерний" когда засыпаете. Смска прийдет в промежуток между ними. Внимание, если "вечерний" час у вас больше 00 часов, то всеравно указывать нужноPHP Code:
/opt/etc/smssend/sendtime.php 9 23 79161111111 текст вашего сообщения
Первым когда встаете. Вторым когда ложитесь. Если время как-раз в этом промежутке, то смска отправится сразу, если нет, то ляжет в буфер, и отправится потом, по крону.PHP Code:
/opt/etc/smssend/sendtime.php 8 02 79161111111 текст вашего сообщения
Пояснение: Если вы ставите скрипт не в /opt/etc/sendsms/ то в файлах sendtime.php и smscron.php нужно изменить переменную $base_dir. Не потеряйте последний слэш!
######## ПРИМЕРЫ ИСПОЛЬЗОВАНИЯ########
Примеры использования.
1. Уведомление о загрузке роутера
в /usr/local/sbin/post-mount (в конец после запуска всех программ) дописать
Code:sleep 15s /opt/etc/sendsms/send.php 79161111111 Роутер загружен
2. Уведомление о закачке торрента
в /opt/etc/rtorrent.conf дописать
3. Чтобы торрент, докачавший ночью, вас не разбудил, воспользуйтесь дополниельной инструкцией и вместо пункта два используйтеCode:#sms on finish conf on_finished=send_finish_sms,"execute = /opt/etc/sendsms/send.php,79161111111,Торрент,$d.get_name,закачался"
в /opt/etc/rtorrent.conf дописать
4. Инструкцию, как сделать уведомление о закачке торрента на трансмишен написал Сhemist. Она ЗДЕСЬ.Code:#sms on finish conf on_finished=send_finish_sms,"execute = /opt/etc/sendsms/sendtime.php,9,23,79161111111,Торрент,$d.get_name,закачался"
5. Инструкцию, как сделать уведомление о закачке файлов aMule написал также Сhemist. Она ЗДЕСЬ.
######## ПОЯСНЕНИЯ########
P.S. Уважаемый Eugen, после того как прочитал эту ветку и мой лог ошибок внес необходимые исправления в класс и проконсультировал меня. Так что все уже ок, ниодного нотиса.
P.P.S По поводу использования php. Путей переписывания send.php на shell я не вижу. smscron.php я изначально писал на shell но уперся в невозможность использовать массивы (по крайней мере я не нашел как, я недавно в linux). Единственный путь, который вижу я ипспользовать дополнительный текстовый файл в качестве временного хранилища. Возможно в ближайшее время попробую этот вариант. sendtime.php вполне можно написать на shell. Писал его последним и написал на php для общности.
P.P.P.S Опытным путем установлено, что ИЕ бьет архив при скачке. Используейте оперу, или специальные качалки. Либо рапида.
http://rapidshare.com/files/18993136...nder_0.1a_.zip
http://rapidshare.com/files/189931739/smscron_0.1a_.zip
Инструкция версии 1.2 от 12.02.09
Last edited by oleg.maiorov; 22-05-2010 at 13:47.
Например, если упало соединение. Или кто-то вошел в админку
Ну когда соединение упало инет тоже исчез. Надо тогда какой-нибудь резервный канал поднимать
Еще можно слать sms, если какой-нибудь торрент скачался. Для этого правим (или добавляем) в конфиг rtorrent секцию
Будет время, попробую это реализовать и отписатьсяCode:on_finished = id,command
Last edited by oleg.maiorov; 16-12-2008 at 15:21.
Итак, продолжаем копать новый сервис
Подготовительные действия - создал аккаунт на Mail.RU. Скачал Mail.RU Агент, подсоединился новым аккаунтом. Добавил ему же в контакты созданный аккаунт и указал новому контакту в поле Phone телефон, куда будем слать сообщения. Все это можно делать и через функции нашей библиотеки, но я пока не разбирался как. Номер в контакт нужно занести, т.к. замечено что без него смс-ки не отправляются.
Надеюсь, PHP у всех в коробочке стоит?
Я создал новый каталог /opt/etc/sendsms и положил в него наш класс, который вы сможете найти по ссылке из первого поста или скачать из приаттаченного архива.
Также там же создал новый php-файл (я назвал его sendsms.php) следующего содержания:
Если вы ходите в интернет через прокси, правьте строчкуPHP Code:
#!/opt/bin/php
<?php
include_once("pro.mrim.class.php");
$mra = new mra;
$mra->connect() or die("connection error");
// тут указываете свое мыло на Mail.RU и пароль на него
$mra->login("мыло@mail.ru","пароль") or die("login error");
sleep(1);
$mra->ping();
$mra->set_status("online"); // online, away, invisible
$time = time();
if($mra->is_connected()) {
if(time() >= $time + $mra->ping_time) {
$mra->ping();
$time = time();
}
$packet = $mra->receive_packet();
$mra->is_new_ping($packet);
// тут указываем номер телефона, куда будет уходить смс-ка
$mra->sms("+79031234567", $argv[1]);
}
?>
$mra->connect(), там будет что-то вида $mra->connect("хост_прокси", "порт_прокси", "логин_на_прокси", "пароль_на_прокси", "http или socks4 или socks5" )
Делаем файл исполняемым:
Теперь мы можем исполнить командуCode:chmod +x /opt/etc/sendsms/sendsms.php
и сообщение отправится адресату. Не забываем, что максимальная длина сообщения - 160 символов латиницей.Code:/opt/etc/sendsms/sendsms.php "Router is power on"
Я, например, пока что повесил ЭТО безоразие в файле /usr/local/sbin/post-mount и теперь при каждом включении/ребуте роутера мне приходит смс-ка. Кстати, это оказалось удобно когда работаешь с коробочкой удаленно. Как бы команда когда уже можно на него ломиться), а также работает как просьба роутера проверить, все ли корректно поднялось после очередного отключения электричества (у меня иногда диск не подмонтируется).
В перспективе - завести пяток аккаунтов, добавлять их в контакты программно, работать через базу SQLite, обновляя информацию об этих аккаунтах, о том какие смс-ки на какие номера уходят... . На данный момент всё)
Last edited by oleg.maiorov; 17-12-2008 at 06:53.
Загадка: пять ноутов, два медиаплеера, посредине роутер.
Отгадка: ɐdиɯdɐʚʞ ʁоw
[offtop]
"Месье знает толк в извращениях." :-)
Каких только приенений не придумают софту.
Хых) Ну я ж не предлагаю спам-бота создавать
Тут некоторые пытаются воткнуть в него веб-камеру. Тоже отличное применение - повесить на MotionDetect что есть движение. Тебе пришла смс и ты стал рвать на себе волосы, вызывать ментов и т.д. и т.п.
Last edited by oleg.maiorov; 17-12-2008 at 09:19.
Загадка: пять ноутов, два медиаплеера, посредине роутер.
Отгадка: ɐdиɯdɐʚʞ ʁоw
Я вот IP камеру (Level-One WCS-2030) к роутеру подключил. На роутер установил Motion. Теперь роутер у меня транслирует видео-поток через интернет. Вот только MotionDetect на нем не могу настроить. Было бы очень интересно это сделать и привязать к нему отправку на СМС. Давайте попробуем совместными усилиями.
Ну с настройкой камеры я к сожалению ничем помочь не смогу. А по поводу смсок - тут на самом деле ничего сложного не будет. В-принципе, хватает того что я уже написал.
Главное понять, что же собственно будет происходить, когда фиксируется движение. Решение в лоб - отслеживать появление новых файлов в каталоге со снимками, при появлении снимка отослать сообщение и повесить какой-нибудь таймаут, в течении которого ничего не слать, а то письмами засыпет. Посмотрим
P.S.: Посмотрел, он оказывается еще и e-mail отправляет. Вот похоже сюда и надо копать
Last edited by oleg.maiorov; 17-12-2008 at 17:35.
Загадка: пять ноутов, два медиаплеера, посредине роутер.
Отгадка: ɐdиɯdɐʚʞ ʁоw
Ну, с самой камерой я разобрался. А вот с Motion не все понятно. Именно сам факт движения отследить не получается. Он у меня сейчас тупо видео-поток гонит на определенный порт и через интернет с помощью VLC плейера я его принимаю. А отправка сообщений через email мне кажется даже более интересна.
все работает, классно! СПАСИБО!
единственная проблема - с кириллицей в тексте sms. не подскажете в какую сторону копать?
WL500gp-1.9.2.7-d-r2624
Настоящим админам кирилица не нужна XD
PHP Notice: Undefined offset: 0 in /tmp/mnt/disc0_3/sms/pro.mrim.class.php on line 213
PHP Notice: Undefined offset: 12 in /tmp/mnt/disc0_3/sms/pro.mrim.class.php on line 449
PHP Notice: Undefined offset: 0 in /tmp/mnt/disc0_3/sms/pro.mrim.class.php on line 449
PHP Notice: Undefined offset: 0 in /tmp/mnt/disc0_3/sms/pro.mrim.class.php on line 697
Незнаю даже что и делать =)
никто не сталкивался сВаше сообщение от 13:06 на номер 79161111111 доставлено не было, т.к. телефон указан в неверном формате. Правильный формат российских номеров: +71231234567. Отредактировать или добавить номер для этого абонента Вы можете, нажав кнопку 'Анкета' в правом верхнем углу этого окна.
Работает: роутер, vsftpd, rtorrent (с вебмордой), lighttpd, отправка смс
Устройства: WL500gpV2, HP6313 (Lan кабель), флэшка Transcend 2GB,
коробка AgeStar с внешним питанием и винт Barracuda на 250Gb.
Дам консультации по настройке всего перечисленного. п. Заря
Можно настроить крон, чтобы проверял файл пользователей - появился новый пользователь - смсочка или какой-нибудь другой важный файл проверять (на md5, например).
А можно сделать, чтобы скрипт запускался через минуту после запуска роутера, а не из post-mount, а то у меня интернет не успевает подключаться (через gprs)?