SkypeKit в качестве XMPP gateway

    Странно, что после появления такого изобретения, как SkypeKit, этого еще никто не сделал.

    Собственно такой шлюз позволяет обмениваться сообщениями с пользователями Skype, используя уже имеющуюся кучу клиентов с поддержкой Jabber.

    Лицензионная чистота такого изобретения остается под вопросом, так что из исходников убраны все упоминания про Skype.

    Что уже работает?


    Реализованы практически все IM фичи (кроме передачи файлов). За голос/видео вряд-ли кто-то возьмется в ближайшее время.

    • Регистрация через service discovery
    • Roster exchange (используется XEP-0144), добавление/удаление контактов, запросы авторизации и т.д.
    • Обмен presence, включая статусы (aka mood text, если в терминах skype)
    • Собственно обмен сообщениями
    • Многопользовательские чаты (не используя MUC из XEP-0045)
    • Добавление пользователей через jabber:iq:gateway (из XEP-0100)
    • Частично поиск пользователей (используя XEP-0055)
    • VCard-ы (только получение «чужих» VCard-ов для людей их контакт-листа либо из результатов поиска). Изменять свой профиль невозможно

    Несколько скриншотов



    Собственно однопользовательский чат:


    Многопользовательский чат:


    Поиск контактов:


    Где брать?

    Исходники транспорта: bitbucket.org/dion/xpoty2xmpp (лицензия MIT/Expat)

    Для того чтобы его подружить со скайпом, нужен SkypeKit с действительным ключем.

    PS. Лицензия на SkypeKit требует запускать транспорт на том же компьютере, что и клиент, чтобы не вышло случайно «server software» или «software as service».

    Вопросы про SkypeKit можно задавать в конференции skypeopensource@conference.jabber.ru.
    Share post
    AdBlock has stolen the banner, but banners are not teeth — they will be back

    More
    Ads

    Comments 11

      +2
      Как пользоваться? Я не понял.
        +2
        1. Получить SkypeKit с действительным ключем. На сайте developer.skype.com/ за него просят $10. Можно пытаться искать что-то типа «habrahabr.ru/post/141966/» но говорят, что их банят. Я лично не пробовал пользоваться таким.

        2. setup.py install (по желанию), либо просто пользоваться ./xpoty2xmpp/main.py выставляя правильный PYTHONPATH (в корень репозитория).

        3. Создать себе xpoty.cfg (пример есть в репозитории).

        Без SkypeKit-а оно тоже работает, просто эмулирует транспорт (показывает левых юзеров, и т.д.)
          +2
          Он давно уже стоит 5$.

          Всем кому нужен могу дать чистый который не банят.
        0
        Насколько сложно получить для себя SkypeKit? Нужен официальный с skype.com, или какой-то другой?
          +2
          1. Skype раздает его по $10. В случае покупки сложностей нет никаких. Деньги списывают с баланса SkypeOut. Дальше генерируются индивидуальные бинари, RSA ключ. Вот тут хорошо описано: habrahabr.ru/post/124321/

          2. Можно пытаться пользоваться паленками, вроде habrahabr.ru/post/141966/, но их могут банить. Я сам не пробовал и не советую.
            0
            Отлично, спасибо.
            +3
            Получить его может любой. Если жалко пять баксов смотри комментарий выше.
            –4
            Странно, что после появления такого изобретения, как SkypeKit, этого еще никто не сделал.

            Сделали. Trillian, и вроде давно.
              +1
              Триллиан добавил поддержку протокола в свой проприетарный клиент. Это сильно отличается от XMPP транспорта, используя который можно общаться с Skype-контактами пользуясь любым XMPP-клиентом.
              0
              кстати, прошу прощения, что прочитал не все комменты, но понадеюсь, что ещё не сказали (чтобы не сбоянить):
              на первом скрине есть упоминание "***message changed: "
              Дело в том, что изменение сообщений (прям как в скайпе) предусмотрено одним из XEP'ов. По памяти не вспомню номер, но точно помню, что читал это дело. Другое дело, что, возможно, не все клиенты это поддерживают, но тем не менее, логично было бы сделать именно так, а не новым сообщением :)
                0
                Это XEP-0308 но его вроде никто не поддерживает. Мне все лень научить транспорт спрашивать через service discovery фичи клиентов. Плюс я не очень понимаю как это должно работать в случае нескольких ресурсов.

              Only users with full accounts can post comments. Log in, please.