mindsellers
74 subscribers
25 photos
8 files
32 links
Практики из жизни Linux-админа. Asterisk, Bash, Python и черная магия.

Сайт http://mindsellers.ru
Группа VK https://vk.com/mindsellers
ТыТруба https://www.youtube.com/channel/UC7LUJgzIUL4VGiOWctoa0fw
По всяким вопросам обращаться @alex_dmit
Download Telegram
Отправка сообщения из Python в комнату в Jabber

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

#!/usr/bin/env python
#-*- coding: utf-8 -*-

import xmpp,sys

xmpp_jid = 'bot@domain.ru'
xmpp_pwd = 'password'
room = 'it@conference.domain.ru'
msg = sys.argv[1]

#Получаем в качестве аргумента сообщение

jid = xmpp.protocol.JID(xmpp_jid)
client = xmpp.Client(jid.getDomain(),debug=[])
client.connect()
client.auth(jid.getNode(),str(xmpp_pwd),resource='xmpppy')
#Авторизуемся
client.sendInitPresence(requestRoster=0)
client.send(xmpp.Presence(to='{0}/{1}'.format(room, jid)))
#Заходим в комнату
message=xmpp.Message(room, '\n'+msg)
#Формируем сообщение
message.setAttr('type', 'groupchat')
#Устанавливаем тип сообщения - групповой чат
client.send(message)
#Отправляем сообщение и отключаемся
client.disconnect()


Вот, собственно, и все. Теперь можно скормить этот скрипт любой системе мониторинга или использовать в иных целях.

#python #jabber #telegram #дуроввернистену
Бесплатный полностью шифрованный мессенджер, или новое - хорошо забытое старое

В связи с бесконечными попытками заблокировать телеграм, а также резким обострением паранойи, мы в компании перевели(ну, вернее, продублировали) все сервисы, завязанные на телегу в корпоративном жаббере. И тут у меня возник вопрос: как обстоят дела в жаббере с шифрованием. Небольшой гуглеж показал, что все сервера и клиенты на текущий момент имеют поддержку ssl-шифрования, что уже неплохо. Однако, все сообщения дешифруются на серверах. И если для корпоративного сегмента это даже хорошо - вроде никто не читает наши послания, но все они аккуратно логируются на сервере, то для личного использования, особенно если рассматривается обмен сообщениями через публичный сервер, такая история крайне нежелательна.

Но решение есть, и оно очень простое.

Все современные клиенты поддерживают шифрование самого текста сообщения по протоколу OTR. Ключи шифрования формируются на клиентских устройствах, и зашифрованный текст собеседника А может быть дешифрован только на устройстве собеседника Б, но будет абсолютно бессмысленным набором символов как для сервера, так и для похитителя этого сообщения. Затем, используя общий одноразовый секретный ключ, оба участника диалога должны подтвердить личности друг друга, чтобы обменяться ключами шифрования. Для этого могут использоваться три метода:

Вопрос-ответ: Один собеседник задает вопрос, второй присылает верный ответ.
Общий секретный ключ: По сути, в начале шифрованного диалога оба собеседника вводят заранее согласованный пароль
Ручной: При встрече можно просто посмотреть ключи друг у друга в клиентах, и убедиться, что ключ действительно принадлежит Васе, а не агенту ЦРУ
Мне лично импонирует второй способ.

Теперь о клиентах и серверах.

Каждый желающий может поднять свой сервер jabber без регистрации и смс, сделать его полностью закрытым, запретить на нем регистрироваться и только вручную добавлять пользователей. Я это уже сделал, так что милости прошу за логинами. Но я прекрасно понимаю, что это, во-первых, не удобно, во-вторых, не слишком надежно, а в-третьих, пока РосКомПозор не протянул свои грязные лапы к жабберу, не имеет особого смысла, так как есть куча публичных, бесплатных серверов. Я рекомендую использовать один из самых старых и надежных — jabber.ru. Регистрация занимает 1 минуту, никакой номер телефона вводить не требуется.

Далее нужно будет поставить клиент. Под Win и Linux есть прекрасная софтина Pidgin, к ней еще потребуется поставить плагин OTR. Под огрызки можно использовать встроенный мессенджер, а под Android установить приложение Xabber.

Вот все необходимые ссылки:

Pidgin https://pidgin.im/
OTR плагин https://otr.cypherpunks.ca/
Xabber https://play.google.com/store/apps/details?id=com.xabber.android&hl=ru
Jabber.Ru http://jabber.ru

Найти меня вы сможете по имени sys_vampire@jabber.ru. Добавляйтесь, и попробуем с вами шифрованные чаты!

#telegram #jabber