ISP`s IT Аутсорсинг
Быстрый переход: Главная блога Главная сайта Форум
Если Вы чего то недопоняли или не нашли - задайте
вопрос на нашем форуме и мы попробуем Вам помочь.
Subnets.ru Регистрация IP и Автономных систем mega-net.ru

Архивные статьи в категории ‘Программинг’

Добро пожаловать в блог! Надеемся, что Вы еще вернетесь.

Некоторое время назад мы начали вливаться в ряды тех кто начал постигать премудрости blockchain технологий.

Так 02.09.2017 начался наш новый проект bitname.ru. Данный проект стартовал с поддержки доменов в зоне .bit, которая предоставляется Namecoin.

Мы развернули несколько сервисов:

  • Whois
  • DNS сервер
  • Cтатистика сети

Whois

Вы можете воспользоваться штатной утилитой(UNIX) whois:
# whois -h whois.bitname.ru bitname.bit

* Для Windows надо будет скачивать программу whois отдельно.

Так же выполнив HTTP запрос: https://bitname.ru/whois.php?domain=bitname.bit

** с 30.04.2018 добавлена поддержка доменов в зонах .emc .coin .lib .bazar, которые предоставляет Emercoin.

DNS-сервер ns4chain

Вы можете указать сервера dns1.bitname.ru dns2.bitname.ru в настройках вашего DNS сервера как forwarder для зоны .bit.

Пример для BIND:


zone "bit" {
     type forward;
     forward only;
     forwarders {
          91.217.137.44;
          80.233.248.109;
     };
};

* Поддержку доменов в зонах .emc .coin .lib .bazar планируется добавить в ближайшем будущем.

Статистика

Статистика по использованию доменов в зонах .bit .emc .coin .lib .bazar вы можете найти в разделе «Разное» .

Список доменов с возможностью фильтрации доступен в разделе «Просмотр сайтов«.

P.S. Исходные коды whois и dns сервера доступны на github.

P.S.S. При копировании статьи ссылка на источник ОБЯЗАТЕЛЬНА ! Уважайте чужой труд.

Автор: Николаев Дмитрий (virus (at) subnets.ru

Ничего не понялТак себе...Не плохоДовольно интересноОтлично ! То что нужно ! (Еще не голосовали)
Загрузка...
Отправить на почту Отправить на почту

Monit — это легковесная система мониторинга серверов, имеющая открытый исходный код. Monit устанавливается на сервер и обеспечивает возможность отправки уведомлений в случае обнаружения проблем. Кроме того, Monit может автономно выполнять определенное действие в качестве реакции на заданные события.

Программа имеет следующую функциональность:

  • Отслеживание состояния серверов (доступность, потребление ресурсов).
  • Мониторинг демонов (состояние, потребляемые ресурсы, количество child-process и многое другое).
  • Мониторинг сетевых сервисов (возможность подключения и корректность ответа).
  • Выполнение встроенных или собственных (с помощью скриптов) действий при достижении определенных событий.
  • Отправка уведомлений на Email или в централизованный web-интерфейс M/Monit.

Поддерживаются ОС GNU\Linux, FreeBSD, OpenBSD, Solaris, Mac OS X, AIX.

M/Monit — коммерческая надстройка над Monit, средство централизованного мониторинга, с помощью которого можно отслеживать состояние нескольких серверов с одного графического интерфейса. На официальном сайте доступна бесплатная версия с ограниченным функционалом.

Давно я, очень давно, хотел опробовать систему мониторинга monit, но все как-то руки не доходили.

Вот наконец настал сей момент. Действительно легкая, с хорошим функционалом, система.
Не буду распаляться о всех возможностях monit, т.к. в Инете инфы и так куча, остановлюсь на нескольких фичах:

  • на каждом хосте, где работает monit, есть возможность поднимать web-интерфейс для просмотра состояния системы и отслеживаемых ресурсах
  • возможность каждого хоста отправлять свои данные на другой хост через HTTP POST запрос с передачей XML

M/Monit как раз строится на последней фиче. Посмотрел M/Monit и понял две вещи:

  • идея одной страницы для всех хостов очень здравая, т.к. когда серверов десятки, то бегать по станицам каждого из них точно замучаешься
  • графики и прочее мне не нужны, т.к. для этого есть RRD, MRTG и т.п.

А мне нужна простая возможность окинуть взглядом состояние всех серверов с Monit.
Так я начал проект mmonit-free.subnets.ru, который решил выложить в общий доступ.

Получилась бесплатная и простая альтернатива M/Monit, которая обеспечивает отображение информации по всем серверам с установленным Monit в одном web-интерфейсе.
Уведомлениями о проблемах занимается сам Monit и потому в mmonit-free нет никаких баз данных и настроек.

Открыл, узрел последнюю информацию, осознал, закрыл. mmonit-free протестирован с Monit версии 5.25.0.

mmonit-free доступен на github: github.com/subnetsRU/mMonit-free

Инсталляция проста до безобразия и займет несколько минут:

  • Скопируйте файлы проекта в директорию вашего HTTP сервера.
  • Отредактируйте файл config.php
  • Установите права на запись для папки collector/data для пользователя от которого запущен HTTP сервер.
  • В конфигурации monit укажите путь для отправки данных:
    • set mmonit http://ip-or-hostname-of-the-web-server/mMonit-free/collector/index.php

Пример указания коллектора в конфиге monitrc:

set mmonit http://mmonit-free.subnets.ru/collector/index.php
with timeout 15 seconds

Ничего не понялТак себе...Не плохоДовольно интересноОтлично ! То что нужно ! (Еще не голосовали)
Загрузка...
Отправить на почту Отправить на почту

Интеграция Asterisk и Telegram

На одном из форумов посвященных Asterisk`у в очередной раз подняли тему «Как не терять звонки». Тему о том как уведомлять, себя любимого, да и не только себя, о пропущенных вызовах и/или совершенной переадресации. И в очередной раз был предложен метод с использованием СМС. Но ведь есть и другой способ, который на мой взгляд лучше — Telegram.

