- Блог Эникейщика
- Pidgin всегда и везде
- Длинное вступление
- Один для всех
- Синхронизируем
- Шифрование и безопасность
- Командная строка
- Добавим плагинов
- [pidgin] Кто какие плагины использует?!
- Собираем плагин Skype для Pidgin под Windows
- Загрузка и установка MSYS2
- Устанавливаем необходимые пакеты
- Собираем Pidgin и плагин
- 6 комментариев к записи
Блог Эникейщика
Эникейщик – это человек, умеющий доступно и терпеливо объяснять, где находится клавиша Any Key ©
Pidgin всегда и везде
Эта статья про клиент обмена мгновенными сообщениями Pidgin. Про то как синхронизировать настройки и зашифровать сообщения. А еще эта статья про унификацию. Мне нравится находить и использовать общие для разных операционных систем решения. Будь то программы или технологии, как например DropBox или EncFS. Теперь и клиент обмена мгновенными сообщениями.
Длинное вступление
За долгое время знакомства с компьютером я перепробовал множество IM(Instant messaging) протоколов и клиентов к ним. Со временем основным протоколом стал Jabber, хотя до сих пор остаются контакты в ICQ и Yahoo. Но использую последние редко. Клиентов тоже было множество (Exodus, Coccinella, Psi, Tkabber, Gajim, Mcabber, Miranda IM …), Pidgin тоже пробовал, но как то не пошел. В итоге остановился Gajim в Linux и Miranda в Windows.
Долгое время эта связка меня устраивала. Пока в поисках замены Ubuntu с ее Unity я эту самую Ubuntu с Unity не опробовал. Все оказалось не так уж и страшно. Более того мне понравилось и теперь это мое основное рабочее окружение. А вот Gajim с Unity работать отказался, пришлось искать замену. Тогда я и поставил Pidgin во второй раз. Оказалось что он тоже не так уж и плох, да и с Unity дружит. Заодно посмотрел на него и под Windows уже имея ввиду.
Один для всех
Извиняюсь за длинное вступление, мне показалось важным описать путь приведший меня к этому клиенту. Теперь ближе к теме: Pidgin — модульный клиент мгновенного обмена сообщениями для GNU/Linux, Windows и BSD. Распространяется на условиях GNU General Public License. Pidgin использует библиотеку GTK+ для отображения интерфейса.
Поддерживает множество протоколов (всего 17), интересующие меня Jabber, ICQ и Yahoo присутствуют. Мультипротокольность большой плюс программы, но не единственный. Стандартные функции такие как расширенные статусы, SSL/TLS … есть. Из дополнительных поддержка метакотактов, комментарии к пользователям из контакт-листа и многие другие. В целом клиент с достойным функционалом и внешним видом.
Кроме того есть CLI фронтэнд именуемый Finch. Вернее к библиотеке libpurple лежащей в основе программы есть два фронтэтда графический Pidgin и консольный Finch. Иногда, для прокачки скила, я использую исключительно интерфейс командной строки. На бытовом уровне этот навык может пригодится когда например необходимо протянуть время работы ноута от батареи. И тут в тему, Finch пошел на замену используемого раньше IM клиента Mcabber.
Существует еще несколько надстроек над libpurple, наиболее интересны Adium и Instantbird. Насколько они совместимы по настройкам и плагинам я не проверял, но надеюсь совместимы, особенно — Adium. Родной клиент под Mac OS X, совместимый по настройка был бы очень в тему.
Что еще можно рассказать? Написана программа в 1999 году Марком Спенсером и назвалась GAIM (GTK+ AOL Instant Messenger). Навязчивые требования America Online привели к смене названия на Pidgin. Заодно сменили название основной библиотеки с libgaim — на libpurple. Само название «пиджин» это игра слов, с одной стороны так именуется упрощенный язык, с другой созвучно Pigeon (анг. голубь), отсюда логотип программы. Пурпурный цветом логотип обязан названию основной библиотеки libpurple. А Finch соответственно зяблик, в смысле тоже птица (наверно тут тоже игра слов).
Ставится просто, в Windows, скачиваем инсталатор и дальше по стандартной схеме. Для Ubuntu командуем:
sudo apt-get install pidgin
sudo apt-get install finch
Синхронизируем
Теперь про унификацию. Я уже пытался использовать одни клиент на все системы. Tkabber, отличный jabber клиент, но уж очень кошмарно выглядел под Ubuntu. Gajim наоборот, как многие GTK приложения, под Windows. Теперь когда новый кандидат везде устроил почему бы не синхронизировать настройки контактов, историю сообщений …? Сказано — сделано. Для синхронизации я использовал DropBox. Хотя подойдет и любой другой облачный сервис, просто DropBox мне удобней и привычней. Побочный эффект — добавляется система резервного копирования.
Делается все просто. Каталог с настройками, называется он .purple и находится в домашнем каталоге пользователя, копируется на Dropbox. Старый каталог удаляется а на его место создается символическая ссылка каталога на DropBox. Важно делать именно так, наоборот работать не будет. Повторяем на других системах удаляем каталог с настройками, создаем символическую ссылку с каталога на Dropbox’е.
mv .purple DropBox\
ln -s DropBox\.purple
В Windows, если это Windows 7:
mklink /D “C:\Users\User\AppData\Roaming\.purple” “C:\Users\User\Documents\My Dropbox\.purple”
В Windows XP символические ссылки есть, но нет программ для их создания. Можно воспользоваться утилитой Junction:
junction -s “C:\Documents and Settings\User\Application Data\.purple” “C:\Documents and Settings\User\My Documents\My Dropbox\.purple”
Схема не без недостатков. Первый — нужно давать время на синхронизацию перед запуском Pidgin, и после выхода перед выключением компьютера. Второй — одновременно можно держать запущенным только один клиент. Еще один будет описан ниже в главе про безопасность.
На еще один вариант синхронизации я наткнулся когда искал способ перенести историю сообщений. К сожалению я не нашел плагина для переноса истории сообщений в Pidgin. Зато я нашел целый сервис для хранения и синхронизации истории сообщений — IM History. Поддерживается множество клиентов, Pidgin присутствует. Можно сказать хороший, годный сервис.
Шифрование и безопасность
Одна из особенностей клиента все пароли к учетным записям хранятся в открытом виде. И это принципиальная позиция разработчиков . Тут я с ними склонен согласится, множество программ якобы шифрующих пароли ничего на самом деле не шифруют. Есть даже плюсы — меньше забот при работе с забывчивыми пользователями. Ну а о безопасности нужно позаботится самим. Вариантов решения задачи несколько.
Пользователям Linux проще. Начать можно с того что во многих дистрибутивах домашний каталог шифруется. Например в Ubuntu для этого используется eCryptfs. Это уже само по себе исключает доступ к паролям случайного человека. Кроме того существуют плагины позволяющие использовать стандартные сервисы хранения паролей такие как GNOME Keyring(pidgin-gnome-keyring) и KWallet (libpurple-kwallet-plugin). Просто устанавливаем плагин и пользуемся:
sudo add-apt-repository ppa:pidgin-gnome-keyring/ppa
sudo apt-get update && sudo apt-get install pidgin-gnome-keyring
Я что делать если вы пользователь Windows? Или как я синхронизируете клиент через DropBox (вот он еще один недостаток)? Тут на помощь придет EncFS. Я уже подробно рассказывал как использовать EncFS под разными операционными системами, добавлю только что при использовании EncFs для шифрования каталога с настройками Pidgin добавляется еще один бонус — шифруется еще и вся история сообщений.
Теперь можно поговорить про шифрование переписки. Для Pidgin существует несколько плагинов для шифрования переписки. Наиболее интересны два Pidgin-GPG и Off-the-Record Messaging (OTR). Есть варианты как для Windows, так и для Linux. Первый позволяет использовать для шифрования OpenPGP, второй реализует поддержку популярного для систем мгновенного обмена сообщениями стандарта OTR. Какой из них использовать? Тут на ваш выбор, я использую OTR — меньше лишних телодвижений.
Для примера установим Off-the-Record Messaging плагин, в Ubuntu это делается так:
sudo apt-get install pidgin-otr
В Windows достаточно скачать инсталятор отсюда
и запустить на установку. После запускаем Pidgin и в меню Сервис –> Модули активируем установленный плагин. Также потребуется выбрать учетные записи для которых использовать модуль и сгенерировать ключи шифрования (вкладка настроить).
Командная строка
Еще Pidgin’ом можно управлять из командной строки. Может пригодится если нужно получить определенную реакцию компьютера на какое то событие. А можно просто посылать сообщения по расписанию с использованием cron. Например изменить статус и послать сообщение:
Более сложный вариант со случайной цитатой(найдено на просторах сети):
Добавим плагинов
Маловато будет? Добавим плагинов. Модульность одно из главных достоинств клиента. Список доступных плагинов можно найти тут. Весь список перечислять не буду, там их много. Про некоторые используемые мной плагины я рассказал в этой статье. Добавлю еще несколько.
- Skype в Pidgin, плагин pidgin-skype.
- Интеграция с панелью задач Windows 7, плагин pidgin-win7.
- Web интерфейс,плагин WebPidgin-Z
По установке хотелось сказать что все плагины я устанавливал в только в Linux’е там это проще, даже не знаю как это делается в Windows, шутка :-). Итак если вы используете одну операционную систему и вам нужна синхронизация на нескольких компьютерах в том числе и плагинов то складывайте .dll или .so в подкаталог \.purple\plugins. Если системы разные то в Windows это каталог plugins в каталоге программы, в Linux и Ubuntu в частности apt-get install сделает все сам (обычно плагины устанавливаются в /usr/lib/purple-2/).
[pidgin] Кто какие плагины использует?!
Привет всем, хочу как нибудь модифицировать пиджин.
На сайте pidgin.im есть невероятное количество плагинов.
Мне бы хотелось:
1) Идентификация клиента (чтобы отображался не значок, а клиент ICQ, если это вообще возможно)
2) Нормальный поиск, как сделано в офф. ICQ клиенте.
Такие есть?! Помогите найти.
И собстно, хотелось узнать, а какие плагины используете Вы для pidgin и что они делают (если вообще используете его)?!
/me ищет плагин «замена входящих сообщений по регулярным выражениям». Контакты надоели материться.
Из используемых:
Hotkeys
История
Новая строка
libnotify
Уведомление о статусе собеседника в окне беседы
Хз, все дефолтное, все устраивает.
Напиши плагин «Скрыть группы», я этого уже пару лет жду, точно :))
- BotSentry
- Conversation Badger
- MusicTracker
- Toolbar’n’Statusbar
- Автоприём файлов
- Игнор (очень полезно)
- Новая строка
- Редактор тем (и управление темой GTK)
- Цвета беседы
- Уведомление о сообщении
Плагин «Скрыть группы» будет очень кстати, а то я пока решаю эту проблему, помещая все контакты в одну группу. Но её тоже не хотелось бы видеть.
Хотел использовать capsnot, но он не стал работать. Ох, миранда, как же мне тебя не хватает.
>Такие есть?! Помогите найти.
Плагинов, кажется, до сих пор таких нет. Есть патчи, но они очень старые, скорее всего никем не поддерживаются и чтобы наложить их на новую версию придется нехило поплясать с бубном.
Хотел использовать capsnot, но он не стал работать. Ох, миранда, как же мне тебя не хватает.
Собираем плагин Skype для Pidgin под Windows
В данной статье мы рассмотрим как собрать плагин поддержки протокола Skype для Pidgin под ОС Microsoft Windows, который работает без оригинального клиента. Ранее мы уже подробно рассматривали сборку под GNU/Linux.
Загрузка и установка MSYS2
Для сборки плагина skypeweb нам потребуется полный инструментарий, необходимый для компиляции Pidgin из исходных текстов. В данном руководстве будет использоваться MSYS2.
Страница загрузки MSYS2
Загружаем официальный инсталлятор MSYS2 со страницы проекта на SourceForge для платформы i686 и запускаем его.
Приветствие программы установки MSYS2
После запуска появится приветственное окно, где следует сразу же нажать кнопку Далее для перехода к следующему этапу.
Выбор каталога установки MSYS2
Второй шаг программы — выбор каталога, в который будет устанавливаться MSYS2 и все его компоненты. По умолчанию предлагается C:\msys32. Оставим предложенный вариант.
Больше здесь изменить ничего нельзя, поэтому сразу жмём Далее.
Установка MSYS2
Программа начнёт распаковывать базовые пакеты MSYS2, необходимые для работы. Ждём окончания процесса и снова жмём Далее.
Резюме установки MSYS2
На предпоследнем шаге мастера можно ознакомиться со списком установленных файлов и каталогов. По окончании следует нажать Далее.
Завершение установки MSYS2
На этом установка MSYS2 завершена. Ставим флажок в чекбокс Запустить MSYS2 сейчас и нажимаем кнопку Завершить.
Устанавливаем необходимые пакеты
Запускаем терминал MSYS2 если не сделали этого ранее при помощи файла C:\msys32\msys2_shell.bat или Пуск — (Все) Программы — MSYS2 — MSYS2 Shell.
Обновим список доступных пакетов:
Установка пакетов MSYS2
Теперь загрузим нужные нам пакеты:
Загрузка пакетов MSYS2
Утилита pacman запросит подтверждение, поэтому смело жмём Y для продолжения и ждём окончания загрузки и установки. Закрываем MSYS2, он нам больше не понадобится.
Собираем Pidgin и плагин
Запустим консоль MinGW при помощи C:\msys32\mingw32_shell.bat или Пуск — (Все) Программы — MSYS2 — MinGW 32-bit Shell.
Для начала создадим каталог C:\dev, в котором и будем собирать Pidgin и плагин SkypeWeb:
Перейдём в этот каталог:
Загрузим скрипт, который подготовит всё для сборки:
Теперь запустим его:
Если всё нормально, то начнётся загрузка и установка необходимых для сборки компонентов. Это займёт несколько минут (зависит от скорости Интернет-соединения).
Загрузим исходники SkypeWeb в архиве и распакуем только каталог skypeweb из него в C:/dev.
Загрузим исходники библиотеки libjson-glib из официального репозитория и распакуем в каталог C:\dev\win32-dev.
Теперь открываем файл C:\dev\skypeweb\Makefile.eion в любом текстовом редакторе и вносим правки с исправлениями путей.
Если всё прошло успешно, получаем на выходе libskypeweb.dll.
6 комментариев к записи
Здравствуйте, я мэйнтейнер проекта MSYS2. По поводу данного руководства есть замечания.
Не очень понимаю зачем собирать плагин с помощью MSYS-gcc (он же cygwin-gcc). Вместо установки «gcc» нужно устанавливать «mingw-w64-i686-toolchain» (32-бит) или «mingw-w64-x86_64-toolchain» (64-бит). Так же MSYS2 имеет в своем репозитории json-glib.
Не очень понимаю зачем собирать плагин с помощью MSYS-gcc (он же cygwin-gcc). Вместо установки «gcc» нужно устанавливать «mingw-w64-i686-toolchain» (32-бит) или «mingw-w64-x86_64-toolchain» (64-бит). Так же MSYS2 имеет в своем репозитории json-glib.
Автор плагина предлагал собирать его именно таким образом в комментариях к Issue. Для себя я бы предпочёл кросс-компиляцию посредством MinGW-gcc из GNU/Linux.
Спасибо за замечание. Исправил статью на использование mingw-w64-i686-toolchain.
Теперь открываем файл C:\dev\skypeweb\Makefile.eion в любом текстовом редакторе и вносим правки с исправлениями путей.
Не очень очевидная инструкция что и где менять.
/usr/bin/make -f Makefile.eion при выполнении не видит каталог /usr/bin/make
Не очень очевидная инструкция что и где менять.
/usr/bin/make -f Makefile.eion при выполнении не видит каталог /usr/bin/make
Нужно изменить путь к компилятору, а также расположение исходников Pidgin и skypeweb.
Всем кого гугл привёл сюда в поисках плагина посвящается: https://github.com/EionRobb/skype4pidgin/releases
Готовый, собранный плагин для скайпа, который указан в офф.вики.
Да, это официальные релизы плагина, но они давно не обновлялись. Лучше собрать свежайшую версию из исходников.