Skip to content
This repository has been archived by the owner on Mar 14, 2023. It is now read-only.

mrDoctorWho/vk4xmpp

Repository files navigation

Code Climate

VK4XMPP on Ohloh

Fork Me Now! Spread the project for great good!

Donate:

  • Dogecoin: DEZWbJaCi47cY8ZGLh1oH7QXHx2ntEgp4X

VK4XMPP Transport

VK4XMPP представляет собой транспорт¹. Из VK в XMPP ² и обратно. Написан на языке программирования Python (совместим только со второй версией).

На текущий момент транспорт не развивается. Осуществляется только поддержка существующего решения.

Возможности:

  • Аватары у пользователей (во vCard и при входе в сеть, по стандарту XEP-0153).
  • Long Poll (обо всех событиях пользователь уведомляется незамедлительно).
  • Поддержка групп (меток для друзей ВКонтакте) в ростере.
  • Поддержка конференций (групповых чатов).
  • Отправка изображений в сторону транспорта (XEP-0071: XHTML-IM).
  • Статусы прочтения сообщений (XEP-0333: Chat Markers).
  • Возможность передачи текстового статуса пользователя во ВКонтакте и в Jabber.
  • Вложения в сообщениях (только приём).
  • Пересланные сообщения (и вложения в них).
  • Прием и отправка сообщений.
  • Авторизация по паролю или ключу «access-token», выдаваемому ВКонтакте.
  • Список друзей в ростере.
  • Поддержка vCard для контактов.
  • Добавление в ростер новых, недавно добавленных друзей автоматически (в случае, если пользователь транспорта в это время был в сети, иначе следует вручную запросить подписку id@transport).
  • Статистические данные о работе транспорта.
  • Проверка времени последней активности пользователя.
  • Настройка транспорта пользователем «под себя» посредством AdHoc-команд ³.
  • Отправка изображения капчи по стандарту 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+ или Gajim.

Причины сбежать в ужасе:

  • Сложная форма регистрации: Как ни крути, а регистрация (при условии наличия Jabber ID) на транспорте состоит аж из 3-х пунктов! Вы потратите целую минуту на регистрацию, а может даже две!
  • Отсутствие некоторых возможностей: К сожалению, не всё можно реализовать в текущем варианте XMPP и состоянии XMPP-клиентов. Так например, вы не сможете переслать сообщения другу от другого пользователя. И это не всё.
  • Вы параноик: Бегите и не возвращайтесь. Никогда.

Как вы можете помочь:

  1. Вы — программист. Каждая функция vk4xmpp содержит строки документации. Также есть пример написания плагина, описывающий все возможности системы плагинов. При желании, написать что-то не составит труда. Pull-request'ы приветствуются.

  2. Вы — активный пользователь социальной сети «ВКонтакте» или Jabber, которому просто нравится транспорт. Приглашайте своих друзей попробовать VK4XMPP!

  3. Вы — пользователь, которому просто нравится проект и/или определённый запущенный сервис. Транспорты, впрочем как и сервера (в основном), запущены энтузиастами на некоммерческой основе, люди оплачивают их из своего кармана. Сделайте пожертвование своему серверу! (администраторам: в файле конфигурации для этого есть поле AdditionalAbout)

Список серверов, где установлен VK4XMPP:

  • vk.j-cool.ru
  • vk.opiums.eu
  • vk.yorulez.ru

Полный список можно посмотреть здесь.

Благодарности:

  • Алексею «Snake» Нежданову, за библиотеку xmpppy.
  • Алексею «Alexey CV», бывшему администратору jabberon.ru, за donate, продвижение посредством создания тем на 4pda, содание FAQ, написание большинства инструкций и тестирование.
  • Al Korgun, за помощь с кодом.
  • Armageddon, за сервера, тестирование, идеи и, конечно же, donate.
  • boriz, за donate.
  • diSabler, за патчи, форму капчи, логотип, donate.
  • Manazius, за инструкции, общение со смертными.
  • nsof, за donate, идеи, тестирование.
  • Santiago26 за тестирование ранних релизов, статью на Хабре.
  • aawray, за (xmpp-monitor).

А также всем, кто как-либо участвовал в жизни транспорта. Без вас не было бы транспорта таким, какой он есть.

Полный список разработчиков можно посмотреть здесь.

Установка (для серверов):

Настройка jabber-серверов:

Регистрация:

Часть инструкций была безнадёжно утеряна. Не стесняйтесь сообщить, если напишете или найдёте недостающую.

Обсуждения:

Другое:

Также рекомендуется заглянуть в Wiki.

Запуск: python ./gateway.py

Обратиться к разработчику в сети jabber можно в конференции simpleapps@conference.helldev.net.

WTF:

  1. Транспорт — Программное Обеспечение, обеспечивающее связь между различными протоколами мгновенного обмена сообщениями. Распространены в XMPP (Jabber).

  2. XMPP (Jabber) — Расширяемый протокол мгновенного обмена сообщениями (Wikipedia/XMPP).

  3. К сожалению, нет нормальной инструкции; см. JabberON/AdHoc и JaWiki/AdHoc.

© simpleApps, 2013 — 2017.