Перейти к публикации
iT4iT.CLUB

Блоги

Ключик Windows

Есть устройства которые идут сразу с предустановленой виндой и на корпусах нет ключа этой системы. Наткнулся тут на просторах тырнета на скриптик и сохраню тут у себя. Скриптик показывает ключик и его можно переписать и спрятать подальше на всякий пожарный случай. И кстати опробовал на 10 окне. Взял отседова. winkeyScript.zip

Maerhekil

Maerhekil

 

Windows 7 решение проблемы svchost или борьба с жором памяти и процессора

Оставляю эту заметку для себя лично т.к память не вечна, а компьютеры под управлением windows 7 продолжают существовать и успешно выполнять возложенные на них обязанности. И так, имеется проблема, при которой svchost съедает оперативную память и центральный процессор. Ну а т.к не все железо способно перейти на новые версии ОС Windows, но при этом отлично выполняет свои обязанности, то приходится лечить этот недуг. Излечивают его несколько обновлений. Конечно, самый оптимальный способ, это ставить их на чистую ОС, но действуем по обстоятельствам. KB3102810 KB3135445 KB3138612 Устанавливаем и забываем о жоре ресурсов.

Kitsum

Kitsum

 

Отключаем рекламу в Viber

Вот и настала очередь популярного мессенджера Viber. Лично у меня терпение лопнуло, когда список контактов был уменьшен в пользу окна с рекламой. Может кому-то это и не доставляло бы много дискомфорта, но не для меня. Спам валит именно когда ты разворачиваешь интерфейс программы, именно тогда, когда требуется больше возможностей для взаимодействия с ней... И главное - закрыть этот поток шлака, а иначе назвать распространяемую контент в рекламе, невозможно. Ну а раз Вы читаете эту заметку, значит у Вас тоже полыхнуло, и срочно требуется лечение данной проблемы. Все крайне просто и быстро. Необходимо изолировать наш клиент от той помойной ямы с которой он тянет эту рекламу. А расположена она по адресу ads.viber.com и самым простым способом изоляции является подмена адреса сервера с помощью файла hosts для Windows Запускаем блокнот с правами администратора (ПКМ -> запуск от имени администратора) и открываем hosts файл, расположенный по следующему пути %SystemRoot%\system32\drivers\etc\hosts Если запускать программу без повышения привилегий в системе, Вы не сможете сохранить наши изменения. А требуется добавить в конце файла новую строку со следующим содержимым 127.0.0.1 ads.viber.com Сохраняем файл и перезапускаем Viber для Linux Делаем все тоже самое, только файл hosts располагается по следующему пути /etc/hosts PS: также смотрите как избавиться от рекламы в uTorrent  

Kitsum

Kitsum

 

Grep под Windows, шутите? Уже давно есть, и не от Microsoft? Заверните мне парочку!

Думаю что все и так понятно из названия. Да, он есть! Да, уже давно! А, что самое интересно, так простота решения задачи. Все, что требуется - создать файл grep.cmd в корневом каталоге Windows со следующим содержимым. findstr %1 %2 %3 %4 %5 Или запустить консоль с правами администратора и выполнить следующую команду echo findstr %1 %2 %3 %4 %5 > %systemroot%\grep.cmd Утилита findstr, которая попытается заменить нам grep, достаточный набор параметров и поддержку регулярных выражений. Подробности можно узнать на официальном сайте https://technet.microsoft.com/ru-ru/library/bb490907.aspx

Kitsum

Kitsum

 

Первые тесты Ambilight подсветки для монитора на Arduino + WS2812B

