Page 1 of 17 12311 ... LastLast
Results 1 to 15 of 252

Thread: router2sms

  1. #1
    Join Date
    Sep 2008
    Location
    Moscow, Khimki
    Posts
    20

    Smile router2sms

    Thanks Markiz

    Питоноводам стоит почитать тему Router2sms python


    ######## ОПИСАНИЕ ########
    Основной функционал:
    -отправка смс на любой номер, даже не из списка контактов (он автоматически добавляется в группу "телефонные контакты")
    -перебор любого количества e-mail чтобы обойти ограничения по времени отправки
    -отправка смс на русском (utf8)
    -интерфейс командной строки, при желании могу сделать веб обертку, хотя в этом ничего сложного.

    Дополнительно:
    -задержка отправки смс по времени (чтобы роутер вас не будил, ночные смс можно скопом перенаправить на утро)


    ######## УСТАНОВКА########


    Инструкция основная:
    1. Вам понадобится роутер, с установленным php
    2. Разархивируете (можно под windows) прилагающийся архив smssender.zip
    3. Создаете на роутере папку /opt/etc/sendsms/
    4. Закидываете файлы из архива в эту папку
    5. Пишете
    Code:
    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
    6. Открываете send.php НА ЛИНУКСЕ. РЕДАКТИРОВАТЬ ПОД WINDOWS нельзя. Для редактирования подойдет mc. Редактировать кнопка F4, либо Esc 4
    7. Находите вот такое место:
    PHP Code:
    $login[0]="login@mail.ru";
    $pass[0]="pass"
    8. Исправляете на свой логин и пароль.
    9. При желании добавляете
    PHP Code:
    $login[1]="login@mail.ru";
    $pass[1]="pass"
    И пишете другой логин и пароль, и так хоть до бесконечности. Перебираются по очереди.
    10. Пользуетесь:
    PHP Code:
    /opt/etc/sendsms/send.php 7916111111 ваше сообщение 
    Естественно заменив номер на нужный вам (можно не только 916) и текст на ваш.
    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. Выполните команды:
    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
    6. Пользуйтесь:
    PHP Code:
    /opt/etc/smssend/sendtime.php 9 23 79161111111 текст вашего сообщения 
    Первая цифра "утренний" час. Время когда вы просыпаетесь. Вторая "вечерний" когда засыпаете. Смска прийдет в промежуток между ними. Внимание, если "вечерний" час у вас больше 00 часов, то всеравно указывать нужно
    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 дописать
    Code:
    #sms on finish conf
    on_finished=send_finish_sms,"execute = /opt/etc/sendsms/send.php,79161111111,Торрент,$d.get_name,закачался"
    3. Чтобы торрент, докачавший ночью, вас не разбудил, воспользуйтесь дополниельной инструкцией и вместо пункта два используйте
    в /opt/etc/rtorrent.conf дописать
    Code:
    #sms on finish conf
    on_finished=send_finish_sms,"execute = /opt/etc/sendsms/sendtime.php,9,23,79161111111,Торрент,$d.get_name,закачался"
    4. Инструкцию, как сделать уведомление о закачке торрента на трансмишен написал Сhemist. Она ЗДЕСЬ.

    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.

  2. #2
    Например, если упало соединение. Или кто-то вошел в админку

  3. #3
    Join Date
    Sep 2008
    Location
    Moscow, Khimki
    Posts
    20
    Ну когда соединение упало инет тоже исчез. Надо тогда какой-нибудь резервный канал поднимать

    Еще можно слать sms, если какой-нибудь торрент скачался. Для этого правим (или добавляем) в конфиг rtorrent секцию
    Code:
    on_finished = id,command
    Будет время, попробую это реализовать и отписаться
    Last edited by oleg.maiorov; 16-12-2008 at 15:21.

  4. #4
    Join Date
    Sep 2008
    Location
    Moscow, Khimki
    Posts
    20

    Lightbulb

    Итак, продолжаем копать новый сервис

    Подготовительные действия - создал аккаунт на 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
    Теперь мы можем исполнить команду
    Code:
    /opt/etc/sendsms/sendsms.php "Router is power on"
    и сообщение отправится адресату. Не забываем, что максимальная длина сообщения - 160 символов латиницей.

    Я, например, пока что повесил ЭТО безоразие в файле /usr/local/sbin/post-mount и теперь при каждом включении/ребуте роутера мне приходит смс-ка. Кстати, это оказалось удобно когда работаешь с коробочкой удаленно. Как бы команда когда уже можно на него ломиться), а также работает как просьба роутера проверить, все ли корректно поднялось после очередного отключения электричества (у меня иногда диск не подмонтируется).

    В перспективе - завести пяток аккаунтов, добавлять их в контакты программно, работать через базу SQLite, обновляя информацию об этих аккаунтах, о том какие смс-ки на какие номера уходят... . На данный момент всё)
    Attached Files Attached Files
    Last edited by oleg.maiorov; 17-12-2008 at 06:53.
    Загадка: пять ноутов, два медиаплеера, посредине роутер.
    Отгадка: ɐdиɯdɐʚʞ ʁоw

  5. #5
    [offtop]
    "Месье знает толк в извращениях." :-)
    Каких только приенений не придумают софту.

  6. #6
    Join Date
    Sep 2008
    Location
    Moscow, Khimki
    Posts
    20
    Хых) Ну я ж не предлагаю спам-бота создавать
    Тут некоторые пытаются воткнуть в него веб-камеру. Тоже отличное применение - повесить на MotionDetect что есть движение. Тебе пришла смс и ты стал рвать на себе волосы, вызывать ментов и т.д. и т.п.
    Last edited by oleg.maiorov; 17-12-2008 at 09:19.
    Загадка: пять ноутов, два медиаплеера, посредине роутер.
    Отгадка: ɐdиɯdɐʚʞ ʁоw

  7. #7
    Quote Originally Posted by oleg.maiorov View Post
    Хых) Ну я ж не предлагаю спам-бота создавать
    Тут некоторые пытаются воткнуть в него веб-камеру. Тоже отличное применение - повесить на MotionDetect что есть движение. Тебе пришла смс и ты стал рвать на себе волосы, вызывать ментов и т.д. и т.п.
    Я вот IP камеру (Level-One WCS-2030) к роутеру подключил. На роутер установил Motion. Теперь роутер у меня транслирует видео-поток через интернет. Вот только MotionDetect на нем не могу настроить. Было бы очень интересно это сделать и привязать к нему отправку на СМС. Давайте попробуем совместными усилиями.

  8. #8
    Join Date
    Sep 2008
    Location
    Moscow, Khimki
    Posts
    20
    Ну с настройкой камеры я к сожалению ничем помочь не смогу. А по поводу смсок - тут на самом деле ничего сложного не будет. В-принципе, хватает того что я уже написал.
    Главное понять, что же собственно будет происходить, когда фиксируется движение. Решение в лоб - отслеживать появление новых файлов в каталоге со снимками, при появлении снимка отослать сообщение и повесить какой-нибудь таймаут, в течении которого ничего не слать, а то письмами засыпет. Посмотрим

    P.S.: Посмотрел, он оказывается еще и e-mail отправляет. Вот похоже сюда и надо копать
    Last edited by oleg.maiorov; 17-12-2008 at 17:35.
    Загадка: пять ноутов, два медиаплеера, посредине роутер.
    Отгадка: ɐdиɯdɐʚʞ ʁоw

  9. #9
    Quote Originally Posted by oleg.maiorov View Post
    Ну с настройкой камеры я к сожалению ничем помочь не смогу. А по поводу смсок - тут на самом деле ничего сложного не будет. В-принципе, хватает того что я уже написал.
    Главное понять, что же собственно будет происходить, когда фиксируется движение. Решение в лоб - отслеживать появление новых файлов в каталоге со снимками, при появлении снимка отослать сообщение и повесить какой-нибудь таймаут, в течении которого ничего не слать, а то письмами засыпет. Посмотрим

    P.S.: Посмотрел, он оказывается еще и e-mail отправляет. Вот похоже сюда и надо копать
    Ну, с самой камерой я разобрался. А вот с Motion не все понятно. Именно сам факт движения отследить не получается. Он у меня сейчас тупо видео-поток гонит на определенный порт и через интернет с помощью VLC плейера я его принимаю. А отправка сообщений через email мне кажется даже более интересна.

  10. #10
    Quote Originally Posted by oleg.maiorov View Post
    P.S.: Посмотрел, он оказывается еще и e-mail отправляет. Вот похоже сюда и надо копать
    А как можно через мыло? у меня мегафон-сибирь, а он не поддерживает прием сообщений с маил.ру.

  11. #11
    Join Date
    Oct 2008
    Location
    Saint-Petesburg, Russia
    Posts
    253
    все работает, классно! СПАСИБО!
    единственная проблема - с кириллицей в тексте sms. не подскажете в какую сторону копать?
    WL500gp-1.9.2.7-d-r2624

  12. #12
    Настоящим админам кирилица не нужна XD

  13. #13
    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

    Незнаю даже что и делать =)

  14. #14
    никто не сталкивался с
    Ваше сообщение от 13:06 на номер 79161111111 доставлено не было, т.к. телефон указан в неверном формате. Правильный формат российских номеров: +71231234567. Отредактировать или добавить номер для этого абонента Вы можете, нажав кнопку 'Анкета' в правом верхнем углу этого окна.
    Работает: роутер, vsftpd, rtorrent (с вебмордой), lighttpd, отправка смс
    Устройства: WL500gpV2, HP6313 (Lan кабель), флэшка Transcend 2GB,
    коробка AgeStar с внешним питанием и винт Barracuda на 250Gb.

    Дам консультации по настройке всего перечисленного. п. Заря

  15. #15
    Можно настроить крон, чтобы проверял файл пользователей - появился новый пользователь - смсочка или какой-нибудь другой важный файл проверять (на md5, например).

    А можно сделать, чтобы скрипт запускался через минуту после запуска роутера, а не из post-mount, а то у меня интернет не успевает подключаться (через gprs)?

Page 1 of 17 12311 ... LastLast

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •