VKontakte without jabber and again with him

    This is a story about how to use VK chat in the messenger that you like.
    Let this news be several months old, but not always good news in due time receives due attention.
    In the middle of the article is a manual for jabber server admins, at the end is an appeal to pythonists.
    Links to proofs inclusive.

    As you know, in early September, VKontakte stopped supporting XMPP for access to private messages. The Jabber community was indignant and resolved this question differently.

    A picture about Jabber and VKontakte by Pavel Durov:

    Simultaneously with the closure of XMPP, VKontakte chat was no longer available for many instant messengers.
    Let's call these "lucky ones."


    iOS, Android: Talkonaut, Mail.ru Agent, Jasmine IM, IM +, Imo.im, Bombus, Jimm (Aspro, Multi), all old J2ME clients (including the above), all Symbian, Maemo & Meego clients (Bayan ICQ, QIP PDA 2xxx, etc, except qutIM) and many others


    Pidgin, Adium, Miranda NG, old versions of QIP (QIP Infium and QIP 2010), qutIM *

    Web Clients

    IM + Web, IMO, Jappix // others for an arbitrary XMPP-account, it seems something is not there?

    Before the appearance of Jabber, there was pyvk-t transport on VKontakte. Its development was actively conducted until the appearance of the native XMPP in VKontakte in the 2010th year. By 2013, it turned out to be abandoned, and the last developers who picked it up reported that in the latest versions the transport worked with errors and they did not know its state.
    The question of using VK messages without having to open a browser arose with renewed vigor.

    1. Native protocols (VK API)

    Currently, VKontakte messages support three well-known multi-protocol clients, two of which are Windows only.
    These are QIP 2012 (QIP IM), Miranda NG and qutIM. If you are lucky to love one of these messengers, then you probably do not need XMPP for VKontakte.
    The protocol in QIP was made long before the cancellation of XMPP, the
    protocol for Miranda appeared just a month ago (much after the closure of XMPP), rewritten from scratch.
    the protocol was implemented in qutIM quite a while ago (almost earlier than in QIP?).

    From mobile clients - support for VK messages remained only with QIP IM (for iOS and Android). Moreover, applications for both platforms support only messages (support for photos, audio, forwarding, etc. is not implemented) and will not be actively developed in the foreseeable future.
    A month ago, the M ++ messenger appeared, which is actively supporting XMPP, SMS and VKontakte (via the API).

    2. Transport VK4XMPP

    As I already mentioned, pyvk-t transport was abandoned, irrelevant, and did not implement the additional functionality of VK messages - transport developers, and the community as a whole, expected this in their native implementation from VK. Did not happen.

    Therefore, when in 2013 VKontakte closed XMPP, it turned out to be easier to write a new transport, from scratch.
    So there was VK4XMPP .
    The friendship of python and XMPP continues. But not just python.

    A little later, a second transport appeared - VKXMPPGATE. Github Description . Information about the author .
    It is written in Delphi / Pascal and probably works faster. However, the last commit was made 3 months ago. Therefore, in this article we will talk about VK4XMPP, as the only active project.

    According to the author, VK4XMPP is a transport from VK to XMPP and vice versa. Unlike the previously existing pyvk-t, it does not pars pages, but works completely with the VK API, which significantly increases its reliability and stability. The transport does not store passwords, but uses access-token for authorization.

    At the moment, the transport boasts the following features:
    • Receive and send messages;
    • Does not store password. Authorization by the key "access-token" issued by VKontakte;
    • Automatic key retrieval when entering a password (for inexperienced users, the password is not saved)
    • Attachments in messages (only receiving);
    • Forwarded messages and attachments to them (pictures, music, documents, tags on the map);
    • List of friends on the roster;
    • VCard support for contacts;
    • Support for conferences (group dialogs; test);
    • Auto-add friends you added through the site (only if you were online);
    • Transport statistics.

    Not bad, right? I remember that the XMPP server from VKontakte could not boast of such features.


    In general terms, the registration process for transports is always the same. Instructions for connecting popular customers:
    Psi + | Tkabber | Gajim | Miranda | QIP | jTalk | Jimm | JasmineIM | Pidgin
    Rays of good administration jabberon.ru and other enthusiasts.

    After successful registration, your jabber account will display the contacts of all friends with their names and online status from VKontakte.
    In case of problems, the author recommends unregistering and going through Psi +.

    To register, you will need to select one of the existing servers. List of available servers can be found in the wiki project on github.

    Vehicle Installation

    If you have a jabber server, you can pick up the transport at home. Then even the VKontakte token will be under your control. It will require a jabber server and Python 2.7. The remaining libraries are contained in the repository.

    Use git for installation and updates
    git clone github.com/mrDoctorWho/vk4xmpp.git

    Next, you need to copy the default config and change several values.
    Go to the folder with the transport and copy the configuration file:
    cd vk4xmpp
    cp Config_example.txt Config.txt

    The config is well commented, and there are several installation instructions:
    Ubuntu / Debian / etc + Ejabberd
    Arch + Prosody

    For starters - if your workloads are quite large, instructions on optimizing the speed and RAM consumption will come in handy .

    You can contact the developer for support and other questions in the conference simpleapps@conference.jabber.ru

    How can I help you

    If you read to this place, then your help would be welcome.

    1. The simplest thing: subscribe to the VK API bug , help the developer get a response from the VK administration. This bug was encountered by both the VK4XMPP developer and the VKXMPPGATE developer.

    2. Chat in the conference. Wish features and good luck!

    3. Look at open requests and in particular about user-friendly behavior. Describe the behavior you would like.

    4. Python programmers! It would be great to conceal nothing, if someone joins the project. Developers-Developers-Developers!
    However, help with the design (at least the icons) will also be very useful;)


    VKontakte will disable XMPP support on August 31 - a conversation on Roya with VKontakte comments, my questions to them, as well as comments by QIP SegaZero and MRA Java Bachin developer .

    Proof died like Trillian Miranda is qutIM , the IM + the Web (mobile late, but switched to the API), Imo.im

    Do you know rule 34?

    About everything there is XMPP. There are no exceptions.

    VK4XMPP repository on github: github.com/mrDoctorWho/vk4xmpp

    Also popular now: