Меню Рубрики

Установка centos для telegram api

Установка MTProto Telegram прокси из исходников на Centos 7

simply run ‘make’

Всем привет. Обойдусь без лишних прелюдий — многие ждали официального релиза, и вот — дождались. На хабре уже есть парочка статей как установить MTProxy из докера.

А вот с установкой из исходников многие обломались — после simply run ‘make’ выдаются ошибки. Как установить MTProxy из исходников без ошибок на Centos 7 — под катом

Загружаем исходники

Проверяем версию openssl

Скорей всего вывод будет вроде:

Обновляем openssl до 1.1.0

Устанавливаем вспомогательные тулзы

Скачиваем исходники версии 1.1.0

Распаковываем и переходим в папку

Добавляем новую версию в PATH:

Проверяем версию openssl

Открываем Makefile и добавляем
CFLAGS: -I/usr/local/openssl/include
LDFLAGS: -L /usr/local/openssl/lib

И только теперь simply make.

Всем успехов, надеюсь помог

Похожие публикации

Блокировка Telegram и AWS — Утро начинается не с кофе

Поднимаем SOCKS прокси для Telegram

Биороботы нашего времени — избавляемся от рутины вместе с Telegram. Реальный кейс без фантазий

Комментарии 23

Подскажите, на десктопном клиенте есть возможность настроить соединение чрез MTProto?

Не только в альфа-версии. Можно и в стабильной (1.3.0).

./config —prefix=/usr/local/openssl —openssldir=/usr/local/openssl shared zlib
make
make test
sudo make install

Результат будет в папке MTProxy/objs/bin

Ставил на Ubuntu 16.04 LTE, напоролся на ту же проблему. Выяснил, что дело в версии openssl. Не стал разбираться со сборкой openssl 1.1 из исходников, опыта возни с линуксами не хватило, зато где-то нашел, что указанные «недостающие» функции EVP_MD_CTX_new и EVP_MD_CTX_free были и в openssl 1.0.2, но назывались там, соответственно, EVP_MD_CTX_create и EVP_MD_CTX_destroy.

Короткая пробежка по исходникам поиском и заменой (по 2 вхождения каждой функции в common/sha256.c и common/sha1.c, и одно в net/net-msg.c) привела к тому, что прокси прекрасно собрался и работает на «штатной» openssl 1.0.2g.

На гитхабе тем временем уже есть чей то пуллреквест, который делает примерно то же самое (алиасит _new и _free через дефайны в _create и _destroy).

источник

Установка и настройка SIP шлюза для Telegram

Telegram — кроссплатформенный мессенджер, позволяющий обмениваться сообщениями и медиафайлами многих форматов. Так же данный мессенджер позволяет осуществлять аудио звонки между пользователями Telegram, благодаря разработки с открытым исходным кодом https://github.com/Infactum/tg2sip появилась возможность взаимодействия между Asterisk и Telegram по SIP протоколу. В рамках данной статьи будет рассмотрено как выполнить установку и настройку SIP шлюза для Telegram. Возможности […]

Telegram — кроссплатформенный мессенджер, позволяющий обмениваться сообщениями и медиафайлами многих форматов. Так же данный мессенджер позволяет осуществлять аудио звонки между пользователями Telegram, благодаря разработки с открытым исходным кодом https://github.com/Infactum/tg2sip появилась возможность взаимодействия между Asterisk и Telegram по SIP протоколу.

В рамках данной статьи будет рассмотрено как выполнить установку и настройку SIP шлюза для Telegram. Возможности SIP шлюза:

  1. Звонки из Telegram на внутренний номер Asterisk
  2. Звонки из Asterisk пользователю Telegram по никнейму или номеру телефона