Почему Telegram ? Потому, что данный мессенджер удобен и у него много приятных фишек, например таких как боты.
Собственно с помощью бота можно не только отправлять себе что-то, но и получить обратную связь.
У нас уже был опыт подобной связи и мы уже использовали эту возможность для соединения нашего чата с Telegram, дабы иметь возможность общаться не только сидя перед компом.

Итак далее про интеграцию Asterisk и Telegram.
Чтобы показать пример отправки сообщения в Telegram я по быстрому зарегистрировал нового бота и создал небольшой PHP скрипт, который расположил тут: http://bot.subnets.ru/telegram/
Принцип работы такой:

  • устанавливаем приложение telegram на телефон или используем web версию telegram
  • находим бота (по имени пользователя) @msaster_bot
  • отправлям боту команду /start
  • запоминаем свой ID в Telegram, который бот выдаст в ответе на команду/start (или отправляем боту команду /me)
  • затем используя ссылку вида http://bot.subnets.ru/telegram/simple.php?user=<TELEGRAM ID>&msg=<MESSAGE TEXT>
    • где <TELEGRAM ID> — ваш ID в Telegram
    • где <MESSAGE TEXT> — текст для отправки

    пример ссылки: http://bot.subnets.ru/telegram/simple.php?user=12345&msg=testMessage

После чего наблюдаем отправленный вами текст на экране своего смартфона/компа.
Таким образом используя вAsterisk функцию CURL и/или другой скрипт вызываемый с помощью функции System, или AGI скрипт, вообщем все то что может обратиться к URL, мы можем отправлять себе сообщения прямо из dialplan Asterisk или консоли сервера.