Первые тесты, всего 30 пикселей. Сразу можно сказать, что этого не достаточно. Закажу ленту 144 пикселя на метр. Сравним результаты. Запись с телефона конечно не передает ощущений, очень жаль(  

Kitsum

Kitsum

 

Заметки по UNIX

Для себя любимого буду оставлять тут всякого рода мелочи. При загрузке Linux Ubuntu 14.04 с установленным пакетом Samba 4.1 красуется следующее сообщение (при этом Active Directory не используется) Starting SMB/CIFS File and Active Directory Server. [FAIL] Лечится удалением /etc/init/samba-ad-dc.conf

Kitsum

Kitsum

 

Когда не помогает смена прав доступа к файлу.

Наткнулся я тут на своём ZABBIX на поблемку выдаваемую, когда пытаешься прокладывать трассу до хоста в вэб-интерфейсе: Смена прав доступа к утилите traceroute не помогла. Выяснилось всё дело в SUID . И трасса пошла. Как это отразится на безопасности, пока не представляю.

Maerhekil

Maerhekil

 

Windows + uTorrent + Kaspersky + Дети = Доверяй, но проверяй!

Доверяй, но проверяй. Идея заключается в том, чтобы проверять антивирусом все загружаемые uTorrent клиентом файлы сразу после окончания закачки. Эта тема особенно актуальна если кроме Вас за компьютером обедаем ваш отпрыск, который не сильно озабочен тем, какую дрянь он может подцепить в сети при скачивании безобидного на вид контента. Я доверяю антивирусу Kaspersky, но подойдет любой другой поддерживающий управление с помощью консольных команд. Аналогично и Torrent клиент должен уметь выполнять эти команды по событию. Для управления антивирусом Касперского с помощью консольных команд используется исполняемый файл avp.com находящийся в корневом каталоге установленного антивируса. Список поддерживаемых команд Usage: avp.com <command> [options] command Specifies the command to be executed. HELP Show this help SCAN Start new scan UPDATE Update databases and optionally application modules ROLLBACK Rollback previously updated databases RENEW Renew product START Start specified task STOP Stop running task STATUS Show task status STATISTICS Show task statistics EXPORT Export settings IMPORT Import settings AcceptEULA Accept EULA and manage KSN agreement usage flag REPORT Export reports SHOWTM Show scan task manager EXIT Exit product TRACES Turn traces on/off, clear traces To get additional description of specific command use 'HELP <command>' syntax Examples: avp.com [ /? | HELP ] avp.com <command> /? avp.com HELP <command> avp.com HELP SCAN avp.com UPDATE /? Первым делом необходимо прописать корневой каталог антивируса в Переменные среды операционной системы, переменная Path. По умолчанию каталог установки находится на системном диске (по умолчанию C:\): x86 - C:\Program Files\Kaspersky Lab\<тип антивируса>\ x64 - C:\Program Files (x86)\Kaspersky Lab\<тип антивируса>\ Допустим используется 64-х разрядная операционная система с установленным бесплатным антивирусом от Касперского версии 16.0.1, полный путь будет выглядеть так C:\Program Files (x86)\Kaspersky Lab\Kaspersky Free 16.0.1\ Открываем свойства компьютера (горячие клавиши "Win" + "Pause") и переходим в раздел "Дополнительные параметры системы". Во вкладке "дополнительно" находятся настройки "Переменные среды". Добавляем в переменную Path полный путь до каталога антивируса определенный ранее.  Ничего сложного, но, чтобы проверить правильность действий достаточно в Командной строке набрать avp.com help и в ответ получим список поддерживаемых команд. Осталось дело за малым. Идем в настройки uTorrent, Дополнительно -> Запуск программы. Сам клиент поддерживает следующий список параметров, которые можно передать запускаемому приложению: %F - имя загруженного файла (для торрентов с одним файлом) %D - папка сохранения файлов %N - название торрента %P - предыдущее состояние торрента %L - метка %T - трекер %M - строка статуса (как в колонке статуса) %I - hex-кодированный инфо-хеш %S - состояние торрента %K - вид торрента (одиночный|мульти) На мой взгляд, самый оптимальный вариант, это полная проверка каталога, в который была произведена закачка. В довесок проверяем оперативную память и разделы автозагрузки. Итоги проверки будем записывать в лог файл, это поможет в разборе полетов в будущем. Команда запуска будет выглядеть следующим образом: avp.com SCAN /R:"%HOMEDRIVE%\AVP.log" /MEMORY /STARTUP "%D" По умолчанию файл логов AVP.log будет сохранен в корень системного диска, но Вы можете изменить его на любой другой как это сделал я. Пробуем что нибудь скачать и смотрим на результат.

Kitsum

Kitsum

 

Отключение рекламы в uTorrent

Данная запись скорее крик души или даже протест против унылой рекламы, рассчитанной на людей, не обезображенных интеллектом. Ладно, не будем ходить вокруг да около, а перейдем к вопросу, "что Вы видите при запуске, одного из самых популярных, Torrent клиента - uTorrent?". Вот именно, кучу фекалий рекламы! Все понятно, надо как-то зарабатывать, ... бла бла... мир суров... бла бла...  Избавляемся от этого! Благо разработчики отставили открытой "дверь" в глубокие настройки программы. Все, что нам требуется, это изменить значения нескольких параметров в разделе Настройка программы -> Дополнительно В поле Фильтр вбиваем имена следующих параметров и изменяем их значения на FALSE offers.sponsored_torrent_offer_enabled - отключает рекламный баннер в шапке программы offers.left_rail_offer_enabled - отключает окно рекламы в левом нижнем углу gui.show_plus_upsell - отключает рекламу PRO версии программы, которая появится при отключении рекламы в п.2 Сохраняем изменения и перезапускаем клиент. Результатом этих простых операций станет чистое и приятное окно! PS: А в будущем, мы дадим бой самой навязчивой рекламе в Рунете на уровне маршрутизатора! Достали!

Kitsum

Kitsum

 

Вторая жизнь старенькой автомобильной магнитолы

Имеется у меня в наличие старенькая магнитола (радио, CD\MP3, Aux), никаких излишеств. Дисками уже долгое время не пользуюсь, а радио надоедает, остается использовать Aux. Телефон и магнитола соединяются аудио кабелем и на телефоне запускается Play list из социальной сети или online радио с конкретным стилем музыки. Все здорово, но автомобиль начал обрастать проводами, да и если кто-нибудь из друзей захочет похвастаться своим музыкальным творением (да да, есть и такие) или просто включить интересный трек, то нужно иметь кабель подлиннее. Можно приобрести магнитолу с Bluetooth и все вопросы отпадут сами собой, но для меня это не вариант т.к в будущем магнитола будет полностью исключена из автомобиля, а её место займет устройство намного боле интереснее и функциональней. Да и куда без самого процесса... Поэтому будем встраивать Bluetooth в то, что есть! Речь пойдет о модернизации магнитолы Kenwood KDC-W4037 но инструкция идентична и для моделей: KDC-W237AY KDC-W237GY KDC-W3037AY KDC-W3037GY KDC-W311AY KDC-W311GY KDC-W3537AY KDC-W3537GY   Если подумать, то принцип работы всех магнитол одинаков, поняв один раз, что нужно делать, можно переделать любую "голову". Для начала нам понадобится Bluetooth модуль XS3868 на чипе OVC3860. Приобрести можно в любом Китайском интернет магазине, хотя их производят с такой скоростью, что наверняка можно найти на ближайшем радио рынке. Я брал у Китайцев XS3868 V2, большое внимание уделите версии т.к распиновка отличается. Основные характеристики гласят, что модуль питается от напряжения от 3.6V до 4.2V, но как показывает практика - выдерживает и 5V. Также имеет антенну, разведенную уже на самой плате и её хватит для связи на расстоянии порядка 10м, что позволит "рулить" музыкой на каком-нибудь пикничке во время готовки шашлыков... Нам понадобятся контакты: (1) Масса для аудио каналов (2) Левый канал аудио (3) Правый канал аудио (9) GND питания (11) +5V Остальные контакты можно оставить не задействованными, но при желании можно вывести органы управления проигрывателем на рулевое колесо. Все необходимые контакты описаны на схеме выше. Замечу, что управлять таким образом вы будите не магнитолой, а проигрывателем на устройстве с которого подается аудио поток (телефон, планшет ...). Если необходимо, то можно добавить микрофон (4 и 5 пины), тем самым организовать Hands Free. Можно задействовать UART (18 и 19 пины) и с помощью дополнительного контроллера организовать тоже самое управление плюс дополнительные возможности, но это отдельная тема. И так, ищем техническую документацию на магнитолу, и это не та документация где описаны органы управления и как правильно установить устройство в панель автомобиля. Мы ищем именно ТЕХНИЧЕСКУЮ документацию от производителя со всеми схемами и т.п. Файлы для перечисленных ранее моделей Kenwood я прикреплю к этой записи в блоге. Теперь необходимо определиться куда мы включимся. Контроллер магнитолы знает несколько источников: CD/Радио/AUX и в теории мы можем откинуть любой из них и заменить его нашим источником аудио сигнала, но лучше воспользоваться уже подготовленным AUX. Это самый простой и короткий путь к готовому результату, да и весь остальной функционал останется рабочим. Магнитолы данной серии обладают двумя входами для источников внешнего аналогового сигнала. Первый расположен на лицевой панели (гнездо 3.5jack), второй на задней панели и является частью 13-и пинового разъема для внешних блоков. Второй вариант самый предпочтительный. На схеме он обозначен как модуль J4 (LX BUS). Ищем его подробную схему. Точки подключения и их описание я выделил желтым цветом. Пробежимся по схеме и разберемся, что тут к чему. (3) Постоянные 12V (BU) берутся прямо с питания магнитолы, равносильно питанию от бортовой сети автомобиля. (6) Масса для аудио каналов, она не связана с землей самой магнитолы! (8) Правый канал аудио (9) Сигнал (HIGH) указывающей что задействован AUX от внешнего модуля (12) Левый канал аудио По существу, нам необходимо соединить между собой 3 и 9 пины и соответствующие пины Bluetooth и модуля J4 магнитолы. # --------- | -------------- | ---------------- # # Bluetooth | Магнитола (J4) | Описание каналов # # --------- | -------------- | ---------------- # # 1 | 6 | Audio GND # # 2 | 12 | Audio LEFT ch # # 3 | 8 | Audio RIGHT ch # # --------------------------------------------- # Обычно на плате магнитолы имеется маркировка всех компонентов. Я припаивался на резисторы: R601, R602, R603 для аудио каналов, и таким образом, чтобы не выкинуть их из цепи. 12V можно подать с основной шины питания магнитолы на резистор R606, но я просто сделал перемычку между двумя клеммами на самом разъеме. К сожалению фотографии самого разъема, не осталось, ну да это и не беда, ничего сложного тут нету. В документации производителя имеется зеркальная схема расположения компонентов. Теперь осталось дело за малым. Необходимо найти точку, от которой мы будем питаться. Я попытался решить эту задачу наскоком и это была моя ошибка! Я подал питание на плату и прошелся по ней мультиметром отмечая все точки маркером где имеется напряжение от 4 до 5V. После по схеме из документации производителя выяснял за что отвечает та или иная точка. В итоге была найдена центральная шина питания +5V идущая на CD привод, и я благополучно сел на неё. А теперь самое важное в этом моменте - центральное питание +5V никогда не пропадает! Кстати именно по этой причине Ваша магнитола может вытянуть весь аккумулятор при длительной стоянке, но суть кроется в самом модуле Bluetooth. Если в течении двух минут с модулем не свяжется какое-либо устройство, то он уснет для экономии батареи, а вот разбудить его можно только через специальный пин Reset или сбросом питания. Если этого не сделать, то подключиться к нему получится только, сбросив клеммы с аккумулятора автомобиля, что согласитесь не технологично! А так можно представить себе ситуацию, когда Ваша подруга/девушка/жена (нужное подчеркнуть) захочет включить что-то из своего репертуара и услышит фразу "нет проблем малышка" сопровождающуюся щелчком открывающегося капота... EPIC FAIL! Необходимо брать питание откуда-то еще. Разбираемся с питанием всей платы. Судя по документации за это отвечает модуль IC4. На нем имеются два выхода +5V, один из которых пропадает если снять лицевую панель магнитолы и вынуть ключ зажигания. То, что нужно! На плате это отдельный преобразователь. Вообще он отвечает за питание всего и вся в магнитоле. Нам нужна его 9 нога - SW5V. Кстати, соседняя 8 нога именно постоянное питание +5V (VDD), но в этот раз она нам не понадобится.  После все аккуратно запаиваем и укладываем провода. Перед включением магнитолы все внимательно проверьте на правильность подключения и отсутствие КЗ. После включения вы увидите устройство с именем POR 1007BT, это и есть Ваша магнитола. Для сопряжения используется один из стандартных паролей: 0000, 1234... PS: На этом пока все, приятного Вам возрождения старых аппаратов!  B64-3498-00_00.pdf BLK-MD-SPK-B_AT_Commands_OVC3860_List.pdf kenwood_kdc-w237_w3037_w311_w3537_w4037.pdf

Kitsum

Kitsum

 

MYSQL + SAMS2 + squid 3.5 + squidguard

Случилось так, что даже в наше время надо такую связку ставить. Упёрся в то, что ребята ведущие SAMS уже давненько не обновляли своё детище и sams2redir не  коректно пашет со SQUID выше 3.3, да и со SQUIDGUARD не получилось его связать, покумекав решил ну и ладно, будем ставить костыли. Описывать установку SAMS, SQUID и SQUIDGUARD не буду, только опишу саму идею как неработающее заработало. Мне аутентификация не нужна, нужна идентификация по IP в этом случае, это облегчило мою участь. У нас есть уже живут на серваке выше упомянутые звери. Указываем SAMS2 редиректор SQUIDGUARD, в SQUID разрешаем всё для всей сети. Пока не завели GUARD у нас пользователи заводятся в SAMS2 и гуляют по инету свободно, замечу SQUIDу вообще пофигу что там в SAMS2, резать и знать какие пользователи появились в SAMS2 будет SQUIDGUARD. И да, не надо запускать реконфигурацию SQUID в SAMS2 ни в коем случае, вообще запретите редактировать файл squid.conf всем кроме рута. При появлении новых юзеров в SAMS2, он добавляет их в mysql, да всё он туда добавляет, вот этим и воспользуемся. Завели парочку айпишников в SAMS2, сохранили. Тачим файлик который будет забирать инфу с базы SAMS2 которая нам нужна. #cd /usr/local/etc/squid # touch sgfind.sh Наполняем его #!/bin/sh cd /usr/local/etc/squid/ /usr/local/bin/mysql sams2db -uЮЗЕР -pПАРОЛЬ -se "SELECT s_ip FROM squiduser WHERE s_enabled = '-1';" > deny-ip /usr/local/bin/mysql sams2db -uЮЗЕР -pПАРОЛЬ -se "SELECT s_ip FROM squiduser WHERE s_enabled = '1';" > allow-ip cd / exit Указывать или нет пароль в открытом виде или нет, дело каждого, кто хочет может поизгаляться вынести пароль в отдельный файл. Разрешим исполнять этот файл # chmod 740 /usr/local/etc/squid/sgfind.sh Запустим пока его ручками, он выберет с базы айпишники и разложит по файлам, сконфигурируем SQUIDGUARD на эти списки.  Добавляем строчку редиректа в squid.conf с "детками".
  url_rewrite_program /usr/local/bin/squidGuard -c /usr/local/etc/squid/squidGuard.conf url_rewrite_children 20 Перезапускаем SQUID и вуаля, блокировка работает Добавим в crontab это детище 0/30  *  *  *  *  root   /usr/local/etc/squid/sgfind.sh Как-то так, это только начало, забирать с SAMS2 базы в MYSQL можно и остальное и травить на него SQUIDGUARD. Такие вот костыли. Возможно я по незнанию что-то сделал не так, ну или всё. Пишите может, что ещё посоветуете.  Enjoy.

Maerhekil

Maerhekil

 

Откладываем на хранение

Ну, стоит и это на хранение положить, дабы потом быстрее было вытаскивать. В принципе бекапить всё и вся более менее важное, должен каждый хоть чуточку уважающий себя админ. И им это будет не интересно, но как я уже сказал на главной своего блога  "Всё опубликованное является написанным для памяти и не претендует на исключительность".
Будем складывать дамп мускуля на отдельно стоящий и настроенный  FreeNAS с NFS шарой. Запишу как делал на Linux  и FreeBSD. Начнём с не любимого мной Debian. Тачу файл скрипта. # touch /root/backup.sh Назначаем привилегии. chmod 540 /root/backup.sh chown root:root /root/backup.sh Читать и исполнять его может только root. Нефиг остальным там делать.
Создаём директорию куда будем монтировать #mkdir /mnt/arch Наполняем его содержимым. #!/bin/sh n=$(date +%Y%m%d%H%M) cd /home/tmpbkp mysqldump -uroot -pСУПЕРПАРОЛЬ mail > $n.mail.sql mount.nfs КРАСИВЫЙИП:/mnt/rm1/arch/mail /mnt/arch mv /home/tmpbkp/$n.mail.sql /mnt/arch/$n.mail.sql umount /mnt/arch В принципе всё понятно, и тут нечего разбирать. Кому надо спросите.
Пишем в кронтаб автозапуск. #crontab -e 1 01 * * * /root/backup.sh В принципе всё, перейду к любимому дьяволёнку.
Почти ничем не отличаются манипуляции, кроме. Я на фре, спасибо моему старшему товарищу приучившему меня к этому, создаю отдельную дирректорию для скриптов. Тачу файл там. #touch /usr/local/scripts/backup.sh Даю права #chmod 540 /usr/local/scripts/backup.sh #chown root:wheel /usr/local/scripts/backup.sh Наполняю его содержимым #!/bin/sh n=$(date +%Y%m%d%H%M) cd /usr/home/vit/bacup mysqldump -uroot -pСУПЕРПАРОЛЬ telefon > $n.telefon.dump.sql mount -t nfs -o 'vers=3' КРАСИВЫЙИП:/mnt/rm1/arch/stat /mnt/arch mv /usr/home/vit/bacup/$n.telefon.dump.sql /mnt/arch/$n.telefon.dump.sql umount /mnt/arch Пишем в кронтаб запуск #ee /etc/crontab 1 01 * * * root /usr/local/scripts/backup.sh Ну как-то так. Да, и не забываем о блокировке баз при снятии дампа, думаю для больших баз нужно по изучать "man mysqldump".
Enjoy  

Maerhekil

Maerhekil

 

Роем туннели, бросаем рельсы

Соединяем два устройства небезысвестной фирмы через тырнет. Простенько без наворотов.
Ваялось всё на cisco 2911  System Bootstrap, Version 15.0(1r)M16, RELEASE SOFTWARE (fc1). С лицухами такими: Technology Package License Information for Module:'c2900' ----------------------------------------------------------------- Technology Technology-package Technology-package Current Type Next reboot ------------------------------------------------------------------ ipbase ipbasek9 Permanent ipbasek9 security securityk9 Permanent securityk9 uc None None None data None None None CISCO № 1 Объявляем политику и описываем её. (config)#crypto isakmp policy 1 encr aes 256 authentication pre-share group 2 lifetime 3600 Создаём ключ аутентификации вместе с ключевой строкой (config)#crypto isakmp key ОЧЕНЬСЛОЖНЫЙКЛЮЧ address АДРЕСНАЗНАЧЕНИЯ Настраиваем окно шлюза (config)#crypto ipsec security-association replay window-size 128 Настраиваем IPSEC transform set политику (config)#crypto ipsec transform-set ИМЯНАШЕЙПОЛИТИКИ esp-aes 256 esp-sha-hmac mode transport require Обозначаем время жизни (config)#crypto isakmp keepalive 10 10 Чистим DF биты для инкапсулированных пакетов (config)#crypto ipsec df-bit clear Ваяем карту, можно идти и другим путём, но я ваяю карту. Такой я упоротый. (config)#crypto map ИМЯНАШЕЙКАРТЫ 200 ipsec-isakmp set peer АДРЕСНАЗНАЧЕНИЯ set security-association lifetime seconds 21600 set transform-set ИМЯНАШЕЙПОЛИТИКИ set pfs group2 match address НОМЕРACCESSЛИСТА Создаём интерфейс (config)#interface Tunnel0 ip address 172.16.0.1 255.255.255.252 ip virtual-reassembly in ip tcp adjust-mss 1396 tunnel source АДРЕСНАШВНЕШНИЙ tunnel mode ipip tunnel destination АДРЕСНАЗНАЧЕНИЯ Вешаем крипто на внешний интерфейс (config)#interface ИМЯВНЕШНЕГОИНТЕРФЕЙСА crypto map ИМЯНАШЕЙКАРТЫ Создаём лист доступа (config)#access-list НОМЕРACCESSЛИСТА permit ip host АДРЕСНАШВНЕШНИЙ host АДРЕСНАЗНАЧЕНИЯ (config)#access-list НОМЕРACCESSЛИСТА permit ip host АДРЕСНАЗНАЧЕНИЯ host АДРЕСНАШВНЕШНИЙ Кидаем рельсы (config)#ip route ВНУТРЕННЯЯСЕТЬУДАЛЁННАЯ МАСКАСЕТИУДАЛЁНОЙ Tunnel0 В принципе всё на первом, ну а на втором делаем эдентичные настройки кроме, естественно, ип адреса на интерфейсе тунеля. Там пишем 172.16.0.2 адресок и радуемся. Если что-то не получилось, предполагаю, что что-то сделано не так как написано тут или сделано кое что ещё.
Надеюсь ничего не забыл и не перепутал, со мной такое бывает. 
Enjoy!

Maerhekil

Maerhekil

 

Пишем письма мелким подчерком.

При борьбе с всякими нечестивыми гражданами, мы пришли к тому, что надо бы нам бросать трубку при звонке за рубеж и извещать нас об этом.
Ну подумал я, это дело не хитрое и влепил в план нумерации, в секцию с правилами исходящих звонков такую конструкцию: [mezdunarod] exten => _810.,1,Playback(cannot-complete-as-dialed) same => n,System(mail -s "${CALLERID(num)} => ${EXTEN} ALARM" ВАШ_ЕМАЙЛ) same => n,Hangup() Уточню, что если вы хотите массовую рассылку то указывайте через запятую емайлы. Если будете делать без отдельной секции, то всё будет выглядеть так: exten => _810.,1,Playback(cannot-complete-as-dialed) exten => _810.,2,System(mail -s "${CALLERID(num)} => ${EXTEN} ALARM" ВАШ_ЕМАЙЛ) exten => _810.,3,Hangup() В принципе можно второй вариант разместить и в секции с входящими, да и вообще вариантов масса.
Всего хорошего и удачи в борьбе с вредителями.

Maerhekil

Maerhekil

 

Кто звонил?

Всё сделанное основано на статье http://habrahabr.ru/post/213669/ Имеем FreeBSD 9.2-STABLE с обновлёнными портами.
Как обычно я пытался наскоком быстро сделать всё но не получилось.
Так-что опишу свои действия ибо у каждого могут быть свои препоны как в путях и именах файлов так и в самом диалплане.
Поехали. Устанавливаю. voip# whereis mysql-connector-odbc mysql-connector-odbc: /usr/ports/databases/mysql-connector-odbc voip# cd /usr/ports/databases/mysql-connector-odbc voip# make install clean voip# Правлю файл /usr/local/etc/odbcinst.ini [MySQL] Description = ODBC for MySQL Driver = /usr/local/lib/libmyodbc5.so Setup = /usr/local/lib/libodbc.so.2 FileUsage = 1 Далее /usr/local/etc/odbc.ini [asterisk-connector] Description=MySQL connection to 'asterisk' database Driver=MySQL Server=localhost Database=БАЗА_АСТЕРИСКА UID=ЛОГИН_С_ПРАВАМИ_ПОДКЛЮЧЕНИЯ PWD=ПАРОЛЬ Port=3306 SOCKET=/tmp/mysql.sock Обращайте внимание на пути и имена библиотек, файлов. У меня FreeBSD 9.2-STABLE
Проверяю voip# isql -v asterisk-connector +---------------------------------------+ | Connected! | | | | sql-statement | | help [tablename] | | quit | | | +---------------------------------------+ SQL> quit voip# Смотрю ошибки в файлах если не получилось.
Продолжаю. Правлю файл /usr/local/etc/asterisk/res_odbc.conf  добавляя в конец [asterisk2mysql] enabled => yes dsn => asterisk-connector pre-connect => yes и файл /usr/local/etc/asterisk/func_odbc.conf так-же добавляя в конец [FROMMOBILE] dsn=asterisk2mysql readsql=SELECT channel FROM cdr WHERE dst=${ARG1} ORDER BY calldate DESC LIMIT 1 Дальше самое интересное, я выношу эксклюзивные настройки, голосовые меню в отдельный файл. Дабы не засорять и без того большой файл extensions.conf
Тачу файл mobile.ru voip# cd /usr/local/etc/asterisk voip# touch mobile.ru voip# Шлёпаю в extensions.conf
В самом верху врубаю новорождённый файл #include "mobile.ru" На входе, у меня это секция [default] отправляю номер 5696 к mobile.ru exten => 5696,1,Goto(mobile_ru,s,1) 5696 Это номер на который ссылается внешний городской на шлюзе. Если всё отлично с АОН то вообще всё прекрасно.
Ну и отправляюсь создавать код в файл mobile.ru. На него я потратил много времени, подгибая под себя и исправляя ошибки из оригинальной статьи, На выходе он у меня получился такой. [mobile_ru] exten => s,1,Answer() exten => s,2,MYSQL(Connect connid localhost ЛОГИН ПАРОЛЬ БАЗА) exten => s,3,MYSQL(Query resultid ${connid} SELECT `channel` FROM `cdr` WHERE `dst`='8${CALLERID(number)}' AND `disposition`="NO ANSWER" OR `dst`='8${CALLERID(number)}' AND `disposition`="BUSY" AND `billsec` < "4" ORDER BY `calldate` DESC LIMIT 1) sition`="BUSY" AND `billsec` < "4" ORDER BY `calldate` DESC LIMIT 1) exten => s,4,MYSQL(Fetch fetchid ${resultid} var) exten => s,5,MYSQL(Clear ${resultid}) exten => s,6,MYSQL(Disconnect ${connid}) exten => s,7,Set(CHAN=${SHELL(echo ${var} |tr -d '\n' |sed -e 's/.*\/\(.*\)\-.*/\1/g' |tr -d '\n')}) exten => s,8,Set(i=0) exten => s,9,Set(COUNTER=${LEN(${CHAN})}) exten => s,10,While($[${i} < ${COUNTER}]) exten => s,11,Playback(/usr/local/etc/asterisk/IT/${CHAN:${i}:1}) exten => s,12,Set(i=$[${i} + 1]) exten => s,13,EndWhile() exten => s,14,Goto(office,${CHAN},1) exten => s,15,Hangup() Разберём его по порядку.
1) Поднимаем трубку
2) Подключаемся к базе mysql
3) Выполняем запрос (тут я искал строки с номером вызывающего абонента в которых присутствовало-бы ANSWER, NO ANSWER, BUSY. Да и обратите внимание на '8${CALLERID(number)}', у меня LDK300 не отдаёт полностью АОН вызывающего абонента и пришлось подставлять костыли таким макаром.)
4) Получаем результат пишем в var
5) Освобождаем память от запроса
6) Отключаемся от БД
7) Убираем всё лишнее в результате.
8) Индекс для цикла ( Тут на любителя, мне понравилось, что вызывающему абоненту говорится номер внутренний того кто его вызывал, если кому не нравится можете убрать соответствующие строки.)
9) Получаем длину внутреннего номера который нужно произнести
10) Пока индекс меньше длины номера
11) Произносим текущую цифру номера (Укажите путь где есть файлы у вас с медиа файлами озвучки цифр, у меня это оказался        /usr/local/etc/asterisk/IT)
12) Увеличиваем индекс на один
13) Заканчиваем цикл
14) Соединяем абонентов (Я отправил в секцию [office] так как у меня там собраны include всех секций в диалплане, вы куда хотите туда посылайте)
15) Кладём трубку ( У меня если поиск не выполнялся успешно, а именно внутреннего номера небыло найдено, то звонок чудным образом начинал уходить по кругу на номер 5696, и asterisk падал. А если трубку класть то при таком повороте вещей вам говорят, что такого номера нет. Типа вам никто не звонил. ) Ну вот как-то так.
Рестартим Астериск, тестим звонки  
Пробуйте, сделаете что-то новое напишите как и что, буду благодарен   :).
Да и вообще пишите вопросы если, что не понятно.  

Maerhekil

Maerhekil

  • Записи блога

    • Автор: Maerhekil в Памятки сисадмина
         0
      Есть устройства которые идут сразу с предустановленой виндой и на корпусах нет ключа этой системы. Наткнулся тут на просторах тырнета на скриптик и сохраню тут у себя.
      Скриптик показывает ключик и его можно переписать и спрятать подальше на всякий пожарный случай. И кстати опробовал на 10 окне.
      Взял отседова.
      winkeyScript.zip
    • Автор: Kitsum в Мысли вслух
         0
      Оставляю эту заметку для себя лично т.к память не вечна, а компьютеры под управлением windows 7 продолжают существовать и успешно выполнять возложенные на них обязанности.
      И так, имеется проблема, при которой svchost съедает оперативную память и центральный процессор. Ну а т.к не все железо способно перейти на новые версии ОС Windows, но при этом отлично выполняет свои обязанности, то приходится лечить этот недуг.
      Излечивают его несколько обновлений. Конечно, самый оптимальный способ, это ставить их на чистую ОС, но действуем по обстоятельствам.
      KB3102810 KB3135445 KB3138612 Устанавливаем и забываем о жоре ресурсов.
    • Автор: Kitsum в Мысли вслух
         2
      Доверяй, но проверяй.

      Идея заключается в том, чтобы проверять антивирусом все загружаемые uTorrent клиентом файлы сразу после окончания закачки. Эта тема особенно актуальна если кроме Вас за компьютером обедаем ваш отпрыск, который не сильно озабочен тем, какую дрянь он может подцепить в сети при скачивании безобидного на вид контента.
      Я доверяю антивирусу Kaspersky, но подойдет любой другой поддерживающий управление с помощью консольных команд. Аналогично и Torrent клиент должен уметь выполнять эти команды по событию. Для управления антивирусом Касперского с помощью консольных команд используется исполняемый файл avp.com находящийся в корневом каталоге установленного антивируса.
      Список поддерживаемых команд
      Usage: avp.com <command> [options] command Specifies the command to be executed. HELP Show this help SCAN Start new scan UPDATE Update databases and optionally application modules ROLLBACK Rollback previously updated databases RENEW Renew product START Start specified task STOP Stop running task STATUS Show task status STATISTICS Show task statistics EXPORT Export settings IMPORT Import settings AcceptEULA Accept EULA and manage KSN agreement usage flag REPORT Export reports SHOWTM Show scan task manager EXIT Exit product TRACES Turn traces on/off, clear traces To get additional description of specific command use 'HELP <command>' syntax Examples: avp.com [ /? | HELP ] avp.com <command> /? avp.com HELP <command> avp.com HELP SCAN avp.com UPDATE /? Первым делом необходимо прописать корневой каталог антивируса в Переменные среды операционной системы, переменная Path. По умолчанию каталог установки находится на системном диске (по умолчанию C:\):
      x86 - C:\Program Files\Kaspersky Lab\<тип антивируса>\ x64 - C:\Program Files (x86)\Kaspersky Lab\<тип антивируса>\ Допустим используется 64-х разрядная операционная система с установленным бесплатным антивирусом от Касперского версии 16.0.1, полный путь будет выглядеть так C:\Program Files (x86)\Kaspersky Lab\Kaspersky Free 16.0.1\
      Открываем свойства компьютера (горячие клавиши "Win" + "Pause") и переходим в раздел "Дополнительные параметры системы". Во вкладке "дополнительно" находятся настройки "Переменные среды". Добавляем в переменную Path полный путь до каталога антивируса определенный ранее. 

      Ничего сложного, но, чтобы проверить правильность действий достаточно в Командной строке набрать avp.com help и в ответ получим список поддерживаемых команд.

      Осталось дело за малым.
      Идем в настройки uTorrent, Дополнительно -> Запуск программы. Сам клиент поддерживает следующий список параметров, которые можно передать запускаемому приложению:
      %F - имя загруженного файла (для торрентов с одним файлом) %D - папка сохранения файлов %N - название торрента %P - предыдущее состояние торрента %L - метка %T - трекер %M - строка статуса (как в колонке статуса) %I - hex-кодированный инфо-хеш %S - состояние торрента %K - вид торрента (одиночный|мульти) На мой взгляд, самый оптимальный вариант, это полная проверка каталога, в который была произведена закачка. В довесок проверяем оперативную память и разделы автозагрузки. Итоги проверки будем записывать в лог файл, это поможет в разборе полетов в будущем.
      Команда запуска будет выглядеть следующим образом:
      avp.com SCAN /R:"%HOMEDRIVE%\AVP.log" /MEMORY /STARTUP "%D" По умолчанию файл логов AVP.log будет сохранен в корень системного диска, но Вы можете изменить его на любой другой как это сделал я.

      Пробуем что нибудь скачать и смотрим на результат.
    • Автор: Kitsum в Мысли вслух
         0
      Вот и настала очередь популярного мессенджера Viber.
      Лично у меня терпение лопнуло, когда список контактов был уменьшен в пользу окна с рекламой. Может кому-то это и не доставляло бы много дискомфорта, но не для меня. Спам валит именно когда ты разворачиваешь интерфейс программы, именно тогда, когда требуется больше возможностей для взаимодействия с ней... И главное - закрыть этот поток шлака, а иначе назвать распространяемую контент в рекламе, невозможно.
      Ну а раз Вы читаете эту заметку, значит у Вас тоже полыхнуло, и срочно требуется лечение данной проблемы. Все крайне просто и быстро. Необходимо изолировать наш клиент от той помойной ямы с которой он тянет эту рекламу. А расположена она по адресу ads.viber.com и самым простым способом изоляции является подмена адреса сервера с помощью файла hosts
      для Windows
      Запускаем блокнот с правами администратора (ПКМ -> запуск от имени администратора) и открываем hosts файл, расположенный по следующему пути
      %SystemRoot%\system32\drivers\etc\hosts Если запускать программу без повышения привилегий в системе, Вы не сможете сохранить наши изменения. А требуется добавить в конце файла новую строку со следующим содержимым
      127.0.0.1 ads.viber.com Сохраняем файл и перезапускаем Viber
      для Linux
      Делаем все тоже самое, только файл hosts располагается по следующему пути
      /etc/hosts PS: также смотрите как избавиться от рекламы в uTorrent
       
    • Автор: Kitsum в Мысли вслух
         0
      Думаю что все и так понятно из названия. Да, он есть! Да, уже давно! А, что самое интересно, так простота решения задачи.
      Все, что требуется - создать файл grep.cmd в корневом каталоге Windows со следующим содержимым.
      findstr %1 %2 %3 %4 %5 Или запустить консоль с правами администратора и выполнить следующую команду
      echo findstr %1 %2 %3 %4 %5 > %systemroot%\grep.cmd Утилита findstr, которая попытается заменить нам grep, достаточный набор параметров и поддержку регулярных выражений. Подробности можно узнать на официальном сайте https://technet.microsoft.com/ru-ru/library/bb490907.aspx

  • Сейчас в сети   0 пользователей, 0 анонимных, 12 гостей (Полный список)

    Нет пользователей в сети в данный момент.

×