Транспорт в VK для Jabber
При наличии VDS с дебианом на борту вполне логичным шагом выглядит и собственный jabber-сервер. А что? Никакие пароли налево не уходят, можно поднимать любые свои транспорты, ну и выбрать себе красивое имя 🙂
Прочитав недавно статью на Хабре о транспорте из Jabber в VK, решил поднять его у себя, дабы не сливать трафик посторонним лицам.
Итак, приступим?
Предположим, работающий jabber-сервер у нас есть. Вариантов много, я пользую ejabberd. Так же предположим, что у нас на сервере уже стоит git (а если не стоит, поставить его несложно).
Для начала я рекомендовал бы создать отдельного пользователя, от которого будут стартовать все наши транспорты:
useradd jabber -d /home/jabber -m -s /bin/false
Далее идем в свежесозданную /home/jabber и выкачиваем репозиторий с гитхаба:
git clone https://github.com/mrDoctorWho/vk4xmpp.git
Далее правим конфиг:
cd vk4xmpp && cp Config_example.txt Config.txt
Конфиг довольно хорошо комментирован, но я все же приведу свой пример, на всякий случай:
# coding: utf ## Connection host. ## For Prosody "vk.example.com" Host = "vk.nixman.info" ## Connection server (usually equals host) ## For Prosody "example.com" ## На этом адресе висит jabber-сервер Server = "localhost" ## Connection port (as you set in your jabber-server config) ## Default value for Prosody is 5347 Port = 5556 ## Transport ID (Controls all) TransportID = "vk.nixman.info" ## Connection password. Password = "secret"
Конфиг jabber-сервера будет примерно таким:
{5556, ejabberd_service, [ {ip, {127, 0, 0, 1}}, {access, all}, {shaper_rule, fast}, {host, "vk.nixman.info", [{password, "secret"}]} ]},
Особенно внимательно смотрите на секцию host: в jabber многое завязано на hostname, поэтому если укажете не тот, ничего работать не будет. У каждого сервиса hostname должен быть свой.
На это все. Рестартуем ejabberd, после чего настраиваем jabber-клиент (я использую Pidgin) для работы через транспорт. Например, для pidgin есть вот такая инструкция.
Для других клиентов можно посмотреть вот тут
Теперь в нашем клиенте видны и статусы и аватарки друзей из ВК, что и требовалось.
Приятного общения!
P.S. чтобы автоматизировать запуск транспорта (который суть есть просто скрипт на питоне, нужно в /etc/rc.local добавить следующую строчку (перед “exit 0”):
su -c 'python /home/jabber/vk4xmpp/gateway.py > /home/jabber/vk4xmpp/log 2>&1 &' - jabber