[![Code Climate](https://codeclimate.com/github/mrDoctorWho/vk4xmpp/badges/gpa.svg)](https://codeclimate.com/github/mrDoctorWho/vk4xmpp) [![VK4XMPP on Ohloh](https://www.openhub.net/p/vk4xmpp/widgets/project_partner_badge.gif)](https://www.openhub.net/p/vk4xmpp) **[Fork Me](https://github.com/mrDoctorWho/vk4xmpp/fork) Now! Spread the project for great good!** **Donate**: * Dogecoin: DEZWbJaCi47cY8ZGLh1oH7QXHx2ntEgp4X VK4XMPP Transport ====== VK4XMPP представляет собой транспорт[¹](https://github.com/mrDoctorWho/vk4xmpp#wtf). Из VK в XMPP [²](https://github.com/mrDoctorWho/vk4xmpp#wtf) и обратно. Написан на языке программирования Python (совместим только со второй версией). **На текущий момент транспорт не развивается. Осуществляется только поддержка существующего решения.** **Возможности**: * **Аватары у пользователей** (во vCard и при входе в сеть, по стандарту XEP-0153). * **Long Poll (обо всех событиях пользователь уведомляется незамедлительно)**. * **Поддержка групп (меток для друзей ВКонтакте) в ростере**. * **Поддержка конференций** (групповых чатов). * **Отправка изображений в сторону транспорта** (XEP-0071: XHTML-IM). * **Статусы прочтения сообщений** (XEP-0333: Chat Markers). * Возможность передачи текстового статуса пользователя во ВКонтакте и в Jabber. * Вложения в сообщениях (только приём). * Пересланные сообщения (и вложения в них). * Прием и отправка сообщений. * Авторизация по паролю или ключу «access-token», выдаваемому ВКонтакте. * Список друзей в ростере. * Поддержка vCard для контактов. * Добавление в ростер новых, недавно добавленных друзей автоматически (в случае, если пользователь транспорта в это время был в сети, иначе следует вручную запросить подписку id@transport). * Статистические данные о работе транспорта. * Проверка времени последней активности пользователя. * Настройка транспорта пользователем «под себя» посредством AdHoc-команд [³](https://github.com/mrDoctorWho/vk4xmpp#wtf). * Отправка изображения капчи по стандарту XEP-0158 (поддерживается в Tkabber). * Администрирование посредством AdHoc-команд. * Поддержка плагинов. **Отличия от pyvk-t**: * Транспорт не хранит паролей * Транспорт не парсит страницы, а использует API ВКонтакте **Список поддерживаемых XEP**: * XEP-0012 (Last Activity). * XEP-0030 (Service Discovery). * XEP-0039 (Statistics Gathering). * XEP-0045 (Multi-User Chat). * XEP-0050 (Ad-Hoc Commands). * XEP-0054 (vcard-temp). * XEP-0066 (Out of Band Data). * XEP-0071 (XHTML-IM). * XEP-0077 (In-Band Registration). * XEP-0153 (vCard-Based Avatars). * XEP-0085 (Chat State Notifications). * XEP-0091 (Legacy Delayed Delivery). * XEP-0092 (Software Version). * XEP-0100 (Gateway Interaction). * XEP-0158 (CAPTCHA Forms). * XEP-0184 (Message Delivery Receipts). * XEP-0199 (XMPP Ping). * XEP-0333 (Chat Markers). **Почему VK4XMPP**: В конце 2013 года администрация «ВКонтакте» приняла решение отказаться от официальной поддержки протокола XMPP. Это событие было воспринято пользователями по-разному. Тем, кто уже был знаком с XMPP, его возможностями и удобством некоторых клиентов, это не понравилось. «**VK4XMPP**», подоспевший прямо к остановке XMPP-сервера «ВКонтакте», выполнявшего роль пересылки сообщений из/в социальную сеть, был тепло принят бывшими пользователями официального сервиса. С самого момента первого релиза транспорт предоставлял намного больше возможностей, чем бывший официальный вариант. Причины попробовать VK4XMPP: * Удобство: чтобы использовать VK4XMPP вам нужен XMPP-клиент и jabber-аккаунт. Клиентов очень много и все разные. Любой найдёт что-то, что ему понравится. * Скорость работы: VK4XMPP использует прямые HTTP-запросы к API «ВКонтакте», которые, в основном, не превышают и килобайта. * Экономия трафика: Несмотря на большой расход трафика на присутствия в XMPP, ваш XMPP-клиент передаст в десятки раз меньше данных, нежели браузер. * Экономия оперативной памяти устройства: Вы когда-нибудь задумывались, сколько памяти «съедает» браузер? Посмотрите. А теперь посмотрите на XMPP-клиент. Браузер — гораздо более сложная программа, чем XMPP-клиент. Оставьте чаты специализированному софту. * Вы параноик: Вы видите опасность раскрытия личных данных везде и всюду, но всё же пользуетесь социальной сетью (вероятно, под другим именем, ведь вы параноик). Что, по-вашему, безопаснее? Простой XMPP-клиент или же браузер? Помимо этого вы можете пропускать **зашифрованные сообщения** через jabber и сервера ВКонтакте с использованием **OTR**. Поддержка OTR не требуется от транспорта. Для этого вам и вашему собеседнику нужен клиент с поддержкой OTR, например, [Psi+](http://psi-plus.com) или [Gajim](http://gajim.org). Причины сбежать в ужасе: * Сложная форма регистрации: Как ни крути, а регистрация (при условии наличия Jabber ID) на транспорте состоит аж из 3-х пунктов! Вы потратите **целую** минуту на регистрацию, а может даже две! * Отсутствие некоторых возможностей: К сожалению, не всё можно реализовать в текущем варианте XMPP и состоянии XMPP-клиентов. Так например, вы не сможете переслать сообщения другу от другого пользователя. И это не всё. * *Вы параноик: Бегите и не возвращайтесь. Никогда.* **Как вы можете помочь**: 1. Вы — программист. Каждая функция vk4xmpp содержит строки документации. Также есть [пример](https://github.com/mrDoctorWho/vk4xmpp/blob/master/extensions/.example.py) написания плагина, описывающий все возможности системы плагинов. При желании, написать что-то не составит труда. Pull-request'ы приветствуются. 2. Вы — активный пользователь социальной сети «ВКонтакте» или Jabber, которому просто нравится транспорт. Приглашайте своих друзей попробовать VK4XMPP! 3. Вы — пользователь, которому просто нравится проект и/или определённый запущенный сервис. Транспорты, впрочем как и сервера (в основном), запущены энтузиастами на некоммерческой основе, люди оплачивают их из своего кармана. Сделайте пожертвование своему серверу! *(администраторам: в файле конфигурации для этого есть поле AdditionalAbout)* **Список серверов, где установлен VK4XMPP**: * vk.j-cool.ru * vk.opiums.eu * vk.yorulez.ru Полный список можно посмотреть [здесь](https://opiums.eu/xmpp-monitor/). **Благодарности**: * Алексею «Snake» Нежданову, за библиотеку xmpppy. * Алексею «Alexey CV», бывшему администратору jabberon.ru, за donate, продвижение посредством создания тем на 4pda, содание FAQ, написание большинства инструкций и тестирование. * Al Korgun, за помощь с кодом. * Armageddon, за сервера, тестирование, идеи и, конечно же, donate. * boriz, за donate. * diSabler, за патчи, форму капчи, логотип, donate. * Manazius, за инструкции, общение со смертными. * nsof, за donate, идеи, тестирование. * Santiago26 за тестирование ранних релизов, статью на Хабре. * aawray, за ([xmpp-monitor](https://github.com/aawray/xmpp-monitor)). А также всем, кто как-либо участвовал в жизни транспорта. Без вас не было бы транспорта таким, какой он есть. Полный список разработчиков можно посмотреть [здесь](https://github.com/mrDoctorWho/vk4xmpp/graphs/contributors). Установка (для серверов): * [Arch Linux](https://github.com/mrDoctorWho/vk4xmpp/wiki/Установка-на-ArchLinux-с-Prosody) * [Ubuntu/Debian/etc](https://github.com/mrDoctorWho/vk4xmpp/wiki/Установка-на-сервер) * ~~[Gentoo](http://blog.stv-fian.ru/?p=375)~~ Настройка jabber-серверов: * Ejabberd: [раз](https://github.com/mrDoctorWho/vk4xmpp/wiki/Установка-на-сервер), [два](http://nixman.info/?p=2315) * [Openfire](http://ky0uraku.livejournal.com/79921.html) * [Prosody](https://github.com/mrDoctorWho/vk4xmpp/wiki/Установка-VK4XMPP-на-Prosody) * [Generic](https://dsy.name/note/vk4xmpp) Регистрация: * [Gajim](http://j-cool.ru/vk4xmpp/gajim.html) * [jTalk](http://jabberon.ru/articles/2014/12/12/транспорт-вконтакте-подключение-через-jtalk/) * [Miranda](http://is.gd/5dAduL) * [Pidgin](http://xubuntu-ru.net/how-to/129-podklyuchenie-k-transportu-vk4xmpp-s-pomoschyu-klienta-pidgin.html) * [Psi+](http://is.gd/VwlK5R) * [QIP](http://is.gd/xrjvfF) * [Talkonaut](http://is.gd/OxJdMK) * [Tkabber](http://dsy.name/?q=vk4xmpp) Часть инструкций была безнадёжно утеряна. Не стесняйтесь сообщить, если напишете или найдёте недостающую. * ~~[JasmineIM](http://xmppserv.ru/jasmine/)~~ * ~~[Jimm](http://xmppserv.ru/jimm/)~~ * ~~[Kopete](http://xmppserv.ru/kopete/)~~ * ~~[VacuumIM](http://xmppserv.ru/vacuum/)~~ Обсуждения: * ~~[На 4pda](http://is.gd/t10ZIc)~~ * [На форуме Debian](http://debianforum.ru/index.php?topic=6037) * [На форуме Ubuntu](http://forum.ubuntu.ru/index.php?topic=230041) Другое: * [FAQ](http://is.gd/qqCI81) * [Группа во ВКонтакте](https://vk.com/vk4xmpp) * [Страница на JaWiki](http://jawiki.ru/Vk4xmpp) Также рекомендуется заглянуть в [Wiki](https://github.com/mrDoctorWho/vk4xmpp/wiki/). Запуск: python ./gateway.py Обратиться к разработчику в сети jabber можно в конференции simpleapps@conference.helldev.net. **WTF**: 1. Транспорт — Программное Обеспечение, обеспечивающее связь между различными протоколами мгновенного обмена сообщениями. Распространены в XMPP (Jabber). 2. XMPP (Jabber) — Расширяемый протокол мгновенного обмена сообщениями ([Wikipedia/XMPP](https://wikipedia.org/wiki/XMPP)). 3. К сожалению, нет нормальной инструкции; см. [JabberON/AdHoc](http://jabberon.ru/articles/2015/03/18/транспорт-вконтакте-дополнительные-команды/) и [JaWiki/AdHoc](http://jawiki.ru/Adhoc). © simpleApps, 2013 — 2017.