При написании статьи так же использовались следующие библиотеки и программные продукты с открытым исходным кодом:

  1. Кроссплатформенная библиотека для построения клиентов Telegram —
  2. Библиотека для организации PJSIP медиа стека —

  • Библиотека для логирования —
  • SIP шлюз для Telegram –
  • Скрипт установки кроссплатформенной системы автоматизации сборки программного обеспечения из исходного кода Cmake —
  • Кодек OPUS –
  • 1. Перейдём в WEB панель управления FreePBX через интернет обозреватель(Opera, Firefox, Google Chrome, Yandex Browser….) по ссылке вида: http://IP_адрес_сервера_Asterisk/ В примере ссылка имеет вид: http://192.168.1.231/

    2. Пройдём авторизацию во FreePBX, нажмём «FreePBX Administration», введем «username и password» и нажмём «Continue»

    3. Перейдем в меню Connectivity → Trunks → Add Trunk(SIP) и заполним ключевые параметры транка:

    1) Trunk Name – наименование транка на вкладке General
    2) Trunk Name — наименование sip пира на вкладке «sip Settings»
    3) PEER Details – параметры транка. В примере SIP шлюз будет установлен на тот же сервер, что и Asterisk(т.е. локально), IP сервера 192.168.1.231 и порт шлюза должен быть отличным от используемого порта в Asterisk(в примере 5062)

    4. Для возможности звонков на telegram с использованием коротких внутренних номеров, рассмотрим вариант создания Custom номеров, для этого перейдем в меню Applications → Extensions → Add Extension → Add New Custom Extension и заполним ключевые параметры:

    1) User Extension – короткий внутренний номер, на вкладке General.
    2) Display Name – имя внутреннего номера, на вкладке General.
    3) Dial – строка вызываемого номера, на вкладке Advanced. Для звонка по никнейму должна иметь вид: SIP/tg# @192.168.1.231:5062. Для звонка по номеру мобильного должна иметь вид: SIP/+7XXXXXXXXXX@192.168.1.231:5062.

    5. Для взаимодействия с Telegram необходимо выполнить регистрацию приложения и получить APP ID и API HASH, для этого перейдем на страницу https://my.telegram.org/auth и пройти авторизацию с использование мобильного номера

    По смс или на авторизованный клиент Telegram-а придет сообщение с кодом авторизации, скопируем его и введем на странице авторизации. После успешного прохождения авторизации нам станет доступен раздел «API development tools», перейдем в него

    Для регистрации приложения необходимо заполнить следующие поля:

    1) App title – название приложения
    2) Short name – упрощенное наименование приложения
    3) URL – ссылка на сайт проекта
    4) Platform – платформа создаваемого приложения, т.к. наше приложение не попадает не под один из критериев то выберем Other
    5) Description – описание создаваемого приложения

    После успешного заполнения формы система сгенерирует автоматически необходимые значения APP ID и API HASH, скопируем данные значения для последующей настройки.

    6. Выполним подключение по SSH к серверу IP АТС Asterisk. В зависимости от используемой системы(Windows, Linux, MacOS), подключение по SSH можно выполнить с использованием различного дополнительного программного обеспечения(Putty), либо системного терминала.

    7. Прежде чем приступить к установке шлюза, нам необходимо выполнить установку ряда зависимостей, для этого в SSH консоли на сервере Asterisk выполним команды:

    8. Для сборки из исходников ряда зависимостей и SIP шлюза для Telegram, потребуется кроссплатформенная система автоматизации сборки программного обеспечения из исходного кода Cmake 3.9.6, для установки Cmake в SSH консоли на сервере Asterisk выполним команды:

    9. Одной из необходимых зависимостей является кроссплатформенная библиотека для построения клиентов Telegram «Tdlib», приступим к её сборке и установке, для этого в SSH консоли на сервере Asterisk выполним команды:

    10. Так же необходимой зависимостью является библиотека для организации PJSIP медиа стека «PJProject», приступим к её сборке и установке, для этого в SSH консоли на сервере Asterisk выполним команды:

    11. Последней необходимой зависимостью является библиотека для организации логирования в C++ SPDlog, приступим к её сборке и установке, для этого в SSH консоли на сервере Asterisk выполним команды:

    12. Успешно завершив сборку и установку всех вышеописанных зависимостей, приступим к сборке и установке SIP шлюза для Telegram, для этого в SSH консоли на сервере Asterisk выполним команды:

    13. Успешно выполнив сборку и установку SIP шлюза для Telegram, приступим к его настройке, для этого в SSH консоли на сервере Asterisk выполним команду:

    И приведем конфигурационный файл к виду:

    где ключевые параметры для изменения:

    1. logging — уровни логирования(0-трасировка 2-информационные 4-ошибки 6-отключено 1-отладка 3-warn 5-критические)
    2. port — порт который будет слушать шлюз, должен быть отличным от порта Asterisk, в примере данной статьи используем 5062 порт
    3. >Настройка SIP2TG шлюза

    14. Для корректного прохождения голоса потребуется установка OPUS кодека, для этого в SSH консоли на сервере Asterisk выполним команды:

    Приведем конфигурационный файл к виду:

    Выполним подключение кодека:

    15. Т.к. SIP шлюз не позволяет в строку callback_uri подставлять разные внутренние номера, то для удобства созвона с нужным внутренним номером направим входящий звонок для экстена telegram в контекст быстрого голосового набора рассмотренного в статье

    16. На этом установка и подготовка завершены, выполним запуск SIP шлюза. Для первого раза единожды необходимо будет запустить gen_db для заведения базы необходимой созданному клиенту Telegram, для этого в SSH консоли на сервере Asterisk выполним команды:

    17. Звонок с Telegram на внутренний номер

    18. Звонок с внутреннего номера на кастом внутренний номер с закрепленным за ним никнеймом telegram пользователя

    источник

    Телеграмм-бот, опрашивающий linux-сервер

    В последнее время увлекаюсь Pythonом. Хотелось написать что-то более существенное, чем коды типа helloworld. Поскольку с интересом смотрел еще и в сторону ботов телеграмма, родилась идея создать бота, который бы запускал команды или скрипты на удаленном сервере (linux) и возвращал бы результат в телеграмм. Зачем? Удобно! Не надо логиниться на сервак, чтобы получить информацию о нагрузке на процессор, свободной памяти или объеме диска. Можно даже запускать скрипты.

    И так изучаем python и api telegram bot, регистрируем своего бота в телеграмм, скачиваем готовые скрипты, запускаем их на своем серваке и меняем config.py под себя.

    1) Регистрация бота телеграмм. Находим отца всех ботов – @BotFather. Пишем ему:

    В ответ на его сообщение вводим имя вашего нового бота. Оно обязательно должно иметь на конце слово bot.

    Если имя не занято и оно введено верно, то вы получите токкен – вам необходимо будет его скопировать в файл config.py скрипта:

    2) Загружаем скрипт. Это первая тестовая версия скрипта – для того чтобы оценить возможности во-первых самого питона, во-вторых – бота telegram. Приветствуются любые пожелания и предложения – допилю. Можете сами что-то добавить – просьба тоже поделится. Каковы возможности программы (их можно посмотреть набрав в своем боте /help):

    • посмотреть сетевые настройки (запускает на сервере команду ifconfig)
    • получить информацию о дисковом пространстве (запускает на сервере команду df -h)
    • получить информацию о памяти (запускает на сервере команду free -m)
    • получить информацию о нагрузке на процессор (запускает на сервере команду mpstat)
    • получить информацию о размере папки, заданной в config.py (запускает на сервере команду du -sh имя папки)
    • проверяет наличие и размер файла в папке (запускает на сервере команду ls -lh файл). Делаю бэкап базы 1с в монтируемую сетевую папку с именем файла по дате – поэтому возникла такая необходимость.

    Что еще планирую реализовать: запуск любого скрипта (возможно без вывода всего выполнения, а только конечного результата), улучшить вывод результата – более удобочитаемого, сбор статистики в базу данных и вывод графиков по нагрузкам и т.п.

    Для запуска скрипта необходим python 3 и python-telegram-bot. У меня стоит centOS. Там уже стоит 2 версия питона. Ставим рядом 3 питон и библиотеку для работы бота:

    bot – файл bash-скрипта запускающего python3 bot.py
    bot.py – непосредственно сам скрипт бота. Тем кто знаком с питоном – добро пожаловать внутрь.
    config.py – хранит настройки. Туда вписываете токкен, полученный в телеграмме. Затем запускаете скрипт.

    В приложение телеграмма вводите:

    Таким образом вы получаете ваш личный >
    В строке dir1 прописываем путь к папке объем которого бы мы хотели контролировать (у меня это путь до папки с базами pgsql)

    В строке dir_backup – путь к папке где лежит файл, объем (или наличие) которого необходимо контролировать. У меня это файл вида 20170218.tar.gz. По умолчанию именно вариант с названием файла годмесяцдата.tar.gz проверяется. Если вы хотите изменить маску проверяемого файла, то вам необходимо найти и отредактировать в файле bot.py строку

    Имейте ввиду, что дальнейшем при исправлении файла config.py вам не нужно будет перезапускать скрипт. Все настройки перечитываются скриптом каждый раз заново.

    Неплохо бы добавить этот скрипт в автозагрузку. Для CentOS 7:

    Добавляем его в автозагрузку:

    Можем вводить команды. Начинаем с /help.

    источник

    Telegram bot для Linux сервера: мониторинг, уведомления, управление

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

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

    Создание чат-бота в Telegram

    Для создания чат-бота в Telegram используется бот @BotFather. Чтобы создать своего бота, нужно найти @BotFather у себя в Telegram и перейти в чат с ним:

    Нажмите START. Чтобы создать нового бота, выберете в меню /newbot, введите имя бота в формате “имя_bot». После создания бота, вы получите API токен бота, который нужен будет в дальнейшей настройке.

    Теперь нужно узнать user_id — это ID часа с ботом, в который он будет отправлять уведомления. Перейдите в ваш с ним чат и нажмите старт и отправить любой символ. После этого в браузере перейдите по адресу:

    https://api.telegram.org/bot /getUpdates — где это API который выдал BotFather.

    На скриншоте выделен ваш ID.

    Итак, мы создали бота в Telegram и получили авторизационные данные.

    Отправка в чат Telegram уведомлений с сервера

    С помощью ранее созданного бота и полученных ID можно отсылать с сервера уведомления в Telegram чат, и таким образом получать какие-то интересные нам данные или алерты.

    Для отправки сообщения в чат, нужно использовать следующий URL:

    https://api.telegram.org/bot /sendMessage?chat_ >&text=

    Где:
    — это API который выдал @BotFather
    — это ID вашего чата с ботом.

    # curl -s -X POST https://api.telegram.org/bot944496485:AAEtGaGCVrQ7d26Rc3r_cqXPIhrKVokh8e4/sendMessage -d chat_

    Для чего можно использовать такие Telegram уведомления? Например, при создании резервной копии вы можете отправлять уведомления о ее создании или же отправлять ссылку на скачивание копии в чат с ботом. Вы можете отправлять себе в Telegram уведомления с информацией о сбоях в системе. Можно добавить в крон выполнение каких-либо проверок с последующей отправкой в Telegram.

    Еще пример использования подобных уведомлений:

    # curl -s -X POST https://api.telegram.org/bot944496485:AAEtGaGCVrQ7d26Rc3r_cqXPIhrKVokh8e4/sendMessage -d chat_ &>/dev/null 2>&1

    Добавьте этот код в /etc/profile и будете получать уведомления в Telegram при каждом входе пользователей на сервер:

    Хочу напомнить, что во всех командах, нужно указывать именно своей token(API) и ID чата.

    Управление Linux сервером в чат-боте Telegram

    Есть набор скриптов, которые позволяет управлять сервером Linux из Telegram чата, отправляя различные команды в чат с ботом. Для этого нужно установить Python, ряд инструментов и загрузить на сервер скрипты.

    # wget https://www.python.org/ftp/python/3.6.0/Python-3.6.0.tar.xz
    # yum install xz -y
    # tar -xpJf Python-3.6.0.tar.xz
    # cd Python-3.6.0
    # yum groupinstall «Development tools» -y
    # yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel -y
    # ./configure
    # make
    # make install

    Создайте симлинк для Python:

    # ln -s /usr/local/bin/python3 /usr/bin/python3

    И установите ПО для самого бота:

    # pip3 install python-telegram-bot —upgrade

    Теперь скачайте и распакуйте к себе на сервер в каталог root/admin три файла из архива telegram_bot.zip:

    Рассмотрим файл config.py. В нем нам нужно указать token(API) и ID вашего чата с ботом, а также путь до директорий с бэкапами и директории, размер которой вы будете в дальнейшем проверять:

    Файл bot.sh не требует настройки, в нем лишь указываем путь до bot.py:

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

    Тут описываются все функции, которые будут доступны, после ввода команды /help.

    Ниже описывается сама функция, например,

    И эту функцию, нужно описать как команду:

    То есть как видим, это выполнение стандартной функции проверки сетевых настроек ifconfig.

    При знакомстве с ботом я попытался добавить собственную команду, например для проверки Apache:

    Но только через настройку данного файла это не сработало. Как я понял, здесь можно выполнить только команду описанную одним словом или символами. Я решил проблему создав файл apache_status.sh с содержимым:

    #!/bin/bash
    service httpd status

    # ln -s /root/admin/apache_status.sh /usr/local/sbin/apachestatus

    Теперь при вызове команды apachestatus, у меня выводит статус веб-сервера apache:

    В файле bot.py я заполнил все три блока, согласно других функций. Чтобы bot заработал, нужно запустить файл bot.sh. Для удобства, создадим отдельный сервис для Telegram бота. Создаем нужный файл и выставляем права:

    # touch /etc/systemd/system/telegram-bot.service
    # chmod 664 /etc/systemd/system/telegram-bot.service

    После чего заходим в файл сервиса:

    # systemctl start telegram-bot.service
    # systemctl enable telegram-bot.service
    # systemctl status telegram-bot.service

    Теперь, если в чате с вашим ботом ввести /help, вы получите список доступных команд.

    Например, в данный момент у меня на сервере остановлен веб-сервер Apache:

    Запустим его на сервере и проверим статус через Telegram:

    Еще несколько примеров выполнения команд:

    Таким образом, вы можете выполнять мониторинг своего Linux сервера или даже частичное администрирование через Telegram, что поможет сильно сократить время на выполнение типовых действий.

    Так же хотел бы заметить, что авторизация сервера с ботом происходит именно по ID и token(API) (любой другой человек, не зная ваших данных, подключиться не сможет).

    На момент выпуска статьи, тестовый бот удален.

    источник

    Читайте также:  Установка криптопро на дебиан

    Добавить комментарий

    Adblock
    detector