И вот тут у меня проснулся интерес. Отправлять сообщения конечно здорово, но иметь обратную связь с Asterisk будет ещё лучше.
Как эту обратную связь использовать ? Да первое что мне пришло на ум это callback. Тыкаем в команду бота и тут же получаем callback от своего Asterisk.
Здорово, но мало 🙂 А что если реализовать возможность отправлять в Asterisk команды CLI прямо из Telegram и получать вывод этих команд ? Да, было бы не лишним.
Почему не лишним ? Да потому что ты не все время у компа и если вдруг что-то пойдет не так и тебе позвонят с работы «Ой, все упало !», то подобная прямая связь с Asterisk была бы кстати, т.к. очень быстро готова к использованию и прямо с мобилы.

Потратив некоторое время на разработку функционала самого бота и написав PHP клиента для связи с Asterisk я все же добился необходимого мне результата.

Я смог выполнить произвольную команду в CLI Asterisk. На скриншоте ниже это выполнение команды core show calls:

Интеграция Asterisk и Telegram

Asterisk и Telegram

Ну или даже вот так:

Asterisk и Telegram

Asterisk и Telegram

Вот такой получился интересный, на мой взгляд, проект.

Для скептиков:
Функции защиты всего это добра от использования сторонними людьми предусмотрены:

  • привязка к конкретному Telegram ID
  • идентификация по паролю в самом боте
  • контрольная подпись при отправке/получении данных между ботом и PHP клиентом
  • возможность ограничить доступ к PHP клиенту по IP-адресам
  • возможность указать какие команды Asterisk CLI будут доступны для исполнения

P.S. Если Вы так же хотите попробовать покомандовать своим Asterisk через Telegram, то я могу предоставить Вам такую возможность.
Для этого Вам будет необходимо:

  • ваше желание тестировать и сообщать об ошибках
  • иметь свой сервер с Asterisk
  • иметь установленный PHP (не ниже версии 5.6)
  • запущенный HTTP сервис (например apache), до которого можно достучаться извне
  • обратиться ко мне ( virus [СОБАЧКА-ГАВ-ГАВ] subnets.ru ) для получения паролей и явок 🙂
  • скачать и настроить PHP клиента для связи с Вашим Asterisk (PHP клиент НЕ обязательно должен быть расположен на сервере с Asterisk, он может находится и отдельно (например на Вашем WEB сервере))
  • выполнить настройки HTTP службы в Asterisk

P.S.S. При копировании статьи ссылка на источник ОБЯЗАТЕЛЬНА ! Уважайте чужой труд.

Автор: Николаев Дмитрий (virus (at) subnets.ru

Ничего не понялТак себе...Не плохоДовольно интересноОтлично ! То что нужно ! (Еще не голосовали)
Загрузка...
Отправить на почту Отправить на почту

Мы решили поделиться частью наших трудов в более удобном для разработки, изучения и использования формате — залили их на гитхаб.
Пока там репозитории для четырех наших проектов:
Looking Glass для BIRD
Предотвращение спама в phpbb3
Определение номеров и направлений фродовых вызовов
и практическая часть статьи Asterisk REST Interface (ARI) — реализация на asterisk конференции при помощи ARI и NodeJS.

Ничего не понялТак себе...Не плохоДовольно интересноОтлично ! То что нужно ! (Еще не голосовали)
Загрузка...
Отправить на почту Отправить на почту

Дело было вечером, делать было нечего… 🙂

А теперь серьезно: На НГ праздниках я решил подтянуть свои познания в JS и Websocket.

Для тренировок лучше проекта чем online чат и не найти наверно. Потому и решил написать чат, тем более давно хотел это сделать.

Итак запускаем чат в публичное тестирование:

Для тех кто ЗАРЕГИСТРИРОВАН на нашем форуме

Вы можете зайти в чат используя свой логин и пароль от форума.

Для тех кто НЕ зарегистрирован на нашем форуме

Вы можете зайти в чат используя любой НЕ зарегистрированный на форуме логин, а в кач-ве пароля указывать любой пароль.

Например:

  • Логин: anonym
  • Пароль: anythingyouwant
Ничего не понялТак себе...Не плохоДовольно интересноОтлично ! То что нужно ! (Еще не голосовали)
Загрузка...
Отправить на почту Отправить на почту