Weechat для Matrix с e2ee

Weechat — это легкий, быстрый и очень расширяемый IRC-клиент на основе командной строки. Он кроссплатформенный и может работать на Unix, Linux, BSD, Windows и MacOS.

У программы есть такие дополнительные возможности:

  • Модульная и мультипротокольная архитектура
  • Расширяемость с помощью дополнительных плагинов
  • Полностью документированный и активный проект

Установка

Я использую Arch Linux с yay, но вы можете использовать pacman.

$ sudo yay -S libolm
$ sudo yay -S python-pip
$ sudo pacman -S weechat

Иметь учетную запись на matrix.example.com. Если у вас его нет.

Установите matrix плагин для weechat

Репозиторий загружается с

$ git clone https://github.com/poljar/weechat-matrix.git

и попав внутрь, мы делаем

$ sudo pip install -r requirements.txt

чтобы охватить зависимости от weechat-matrix..

Чтобы установить пакет, он запускается с обычным пользователем

$ make install

который установит файл main.py, переименованный в matrix.py в ~/.weechat/python, вместе с другими файлами python.

Если мы хотим, чтобы плагин загружался при запуске Weechat, нам нужно сделать

$ mkdir ~/.weechat/python/autoload
$ ln -sf ~/.weechat/python/matrix.py ~/.weechat/python/autoload/matrix.py

Вероятно, Weechat не загружает Python при запуске Weechat. Это потому, что он будет искать libpython3.8.so.1.0 или версию, которая находится в /usr/lib/. Это решается созданием ссылки на libpython3.so, уже установленную в том же каталоге с

$ sudo ln -sv /usr/lib/libpython3.so /usr/lib/libpython3.8.so.1.0

Установить пароли

Оказавшись внутри Weechat, мы начнем настраивать его, требуя пароль для входа в Weechat

/secure passphrase <passwd>

и еще один для входа на сервер matrix.example.com (это должен быть пароль учетной записи matrix.example.com)

/secure set example_passwd <passwd>

Сохранить изменения

/save

Подключитесь к matrix.example.com

С установленным паролем example мы можем безопасно настроить доступ к example. Добавляем сервер

/matrix server add example_matrix matrix.example.com

и установите наше имя пользователя

/set matrix.server.example_matrix.username <username>

и пароль

/set matrix.server.example_matrix.password "${sec.data.example_passwd}"

Мы сохраняем изменения

/save

“${sec.data.hispagatos_passwd}" Содержит пароль, созданный в разделе выше.

Подключаем к серверу с

/matrix connect example_matrix

Ключи

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

/olm verify @nick:example.com
/olm verify :example.com
/olm verify :matrix.org
/olm verify @nick:matrix.org

Если у вас уже есть ключи, ранее экспортированные в файл, вы можете импортировать их следующим образом:

/olm import /home/user/downloads/riot-keys.txt <password of the backup>

Чтобы экспортировать ключи для резервного копирования или использования на другом устройстве:

/olm export /home/user/downloads/riot-keys.txt <password of the backup>

Автоматическое подключение

Если мы хотим автоматически подключаться к example_matrix при входе в Weechat, нам придется изменить значение параметра.

/fset example_matrix

Будут отображены все параметры, относящиеся к серверу example_matrix. Одним из них является *.autoconnect и активируется с

/set matrix.server.example_matrix.autoconnect on

и изменения сохранены

/save

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

Проверка орфографии

Пожалуй, уже не один линуксоид не может жить без проверки орфографии :) В weechat для его настройки используется плагин aspell и требует установленного в системе aspell.

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

/aspell dictlist

Вывод команды будет показан в буфере сервера.

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

/set aspell.check.default_dict "ru"

Что бы в определенном буфере установить определенный словарь, необходимо в его буфере установить его. Т.е. допустим что бы установить для англоязычного канала #awesome английский словарь, просто переходим в его буфер и пишем:

/aspell enable en

Кстати, вы всегда можете глобально установить несколько языков для проверки:

/set aspell.check.default\_dict "ru, en"

Быстрые клавиши и часто-используемые команды

Команды:

  • /join #канал Войти на канал
  • /leave – покинуть- текущий канал
  • /buffer close – закрыть текущий буффер
  • /buffer clear – очистить буффер
  • /connect имя_сервера – подключиться к определенному серверу
  • /connect -all – подключиться ко всем серверам
  • /disconnect -all – отключиться от всех серверов
  • /disconnect имя_сервера – отключиться от определенного сервера
  • /quit – выход

Клавиатурные сочетания

  • ctrl+a – В начало строки
  • ctrl+e – В конец строки
  • ctrl+k – Удалить от позиции курсора, до конца командной строки
  • ctrl+u – Удалить от позиции курсора, до начала командной строки
  • ctrl+w – Удалить предыдущее слово командной строки
  • alt+d – удалить следущее слово командной строки
  • alt+r – Удалить все содержимое командной строки
  • ctrl-r – Поиск
  • ctrl+y – Вставить из буфера
  • alt+b – К предыдущему слову командной строки
  • alf+f – К следующему слову командной строки
  • alt+n – Прокрутить к следующему подсвеченному сообщению
  • alt+p – Прокрутить в предыдущему подсвеченному сообщению
  • alt+u – Перейти к первому непрочитанному сообщению
  • ctrl+n(F6) – Следующий буфер
  • ctrl+p(F5) – Предыдущий буфер
  • F12 – на одну страницу ников вниз
  • F11 – на одну страницу ников вверх
  • Alt+1-9 – на буфер с номером
  • Alt+a – Перейти к буферу с активностью(где написали ваш ник к примеру)
  • PageUp – пролистать буфер вверх
  • PageDown – пролистать буфер вниз

Резервное копирование и шифрование конфигурации Weechat

Мы рассмотрели только основы конфигурации Weechat, так как среднестатистическому пользователю, скорее всего, не нужно будет делать что-то большее, чем это. Тем не менее, если вы опытный пользователь и у вас есть много личных вещей в папке ~/.weechat/weechat.conf, лучше всего хранить зашифрованную резервную копию.

Переход по маршруту шифрования означает, что никто кроме вас не сможет получить доступ к вашему файлу конфигурации. Чтобы начать шифрование, убедитесь, что GPG установлен. Затем откройте окно терминала и зашифруйте ваш конфиг.

$ cd ~/.weechat
$ gpg -c weechat.conf

Вывод шифрования должен быть ~/.weechat/weechat.conf.gpg. Переместите зашифрованный файл конфигурации в папку /home/.

$ mv weechat.conf.gpg ~/

Теперь, когда файл в безопасности, загрузите его в Dropbox, Google Drive и т.д. Расшифруйте файл в любое время, выполнив команду расшифровки в GPG.

$ gpg weechat.conf.gpg
$ mv weechat.conf ~/.weechat

В целом, пользоваться Weechat легко и приятно. При этом клиент ничем не уступает HexChat, а в чем-то его и превосходит.