Пользователь
0,1
рейтинг
12 января в 06:01

Разработка → Почему ваш любимый мессенджер должен умереть

image
Кладбище мессенджеров, на котором обязательно должны оказаться Skype, Viber, WhatsApp, Hangouts, ooVoo, Apple iMessage, Telegram, Line, Facebook messenger и еще сотни мессенджеров, которым только предстоит выйти в ближайшее время.

На написание этого текста меня подтолкнула ужасающая ситуация, сложившаяся в области интернет-коммуникаций, угрожающая перспектива развития инструментов для обмена мгновенными сообщениями, аудио-видеозвонками и надоевшие споры о том, какой же мессенджер все-таки хороший, правильный и безопасный.

Последние годы конкуренция на рынке мессенджеров как никогда высока. Доступный интернет у каждого в смартфоне позволил мессенджерам стать самыми часто используемыми приложениями. Только ленивый сейчас не пишет свой мессенджер. Каждый день выходит новое приложение, обещающее совершить революцию в способах коммуникации. Доходит даже до абсурда вроде приложения Yo, позволяющего слать друг другу только одно слово.
У каждого мессенджера есть своя аудитория, агитирующая пользоваться именно их любимым сервисом. В итоге приходится заводить кучу учетных записей в различных сервисах и устанавливать кучу приложений, чтобы иметь возможность оперативно связаться со всеми необходимыми людьми.

Сложившаяся на данный момент ситуация настолько ужасна, что в перспективе угрожает фундаментальным принципам общения. В данной статье я на конкретных примерах попытаюсь донести одну мысль:

image

_ Почему такая важная для человечества технология, как мгновенные сообщения и аудио-видеозвонки, не может быть монополизирована какой-либо компанией. Как это тормозит развитие технологий, угрожает свободе и безопасности коммуникаций.



Сразу скажу, что я не страдаю опенсорсом головного мозга, и у меня нет фобий по поводу проприетарных продуктов, я сам пользуюсь закрытыми программами и протоколами. Конкретные примеры, описанные ниже, приведены исключительно для демонстрации проблем существующей централизованной архитектуры. Я вовсе не испытываю ненависти к данным продуктам и компаниям, и, напротив, считаю, что они вполне могут эволюционировать. Умереть должна только существующая модель их работы.

image


Интернет, каким мы его знаем сегодня, существует благодаря открытым стандартам. Все уровни взаимодействия сети, начиная с физического (кодирование сигнала по проводам, радио, оптическим каналам) и до прикладного уровня приложений (HTTP, E-mail) открыты и доступны для любого желающего. Кто угодно может написать свой веб-сайт, браузер, email-клиент. Для этого не нужно просить чьего-то разрешения, покупать патенты или заключать контракты.
Именно поэтому мы имеем множество операционных систем, умеющих работать с интернетом, и разнообразие устройств и приложений, поддерживающих популярные протоколы.

Представьте, что емейл можно было бы отправить только с программы Outlook на такой же Outlook, а на Gmail уже нельзя. И перед отправкой емейла нужно было бы выяснить, какой у получателя почтовый клиент. Или, например, голосовые звонки с мобильного работали бы только между телефонами одного производителя. То есть звонить с Samsung можно было бы только на Samsung. Абсурд, не правда ли?

Именно так сейчас выглядит ситуация, когда нужно с кем-то связаться в чате или совершить аудио-видеозвонок через интернет. Здесь правят бал коммерческие компании, целью которых является максимальный охват аудитории. Поэтому каждый мессенджер делается изолированным от других, а компании ревностно сражаются за своих пользователей.

Все дело в том, что в какой-то момент открытые стандарты перестали успевать за потребностями пользователей, и коммерческие компании смогли предложить намного более привлекательные решения. Это обеспечило огромную популярность коммерческим мессенджерам. Так, например, во времена dial-up, такого качества голосовой связи, как у Skype, не мог предоставить никто из конкурентов, да еще и бесплатно! На сегодняшний день, по разным данным, на долю Skype приходится около 40% международных звонков.

С массовым распространением смартфонов хлынула вторая волна распространения мессенджеров. Люди постепенно сообразили, что платить огромные деньги за одно SMS несправедливо, если за эти же деньги можно чатиться весь день в альтернативном мессенджере. Так, некогда большой рынок SMS-сообщений стал сдуваться.
Такая же судьба в какой-то момент неминуемо ждет и телефонные звонки. Мобильные операторы это понимают и пытаются как можно дальше оттянуть этот момент. Сперва пытаются блокировать VoIP-сервисы в своих сетях, а потом и вовсе маскироваться под них: МТС запустит альтернативу Skype

Ситуация чем-то напоминает борьбу правообладателей с пиратством: сперва с возможностью домашней записи на аудиокассеты, VHS и компакт-диски, а позднее и с пиратством в интернете с помощью внедрения новомодных DRM, принятием законов вроде DMCA. Которая в итоге завершилась почти полным проигрышем.

Вот только мобильные операторы являются частью очень влиятельных телекомов, которым принадлежит значительная доля интернет-каналов. Поэтому, скорее всего, процесс отказа от SIM-карт и голосовых услуг оператора будет мучительным и долгим.
Однако подвижки в эту сторону уже есть. Разрабатываемый Samsung и Apple стандарт e-SIM позволит выбирать оператора прямо в телефоне, без необходимости вставлять SIM-карту. В итоге процесс подключения к новому оператору будет не сложнее оформления подписки на музыкальный сервис — включил только что купленный телефон, посмотрел список операторов, доступных в данном регионе, выбрал подходящий тариф, оплатил кредитной картой и пошел.
В таких условиях пользователи захотят всегда сохранять за собой свой номер телефона. Таким номером должен был стать iNum, который, как мне кажется, провалился. Возможно, вместо номера телефона будет ID в любимом мессенджере-коммуникаторе. Очевидно, что в этом случае ничего, кроме интернета, от оператора пользователю не нужно. Поэтому общественный запрос на услуги операторов будет звучать примерно так: «Дайте мне доступ в интернет и отвалите со своими дополнительными услугами». Уже сейчас можно видеть негодование пользователей, использующих SIM-карты в планшетах исключительно для интернета, когда операторы впаривают им подписки на платные сервисы, гороскопы, анекдоты, пакеты SMS и т. д. В будущем это ощущение сформулируется более отчетливо.

Архимед нащупывает точку опоры

______________________________Архимед нащупывает точку опоры

Видно, как в таких условиях многократно возрастает влияние мессенджеров. Из альтернативного, мессенджер превращается в доминирующее средство связи. Страшно представить, что будет, если нынешняя тенденция сохранится, и у нас будут сотни изолированных, несовместимых друг с другом программ.

image

_ Почему доминирующим глобальным мессенджером ни в коем случае не должен стать Skype, Viber, WhatsApp, Telegram, Hangouts и прочие проприетарные поделки.



Для того чтобы понять опасность монополии в технологической сфере, можно взглянуть, например, на бизнес-решения, работающие только в Internet Explorer, из-за чего откровенно плохой продукт вынуждены поддерживать и использовать повсеместно.
Или на форматы электронного документооборота. Так как момент был упущен, доминирующие позиции занял проприетарный doc, и до сих пор нет единого стандарта электронного документооборота.

В СМИ часто поднимается вопрос: какой же мессенджер «защищенный» на самом деле? Под этим обычно понимается безопасность транспортного протокола, что в большинстве случаев нелепо, потому как, помимо безопасного протокола, существует еще большое количество сущностей, которые могут содержать уязвимости.
Безопасен или нет конкретный мессенджер – вопрос неправильный, пока не обозначена конкретная угроза. Безопасность — это не готовый продукт, а целый комплекс технологий и архитектуры, и рассматривать каждую угрозу нужно отдельно.

Skype



image
Я пользуюсь Skype уже около десяти лет. У меня это вторая по частоте использования программа после браузера.
Для меня Skype — большее, чем просто IM, я веду в нем рабочие переговоры, общаюсь с друзьями, завожу новые знакомства в публичных skype-конференциях.
Skype полностью заменяет мне социальные сети, у меня даже нет аккаунта в VK и Facebook, потому что мне приятней видеть и слышать собеседника.

Я по максимуму пользуюсь всеми возможностями Skype: групповые видеозвонки, демонстрация рабочего стола, чаты, пересылка файлов, звонки на обычные телефоны, SMS, аренда прямых номеров, подписки.

Я попробовал все инструменты Skype для разработки: Skype4Com, SkypeKit SDK.
У меня есть опыт работы с решениями Skype для интеграции с бизнес-системами VoiP, такими как Skype for Asterisk и Skype Connect.
Я активно пытался улучшить Skype, писал отчеты о проблемах и найденных уязвимостях в bug tracker, пока его не закрыли. В частности, я нашел две критические ошибки, позволяющие удаленно вызвать завершение клиента Skype под Windows.

Я по-настоящему люблю любил Skype, и, как мне кажется, имею достаточный опыт и моральное право, чтобы писать все это.

Почему Skype крутой?



На сегодняшний день Skype — самая продвинутая программа в своем классе, которая на порядок превосходит всех ближайших конкурентов, и вот почему:

  • Качество звука.
    По моим наблюдениям (а попробовал я достаточно), при прочих равных условиях, в Skype всегда лучшее качество звука. И дело не только в битрейте (хотя кодек SILK великолепен), из-за динамического построения маршрутизации Skype выдает минимальные задержки, поэтому при низком качестве интернета дает лучший результат. Никакой SIP даже рядом не валялся. В этот момент многие могут возразить: «Но ведь у нас в SIP есть HD-кодеки!», правда, с оговоркой, что в реальной жизни они работают через раз. Об этом следующий пункт.
    Эхоподавление Skype позволяет мне вывести голос на колонки, при том что собеседник даже не поймет этого. Только в Skype я могу включить на большую громкость динамики и слышать/отвечать из другой комнаты без малейшего намека на эхо.
  • Бронебойность и живучесть
    Skype — дьявольски хитрая программа, которая умеет пролазить через любые изощренные фаерволы, плохо настроенные NAT-ы и блокировки.
    В каких бы странных условиях вы ни находились, даже если интернет ограничен tcp-запросами к 80 и 443 порту, Skype все равно, скорее всего, будет работать. Я часто наблюдал ситуации, когда выход в интернет заблокирован, но хитрый Skype все равно работает, потому что сумел найти соседа в физической сети, у которого интернет есть, и вышел через него. О такой гибкости все другие программы могут только мечтать.
    На фоне этого, нытье SIP-провайдеров про то, что у вас плохо настроен NAT, не проходит RTP, неправильно работает UPnP/NAT-PMP, выглядят просто смешно.
  • Шифрование
    Мне важно, чтобы моя коммуникация была защищена от перехвата и анализа. И, даже несмотря на всякие Microsoft Government Security Program, согласно которым по запросу спецслужб все необходимые данные могут быть переданы заинтересованным органам, я могу быть точно уверен, что на сетевом уровне никакой провайдер не в состоянии перехватить мои разговоры, если даже новомодные системы DPI испытывают трудности с выделением трафика Skype.
    Именно шифрование на сетевом уровне преподносится многими мессенджерами как функция, которая делает программу безопасной. Далее, я рассмотрю, почему шифрование трафика не является синонимом безопасности.
  • Стабильность
    Skype на десктопе, по крайней мере на Windows и OS X, очень стабилен и крайне редко вылетает. Это позволяет держать активными видеозвонки без перерыва по нескольку суток. При этом с небольшой нагрузкой на CPU, в отличие, например, от решений на WebRTC, которые нагружают процессор и жутко нестабильны.
  • Функциональность и удобство
    Огромный функционал: групповые видеозвонки, демонстрация экрана, пересылка файлов, возможность отредактировать последнее отправленное сообщение(!), исходящие на обычные телефоны. Все это в стандартной поставке в виде удобного клиента. Никаких плагинов и расширений.


Почему Skype должен умереть?



  • Небезопасен
    Не просто небезопасен, а крайне опасен!
    Skype до сих пор раскрывает ваши IP-адреса, включая локальный. По этим данным можно узнать ваше текущее местоположение и построить карту перемещений.
    Пока существовал публичный bug tracker, можно было наблюдать, как Skype больше года чинит уязвимость, позволяющую провести удаленный DoS клиента для Windows.
    Уязвимость, позволяющую удаленно разблокировать выключенный микрофон, чинили около полугода.
    Мне приходилось буквально упрашивать разработчиков обратить внимание на уязвимости, из-за которых нельзя было пользоваться программой.

    Когда была опубликована уязвимость, позволяющая угнать любой аккаунт, от которого известен email, я сутки пытался достучаться до саппорта, но так и не смог. Зато взломал аккаунты Алексея Навального и Антона Носика.
    Кстати, после этого инцидента Skype так и не пересмотрел свою политику регистрации аккаунтов без подтверждения почты. По-прежнему можно указать любую почту при регистрации и аккаунты будут отображаться при поиске, что позволяет заспамить поисковую выдачу, если искать аккаунт по email.

    На момент написания этой статьи (!!!), мне известно по крайней мере две уязвимости, позволяющих необратимо заблокировать чужой Skype-аккаунт так, что у жертвы больше не получится им воспользоваться. При этом атакующему достаточно знать только логин жертвы, никакие почты и пароли не нужны. Я опять же не смог достучаться с этой проблемой до саппорта и написал на их форум. Проблема до сих пор не исправлена.
    Нет никакой возможности достучаться до квалифицированного саппорта, все письма заворачиваются на индусов, цитирующих FAQ и не желающих поверить, что проблема действительно на их стороне и нужно передать ее разработчикам.

    Итак, несмотря на то что Skype позиционируется как безопасный мессенджер, и транспортный протокол его действительно безопасен, он не просто небезопасен, а откровенно опасен. Из-за размеров бюрократии внутри компании, реальные проблемы с безопасностью решаются очень долго, зато в каждой новой версии добавляется десяток новых видео-смайликов.

    Из этого следует вывод:

    безопасный транспортный протокол не делает мессенджер безопасным


    Важно помнить об этом, читая очередной маркетинговый бред про тройные уровни шифрования, длину ключа, military grade security и прочую чушь, не имеющую отношения к реальной безопасности.

  • Закрытость и непредсказуемость
    Невозможно просто так взять и написать альтернативный Skype клиент, потому как его протокол закрыт и часто изменяется. Поэтому на каких устройствах будет работать Skype, решает только сама компания. Некоторое время назад существовал SkypeKit SDK, позволяющий разработать клиент для интеграции в собственные устройства. Для этого нужно было подписать несколько документов о неразглашении, пообещать не запускать skypekit на сервере, выпустить персональный сертификат (который, в случае чего, мог быть отозван), и можно было приступать к разработке. Однако потом компания передумала и решила отозвать поддержку skypekit и заблокировать все существующие купленные версии. То же произошло и со Skype4Com, и со Skype for Asterisk. Поэтому, если вы решили интегрировать поддержку Skype в один из своих продуктов, будьте готовы, что завтра это может перестать работать, и все усилия по разработке будут напрасны.
    Похожая ситуация и с интерфейсом десктопного клиента. После выхода очередной новой версии приходится искать способ отключить безумные фантазии маркетологов вроде видео-смайлов на пол-экрана, пропавшей кнопки регулировки громкости, и многого другого.
    Нельзя предсказать, что придумает Skype завтра, и это пугает.


Такое большое внимание уделено Skype потому, что его можно считать флагманом в индустрии мессенджеров-коммуникаторов. У него самый богатый функционал и конкурентам еще очень далеко до него. При этом он самый старый и имеет отчетливые симптомы, указывающие на необходимость его ликвидировать.

Проблемы Skype, так или иначе, можно отнести ко всем популярным мессенджерам. Я не стану рассматривать его ближайшего конкурента Viber, потому что не имею достаточного опыта использования.

Telegram


image Я рассмотрю Telegram отдельно, так как его принято считать мессенджером, принципиально отличающимся от конкурентов, и не страдающим недостатками Skype, Viber, WhatsApp. Он преподносится как долгожданная защищенная альтернатива всем существующим мессенджерам. СМИ разрекламировали его как средство связи, которым спокойно пользуются даже террористы, настолько он безопасен. Однако, в большинстве случаев, безопасность рассматривается как отдельная сущность без рассмотрения конкретных видов угроз, что в корне неправильно.

Я сам постоянно пользуюсь телеграмом, и нужно признать, что он действительно прекрасен в плане юзабилити. Ни от одного другого мессенджера я не был в таком восторге. Чего только стоит его стабильность при плохом интернете. В среде с плохим сигналом, где едва ловит GPRS, ни один другой мессенджер не работает настолько хорошо. Но когда речь заходит о безопасности и исключительности Telegram, нужно признать, что он страдает всеми теми же симптомами, что и конкуренты.

Почему Telegram должен умереть?


  • Централизованное управление.
    Это главная проблема всех описанных здесь сервисов. Я часто встречаю непонимание серьезности данного аргумента. Казалось, бы, что плохого в том, что какая-то компания полностью контролирует ваше общение? Ведь они все там хорошие ребята, и денег не просят, и API удобное, и смайлики красивые.
    Но нельзя забывать, что это всегда компания, которая преследует собственные интересы, и, скорее всего, среди них нет задачи всю жизнь работать себе в убыток ради наступления мира во всем мире.
    Уже сейчас можно наблюдать, как под давлением другой коммерческой компании Telegram определяет темы, на которые нельзя разговаривать: Telegram удалил 78 чатов об «Исламском государстве» по требованию Apple.
    Или решает, какими данными нельзя обмениваться: Telegram начал блокировать музыкальных ботов по требованию Apple, Telegram ограничил доступ к порно-ботам для жителей Ирана.
    Это значит, что одна взятая компания хороших ребят всегда будет уязвима для давления влиятельных структур. Этими структурами могут быть и целые государства, в юрисдикции которых действует компания. То есть, в любой момент времени, какая-то информация или действия могут стать неугодными для политики компании, контролирующей ваше общение, даже если законы вашей страны не запрещают этого.
    Нельзя предсказать, как завтра изменится политика отдельных государств, и поэтому такая легкая возможность влиять на инструменты общения просто недопустима.
  • Централизованная архитектура.
    Эта проблема неразрывно связана с первой. Единая точка отказа позволяет в любой момент ограничить доступ к сервису для целых стран или даже полностью ликвидировать Telegram решением суда.
    Серверы Telegram, вместе с перепиской, которая хранится на них в открытом виде, могут быть изъяты в любой момент, если так решит государство, в котором они размещаются.
    Несмотря на то, что клиентская часть протокола Telegram открыта, серверная часть по-прежнему закрыта для стороннего аудита. По сути, защищенность обычных чатов держится на честном слове команды Telegram. Они как бы говорят: «Мы не станем читать вашу переписку, честное слово!». Вероятно, так это и есть, но сама по себе возможность некой группы людей иметь безграничный доступ к приватной информации в масштабах всего мира недопустима.
  • Аутентификация по SMS
    Telegram безопасен настолько, насколько безопасен ваш мобильный оператор, из-за аутентификации по SMS. Достаточно вспомнить историю, как злоумышленники пять раз перевыпускали SIM-карту Beeline. Telegram позволяет защититься от этого, установив дополнительный пароль, но по умолчанию он не используется.
  • End-to-end шифрование
    Надо признать, что пользоваться данной функцией в Telegram действительно удобно. Особенно приятно, что можно установить таймер самоуничтожения чата и не переживать, удалит ли собеседник лог переписки в нужный момент.
    Но процедура сверки ключа совсем не однозначна. Каждый раз отпечаток ключа разный. Непонятно, по каким каналам предполагается его сверять. Нет возможности однажды провести верификацию ключа чата, чтобы в дальнейшем проверять его подлинность самостоятельно, как в случае с OTR.


В итоге, несмотря на то что Telegram сделан очень хорошо, и в большинстве случаев намного безопаснее и удобнее аналогов, его никак нельзя назвать качественно отличающимся решением от конкурентов. Это все такой же коммерческий продукт, несущий в себе угрозы для свободы общения.

А как же мой любимый %messenger_name%?


Все вышеописанные симптомы, в той или иной мере, касаются большинства топовых мессенджеров, известных на сегодняшний день. Централизованная архитектура и управление одной компанией — самый большой гвоздь в крышку гроба каждого из них. Поэтому нет смысла описывать подробно недостатки каждого в отдельности.

Краткая таблица популярных мессенджеров и причин, почему они должны умереть
Мессенджер Диагноз Должен умереть
image
ICQ
• Централизованная архитектура, принадлежащая Mail.ru в России
• Легко уязвим из-за отечественных силовиков
• Никаких средств end-to-end шифрования
image
image
Viber
• Централизованная архитектура
• Привязка к номеру телефона
• Закрытый протокол
• Отсутствует end-to-end шифрование
image
image
WhatsApp
• Централизованная архитектура
• Закрытый протокол
• Привязка к номеру телефона
• Отсутствует end-to-end шифрования
• Плата за использование
image
image
Google Hangouts
• Централизованная архитектура
• Закрытый протокол
• Необходим аккаунт Google
• Отсутствует end-to-end шифрование
image
image
Face Time / iMessage
• Централизованная архитектура
• Закрытый протокол
• Работает только на устройствах Apple
image

SIP и Jabber


Когда нужна реальная безопасность, все-таки приходится пользоваться старыми добрыми опенсорсными протоколами.
Для голоса это — SIP + ZRTP, а для текста — XMPP + OTR. Но на фоне всех коммерческих сервисов, можно сказать, что данные протоколы чаще не работают, чем работают.
Для меня выглядит диким, что, во многих случаях, при звонках через SIP можно получить голос в одну сторону, проблемы с входящими или исходящими звонками и еще целую кучу проблем, которых лишены все коммерческие решения. Мне абсолютно не хочется думать о типе NAT, используемом в данной сети, накручивать ICE или STUN, прокидывать порты, когда просто нужно позвонить. Это отвратительно.

Похожая история с Jabber. Как вообще можно представить, что в 2016 году сообщения могут просто потеряться из-за разрыва соединения с сервером? Где нормальное подтверждение доставки и прочтения? Jabber абсолютно ужасен в среде с нестабильным интернетом и на мобильных платформах.

Пока все эти проблемы не будут решены, нельзя даже и говорить о конкуренции открытых протоколов с коммерческими мессенджерами. Я был бы рад, если бы на сегодняшний день существовало хоть одно открытое решение, достойное занять место доминирующего мессенджера-коммуникатора в мире. Но такого нет.

Как быть?


Я искренне считаю, что эта тема крайне серьезна и важно не упустить момент. Нельзя допустить, чтобы фундаментальная возможность общения между людьми была кем-то захвачена, как-либо ограничена, и потенциально уязвима.
Таким важным для человечества вопросом, как разработка единого стандарта мгновенных сообщений и звонков, должны заниматься организации вроде IETF вместе с ведущими IT-компаниями.

Хорошим примером является история с OpenSSL. В момент обнаружения уязвимости heartbleed, все были в ужасе, насколько беззащитной оказалась вся индустрия из-за одной ошибки. После чего была создана организация Core Infrastructure Initiative. В нее входят крупнейшие IT-компании вроде Cisco, Google, Intel. Целью этой организации является поддержание критически важных для индустрии программ, таких как OpenSSL, GnuPG, Network Time Protocol и других.
Надеюсь, важность открытых инструментов коммуникации будет осознана раньше, чем будут обнаружены фатальные проблемы в существующих проприетарных продуктах, и подобная организация будет вовремя создана для работы над нужными стандартами.

Протокол интернета позволяет связаться любому узлу с любым другим узлом в интернете. На сегодняшний день это не совсем справедливо из-за проблем ipv4, но представим, что прошло пару лет и у всех уже есть ipv6, и у каждого устройства в любой момент времени, при наличии связи, есть реальный маршрутизируемый IP-адрес. Это позволит любому устройству, будь то смартфон или компьютер, связываться друг с другом без помощи компаний, предоставляющих сервисы для общения. Достаточно только найти способ сообщить нужному собеседнику свой текущий IP-адрес.
Добавим к этому наличие аппаратной поддержки криптографии во всех мобильных устройствах, позволяющей без особых затрат батареи использовать шифрование.

image

_ Такая среда неизбежно породит P2P утопию, в которой люди смогут безопасно связываться напрямую, без сторонних сервисов.



Пока подобные идеи реализовываются в виде прототипов, слабо пригодных для повседневного использования, однако ситуация с каждым днем меняется. Некоторые реализации уже можно попробовать.

Tox


image Наверное, самый продвинутый на текущий момент инструмент, приближающий P2P криптоанархию. Это полностью децентрализованный мессенджер-коммуникатор, с функциями передачи голоса, видео, демонстрации экрана, конференций. Все коммуникации по умолчанию шифруются и передаются напрямую между пользователями без серверов. Есть клиенты под Windows/Linux/OSX/Android. К сожалению, реализация клиентов сыровата местами, и некоторые функции не работают между разными платформами, но они активно развиваются. Хочу сказать спасибо antonbatenev за продвижение TOX на хабре.

Ring


image Бывший SIP-клиент SFLphone. Теперь умеет работать в 3 режимах: как обычная SIP-звонилка (централизованная), как федеративный сервис (с self-hosted сервером, который может связываться с остальными серверами) и полностью децентрализовано.
Грубо говоря, с этой штукой можно звонить по SIP через DHT. К сожалению, клиент под OS X еще сыроват и полноценно воспользоваться им у меня не получилось.

Наверняка существуют еще реализации, но реально работающих я больше не знаю.
Эти реализации сильно далеки от идеала и простым пользователям, скорее всего, они не понравятся.
Нужно признать, что успешность конкретного продукта — это не только продвинутые технологии, но еще и юзабилити, дизайн, удобство использования и простота. Вероятно, прежде, чем подобные технологии приживутся, пройдет еще множество итераций различных протоколов.
Я не готов сказать, каким именно должен быть идеальный протокол, но попытаюсь сформулировать основные требования:

  • Открытый и разрабатываемый в интересах общества.
    Никакая компания не должна иметь монопольную возможность управления всей архитектурой и разработкой. Разработка должна вестись путем коллективных обсуждений, подобному тому, как утверждаются RFC. Лицензии не должны как-либо ограничивать использование протокола. Это не исключает существование коммерческих клиентов, подобно тому, как сейчас существуют платные Email-клиенты и компании, зарабатывающие на технологиях электронной почты.
  • Децентрализованный.
    Под децентрализацией я не имею в виду исключительно P2P, при котором отсутствуют вообще какие-либо серверы. Опорные серверы могут существовать, подобно супернодам Skype, например для передачи тяжелой медиаинформации, кеширования, обмена данными о маршрутизации и т. д. Чистый P2P во многих случаях неудобен, например для мобильных пользователей с узким нестабильным каналом. Это может быть децентрализация, подобная Email и Jabber, когда существует большое количество независимых серверов, которые могут сообщаться между собой. Закрытие одного или нескольких серверов не повлияет на систему. Даже если целые страны или континенты будут отрезаны от интернета, система продолжит работать. Вероятно, нужно предусмотреть и работу в случае недоступности сервера. То есть, клиент, при желании, может делегировать хранение учетных записей серверу, и входить по логину-паролю, либо хранить приватные ключи локально и входить в сеть самостоятельно без сервера. Таким образом можно сохранить удобство для простых пользователей и дать возможность квалифицированным пользователям обеспечить достаточный уровень безопасности.
  • Защищен от блокировок
    Протокол должен быть устойчив к попыткам блокировки, уметь переключаться между различными портами, транспортными протоколами и обфусцировать трафик таким образом, чтобы его нельзя было выделить системами DPI. В самом крайнем случае, использовать в качестве транспорта любой из доступных протоколов, например HTTPS. Даже если все возможные точки входа будут полностью закрыты на маршрутизаторах провайдера, должна существовать возможность указать собственный адрес шлюза, подобно тому как это сделано в Tor.
  • Защищен от прослушивания
    Все коммуникации между конечными пользователями не должны передаваться и храниться в открытом виде нигде, кроме устройств пользователя. Для удобства синхронизации между устройствами пользователя, история может сохраняться на сервере при его желании, но должна быть зашифрована. Например, мастер-паролем, как это сделано в ProtonMail. При этом должны быть удобные инструменты для верификации ключей, используемых для end-to-end шифрования, подобно тому как это сделано в RedPhone. Программа-клиент должна в обязательном порядке уведомлять пользователя о не доверенном соединении, попытках перехвата или проблемах с шифрованием.
  • Интероперабелен
    Все реализации клиентов должны быть совместимы на базовом уровне, описанном в стандарте. То есть звонки и чат должны работать между всеми существующими программами, чтобы иметь возможность звонить со Skype в Viber и наоборот. Фирменные нестандартные функции могут быть доступны между клиентами одного производителя.


Вывод


Я не призываю в срочном порядке отказываться от использования вашего любимого мессенджера. К сожалению, достойной замены коммерческим продуктам на сегодняшний день нет, и пока приходится пользоваться тем, что лучше решает поставленную задачу. Цель данной статьи обратить внимание на серьезную проблему, которая ждет нас в будущем, если сегодня не будут предприняты меры. Также это попытка ответить разом на все споры о том, какой же мессенджер лучше и почему стоит скептически относиться к новостям о том, что очередная компания сделала очередной супер мега мессенджер, теперь уж точно правильный и безопасный.
Павел Жовнер @zhovner
карма
166,0
рейтинг 0,1
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Реклама

Самое читаемое Разработка

Комментарии (344)

  • +2
    Честно, я предлагал однажды идеальный мессенджер как его вижу я (тут):
    По мне так должен быть гибрид P2P и Серверного P2P. Пользователь выбирает «основной» клиент, который будет всегда запущен — он будет выполнять роль «личного сервера» (например, на десктопе). Именно он отвечает за соединение P2P к таким же «основным клиентам» других пользователей IM. И к нему уже коннектятся «миниклиенты» — те же мобильные клиенты, или просто клиенты на других компах.
    В такой ситуации плюсы почти всех видов IM (и историю можно хранить, и независимость от центрального сервера, и можно фильтровать чётко сколько данных идёт на какие клиенты, чтобы не перегружать мобильные), но есть один минус — устройство, на котором запущен «основной» клиент, должно быть постоянно онлайн.


    Но при этом хочу добавить, что поскольку большинству юзеров поддерживать свой собственный «основной» клиент может быть иногда сложно, то юзер должен иметь возможность делегировать свой «основной клиент» на какой-то публичный сервер — которые поднять может каждый (как те же сервера Джаббера — их может поднять каждый), и который и будет выполнять роли «основных» клиентов для многих пользователей одновременно. Но обязательно должна быть возможность трансфера и ревоука авторизации этих серверов — чтобы пользователь мог в любой момент перевести свой аккаунт с одного сервера на другой, либо даже вообще на свой собственный «основной клиент».
    • 0
      Увы, почему его до сих пор нет — разработку такого я соло не потяну ни по умениям, ни по времени. :( Я бы хотел найти людей, с которыми мы бы вместе могли это делать. Увы, я плохо умею искать людей.
      • +1
        Мне лично очень интересна эта тема, я давно уже пришёл к такой же идеи как и у вас. Так что в случае чего подписываюсь. А вообще может можно просто tox улучшить и внести в него такую функциональность.
        • 0
          яростно плюсую
    • +3
      Мне кажется, что во-первых нужно определить формать идентификатора пользователя. Самым логичным, универсальным и обратно совместимым я вижу ID вида user@host.com. Такой идентификатор уже точно есть у каждого, будь то электронная почта или учетная запись в соцсети типа user@fb.com, user@vk.com и т.д. Это позволит обесепчеить обратную совместимость с юзерами не поддерживающими протокол: в таком случае произойдет даунгрейд на протокол email.

      Для каждого идентификатора должен быть определен соответствующий ему отпечаток ключа, подлинность которого можно однозначно установить. Например, он может быть размещен в DNS зоне домена к которому относится учетная запись, подобному записям CERT. Поддлинность записи может заверяться, к примеру DNSSEC.

      Вот, например, мой PGP ключ, хранящийся целиком в DNS, для учетной записи pavel@zhovner.com:

      dig cert pavel.zhovner.com
      


      Конечно DNSSEC имеет на сегодня много недостатков и я не считаю его лучшим решением для подтверждения подлинности ответа DNS, но как пример он вполне годится.

      Подобным образом, вместе с ключом, может храниться информация о серверах обслуживающих данного пользователя. Это может быть подобие DHT и магнитной ссылки для torrent, содержащей информацию о серверах через которые можно связаться с данным юзером. Эта запись может так же хранится в специальном типа DNS записи. В таком случае можно вынести обслуживание каждой учетной записи на специфические для него IP и на лету их быстро изменять.

      Я не настаиваю на именно такой модели, но мне кажется нечто подобное наиболее жизнеспособно, потому что в идентификаторы используемые например в TOX в виде фингерпринта ключа, никогда не позволят ему стать популярным.
      • +2
        Я не настаиваю на именно такой модели, но мне кажется нечто подобное наиболее жизнеспособно, потому что в идентификаторы используемые например в TOX в виде фингерпринта ключа, никогда не позволят ему стать популярным.

        tox1,tox2 — были на основе DNS (TXT запись на домене с user@example.com)
        tox3 — костыль, так как tox1&tox2 это plaintext
        Сейчас на подходе «tox4», когда user@example.com делает запрос на сервер по https и получает ответ в json.

        Так что как минимум с токса4 можно будет без проблем и шифрованно добавлять контакты по мылам.
        • +3
          Ещё бы у токса как-то реализовать возможность пользоваться одним аккаунтом с разных устройств…
          • 0
            не одновременно возможно, одновременно они дерутся за статус оналйн
            • 0
              Синхронизировать путём ручного переноса tox save? ;-)
              • 0
                Не пробовал, использую только с 1 устройства, на другом запускал для теста.
            • 0
              Закапывайте.
          • 0
            подключить транспортом к XMPP? :D
            • 0
              Хитро! :)
      • +1
        Знаете, далеко не у каждого пользователя есть домен, которым он может (и способен) управлять. Большинство будет вынуждено делегировать идентификацию третьей стороне, что опять означает централизацию и контроль.

        Чтобы от этого уйти, нужно радикально пересмотреть концепцию «идентификатора». Он не должен иметь настолько большую ценность, как например номер телефона. Его должно быть легко поменять, но при этом не потерять связь со своими контактами.
        • –2
          Давайте смотреть правде в глаза.

          Гик (раз токс для гигов) умеет управлять доменами и у гика всегда есть домен, а то и десяток и купить новый домен это копейки.
          Так же как и купить виртуалку/сервер за копейки или биткойны, так как у гика найдется что накинуть на нее.

          Теперь не о гиках: рядовому пользователю, у которого почта на яндексе или мейле и который юзает гугл диск пофигу, так как у него почта на яндексе или мейле и он юзает гуглдиск.

          Теперь:
          Он не должен иметь настолько большую ценность, как например номер телефона. Его должно быть легко поменять, но при этом не потерять связь со своими контактами.

          Его и так можно поменять и не потерять связи. nospam меняется.
        • +3
          далеко не у каждого пользователя есть домен

          Вам для использования электронной почты нужно владеть и управлять доменом? Нет, но вы можете если этого захотите. Есть огромное количество имейл-сервисов с разными уровнями безопасности и внутренним устройством. Нет никакой централизованности в имейлах.

          • +2
            кстати, «огромное количество имейл-сервисов» в последнее время закрылись. По ходу доступные бесплатные почтовые сервисы предоставляют только «крупные игроки».

            • +1
              а это централизация и зависимость от корпоративных настроений
              • +2
                видимо, небольшие сервисы губят все эти антиспам технологии (у каждого крупного игрока по своей). Ну и, возможно, крупные игроки друг друга меньше в спам пихают, а мелких туда убирают.
        • +1
          Вот про это я долго думал… Но в итоге особо ни к чему не пришёл, кроме как к наоборот противоположному выводу. Идентификатор должен иметь большую ценность, но он должен быть легко перемещаем. Вопрос как этого добиться для меня пока что открыт.
          • +1
            Посмотрите на это с другой стороны. Я думаю надо начинать как раз с понимания и разработки идентификатора. Идентификатор как минимум должен быть: уникальным в масштабах Земли, не принадлежать какому-то одному центру индентификации, с юзер-френдли переводом накопленных контактов от одного идентификатора к другому. Пока этим условиям подходит только логин@домен. По крайней мере по существует достаточное количество платных/бесплатных почтовых сервисов.
            В принципе я когда-то записывал пару идей как создать такой мессенджер, были б деньги, это не сложно технически.
            • +2
              Посмотрите на блокчейн: идентификатор — хеш от публичного ключа. Он уникален, но его легко поменять.
              • +1
                идея очень хорошая, но будет работать только тогда когда только любая блондинка сможет переписать хеш из блокнотика в нужное место на сайте/телефоне. Мы ж про массовое использование говорим.
                • 0
                  Не будем забывать о таком формате безошибочного копирования фотокамерою мобильника, каким служат QR-коды.

                  [плакат против анекдотов о блондинках]
                • 0
                  Идея хорошая, если вместо биткоинового блокчейна взять неймкоиновый. Мы возвращаемся к идеи ДНСа, но децентрализованного.
                • 0
                  никто не мешает сделать попутно сервис жёлтых страниц с подтверждением как хеша, так и номера телефона по смс.
                  Или каталог на профилях соц. сетей.

                  Хотите, чтобы любая блондинка смогла добавить вас в свои контакты, регистрируетесь на них.
                  Не хотите публичности, не регистрируетесь.
                • 0
                  оформить пересылку по емейлу? :)
          • 0
            Меня вполне концепция EMCDNS устраивает. Тут нам и совместимость, и привычные идентификаторы, и децентрализация.
          • 0
            Идентификатором всё же должен быть некий сертификат (закрытая часть которого == доступ к аккаунту). А к этому идентификатору нужно иметь возможность привязывать алиасы в виде user@host.

            В XMPP всё же очень тяжелый процесс перехода на другой JID, приходится каждому контакту отвечать на вопрос «ты кто?». А так процесс можно будет прозрачным сделать.
            • 0
              А как быть в случае утраты или похищения закрытой части сертификата? Злоумышленик сможет использовать его для другого идентификатора?
              • 0
                > А как быть в случае утраты или похищения закрытой части сертификата
                Так же, видимо, как сейчас и в случае утраты-похищения пароля == потеря аккаунта. Продумать восстановление нужно, да.

                > Злоумышленик сможет использовать его для другого идентификатора?
                Если сертификат == идентификатор — то нет, конечно.

                Сервер привязывает всю информацию об аккаунте к сертификату (контакты, инфу профиля и прочее). Чтобы не происходило такого, что угнали домен = угнали все контакты и связи.
                Если сертификат у user@host сменился — ругаемся, как в ssh (known_hosts) на смену сертификата (дескать «чувак, это возможно не тот root@vlad.pro, которого ты добавлял, проверь личность собеседника вопросами, ответы на которые знаете только вы».

                Домен привязываем к определенному серверу тоже через механизм закрытых-открытых ключей — закрытый заливаем на сервер, открытый — в DNS, например. Чтобы левые люди не могли красть login@host с приватного домена. На сервере тоже нужно ограничение по возможности управления отдельным доменом (помимо администраторов сервера — администраторы отдельных доменов, которые должны подтвержать попытку привязать id вида user@host к сертификату пользователя).
      • +1
        С DNSSec ужасная идея. Почему криптоофицерам и Verisign должен довериться весь мир? Это очевидный провал с точки зрения безопасности. Спецслужбы не будут терзать криптосхемы, пока можно вежливо попросить Verisign сгенерировать внеплановый ZSK, который затем можно использовать в направленных mitm-атаках. Если до сих пор нельзя вежливо попросить — издать за пару дней поправку к закону (хотя с расплывчатыми формулировками законов уже давно всё можно и в США, и в России).

        В остальном, описанная схема напоминает toxme.io, который при желании можно развернуть и на своём сервере. Отдельные клиенты, типа Antox даже по умолчанию в нём регистрируются. Только вот по мере роста популярности такие сервисы будут становиться всё более подверженными всем видам атак, свойственным централизованным сетям.
        • +1
          Я же говорю, что DNSSEC просто как пример и я не настаиваю на нем, потому что его проблемы очевидны. К сожалению кроме него пока ничего не придумали для проверки подлинности dns ответов, а куда еще поместить информацию инорфмацию о ключах я не представляю. Запрос к вебсерверу для получения ключа, мне кажется не лучшим вариантом.
      • +2
        Днс сам централизованная штука, контролируемая одной организацией.
        Даже без решений суда они могут разделегировать любой домен (и они правда делают это).
        Поэтому идентефикатор вида user@host.com мне не нравится.
        • +1
          Эта проблема может потом решиться. Например, народ будет массово добавлять у себя на компьютерах поддержку тех доменных зон, которые обеспечиваются распределенными решениями типа namecoin. Тогда достаточно будет перенести акк из user@host.com на что-то вроде user@host.bit. Т.е. модификация может не затронуть серьезно мессенджеры и прочие средства, которые используют DNS.

          Другое дело, что держим ли мы в уме все почтовые и джаббер адреса своих контактов? Мне думается, большинство из нас наизусть помнит только свои адреса и, может, адрес жены. Остальное хранится в самих адресных книгах и прочем таком. В такой плоскости хранение user@host.com не имеет принципиальных преимуществ в сравнении с хранением уникального, но вырвиглазного токс айдишника.
    • +2
      А что с сертификатами для отправки пуш-уведомлений? Я бы вот для своего клиента мобильного сертификат для отправки пуш уведомлений в третьи руки бы в жизни не отдавал…
      • +1
        Поясните пожалуйста, что вы имеете ввиду?
        • +1
          Скорее всего то, что все PUSH-уведомления для iOS-девайсов идут через Apple Push Notification Service (APNS), запросы к которому должны быть подписаны сертификатом.

          Сторона, не имеющая такой сертификат, не может отправлять PUSH-уведомления в приложение.
          Сторона, имеющая такой сертификат, теоретически может отправлять уведомления в любой инстанс приложения на любой девайс.
          • 0
            Ну дык есть же какие нить пуш агрегаторы наверное. Через них и посылать зашифровано. Это решается плагинами — например плагин для пушей на айос и плагин для пуш на андроид, а может и плагин для универсального пуша. Их могут предоставлять какие-то отдельные сервисы, который может поднять кто угодно на любых условиях. А все данные через такие сервисы перед отправкой шифровать, и на клиенте дешифровывать.
  • –2
    Еще есть Bleep. Тоже p2p. Шифрование end to end. самоуничтожающиеся сообщения…
    • +3
      Вы знаете, что у него внутри? Может он ксором шифрует сообщения
      • 0
        Его разработчиком является Bittorrent. Не так уж велика вероятность, что они лопухнутся с шифрованием.
        • +6
          я к тому, что исходники закрыты
    • +3
      Мне пишут почему я не упомянул Signal который работает только на мобилках и требует обязательной регистрации по SMS. А так же Wickr, который называет себя The Most Trusted Messenger in the World. Наверняка существует еще не один десяток таких мессенджеров, я не могу охватить их все.
      • +1
        Ну телеграм то, который тоже требует телефонный номер, вы упомянули.
        • 0
          Телеграм, хотябы, можно использовать на компьютере и у него достаточно большая аудитория.
      • 0
        Да, но при этом в тэгах он указан.
      • +9
        Регистрация через телефон — абсолютное зло.
        Я год вынужден был не пользоваться Телеграмом, пока, наконец, не оказался в стране, где легально можно приобрести SIM-карту без привязки к паспортным данным.
    • 0
      На десктопе Bleep ужасен. Как можно выпускать мессенджер без возможности свернуть в трей? Зачем так издеваться над пользователями?
      Ну и на офисном компе оно явно испытывает какие-то проблемы с коннектом через прокси-фаерволы, но старается об этом молчать.
      • 0
        Давайте для начала разберемся — мы тут обсуждаем будущее мессенджеров или все-таки рюшечки, которые внедрены на сегодняшний день?
  • +26
    Skype, WhatsApp и т.д. уже стали доминирующими мессенджерами. Шансы, что какой-нибудь Tox выскочит, как черт из табакерки и захватит миллиард пользователей, стремятся к нулю.
    Потому что для среднестатического пользователя никаких минусов у WhatsApp нет. Привязка к телефону — удобно, платить не обязательно и смайликов куча.
    А среднестатистическому гику, даже если он использует Tox, все равно нужен WhatsApp иначе кроме 2-3 таких же гиков он никому написать не сможет.
    Как и в любой сфере, большинству нужны удобство и простота использования. Но если использовать фотошоп когда у всех инстаграм проблемы нет, то сидеть одному в месседжере нельзя.
    • +16
      Я уверен, что точно так же как различные WhatsApp-ы быстро набрали аудиторию, так же быстро они ее могут потерять. Кроме того, не обязательно ликвидировать их, все эти мессенджеры могут в определенный момент перейти на новый протокол совместимый друг с другом, если появится реальная угроза потери всей аудитории. Это конечно утопические мечты, но я очень надеюсь.
      • +10
        Конечно, в какой-то момент они потеряют свою аудиторию, так же как потерял её ICQ. Но в пользу чего-то еще более юзер-френдли.
        Если люди прекратят пользоваться WhatsApp, его не спасет возможность звонков на скайп. Потому что людям пофиг на протоколы, и им не мешает еще один апп в телефоне.
        У большинства, в итоге стоит один мессенджер, который нравится лично ему, и еще кучка которая нравится тем, с кем он общается. А если протокол будет общий — это потеря аудитории для всех. Никто на это не пойдет.
        Кстати, чем Tox не подходит на роль вашего идеального протокола? Может, чем изобретать новый стандарт, лучше поконтрибьютить в существующийе?
        • +1
          Лично я не готов ставить более 1 мессенджера, который будет у меня в автозагрузке. Потому что ресурсы не резиновые — а особенно ценен заряд батареи в современном мире. Поэтому, если мне надо будет, я поставлю, напишу, и удалю. Но чаще воспользуюсь электронной почтой, потому что почта — действительно, есть практически у всех пользователей интернета. На приватном, корпоративном или публичном сервисе, но есть.
          • 0
            Можно не ставить мессенджеры в автозагрузку. Поставить, написать, удалить съест меньше батареи?
            Лично у меня для повседневного использования WhatsApp, благо он есть сегодня практически. Стоит скайп для видеозвонков. Фейсбук и вконтакте как мессенджеры почти не использую. И Tox для общения с теми немногими у кого он есть.
            Электронную почту многие вообще не проверяют или проверяют гораздо реже. Поэтому её как замену мессенджера ИМХО странно рассматривать.
            • +1
              В смысле не проверяют? С тем же Android это невозможно. Прилетает сообщение сразу, что почта пришла.
              • 0
                Ну, вы преувеличиваете. Это только если гуглосервисы установлены, email тоже на гугле на том же аккаунте, который вы вбили в телефон.
              • +1
                Если есть смартфон на андроид, если почта забита в почтовый клиент на андроиде, если включена синхронизация и уведомления. При этом если почта не на gmail, то синхронизируется она раз в определенный промежуток времени (у меня например раз в час).
                Так что скорее «можно сделать так, чтобы было невозможно пропустить почту», а не «невозможно пропустить почту».
          • 0
            Да, в идеальном мире, конечно, надо бы, чтобы новые мессенджеры развивали плагины под другие клиенты, или хотя бы держали открытым протокол.

            Например я сейчас доступен из ВК, Facebook, Skype, IRC, GTalk — при этом клиент у меня единственный, Pidgin. Все доустановлено плагинами. Печалит лишь, что многие плагины написаны реверс-инжинирингом, что нестабильная штука.
      • +1
        Надеяться можно долго. Но сколько лет уже XMPP и почему он не стал популярным для обычного пользователя и в чем проблема использовать его если так хочется безопасности?
        • +7
          Ну, во-первых, протокол не поддерживает Push для мобильных устройств. Это, без шуток, большая проблема.
          Во-вторых, Jabber чаще (по крайней мере, у меня) не может передать файлы за NAT, чем может. Прокси использовать для этого можно, конечно, или inbound-передачу, но это медленно.
          В-третьих, если уж делать «убийцу» Skype, то нужны звонки, а у нас для Jabber что есть? Jingle? Их два, и поддерживаются они в считанных клиентах (в трех?).
          • +3
            Я к тому что он не стал совсем масштабным и популярным даже лет 5, 10 назад. Когда можно было сказать что он на передовой и вариантов кроме него было не так и много и все они глючные были. Изначально причина в том что продукты для гиков параноиков, нужны только гикам параноикам.
            • +1
              Справедливости ради, переписываться в ВК можно было с любого jabber клиента. Аналогично и Google Talk(до hangouts). Если вы не знаете, что джаббер используется в месенджере, то это не значит, что он не используется там ;)
              • 0
                Аналогично и Google Talk(до hangouts)

                В смысле — до Hangouts? Последние года три использую Pidgin как десктопный мессенджер, и гуглталк нормально через него работает
          • +1
            Push'ы нужны для экономии траффика ж. Что-нибудь, да придумают. Конечно ввод отдельного сервера отвергают все, так как это рушит саму идею децентрализованного месенжера, но потребление траффика уже уменьшают.



            И убийцей скайпа Токс вполне себе может быть. Чем больше людей подключится к разработке, тем быстрее комьюнити вгонит осиновый кол в скайп с телеграммой.
            • 0
              Не, погодите, речь про Jabber шла. В Tox же есть TCP-релеи, которые должны были решить проблему. Не решили? Я думал, что релеи будут транслировать только полезный трафик, а остальной оставлять ноде, на которой он запущен.
              • +2
                В 2-3 раза траффик упал, но для мобилок все равно много.
                Issue #1251 посмотрите.

                Я не помню, откуда у меня в голове текст, но токс клиент должен каждые 5 (10?) секунд соединяться с 5ью рандомными нодами. В принципе, если уменьшить колво нод в конфиге токсклиента, то и уменьшается кол-во коннектов. Но такая нода должна бустить все остальные и быть правильно настроена.

                upd: и тот же toxic генерирует DHT траффик будь здоров! (в 3- группах и 50 контактов в них суммарное).
            • 0
              Пуши нужны, что бы вытащить мобильного клиента из бекграунда (или запустить если он выключен вообще), когда надо подтащить новые данные с сервера. Вы не можете пулить сервер в бекграунде на мобайле.
            • +2
              Не только трафика, но и батареи.
              Основная идея такой архитектуры — нет необходимости держать приложение поддерживающее протокол постоянно запущенным — он может быть безболезненно выгружено из памяти до прихода очередного PUSH-сообщения, с которого продолжится работа месенджера без необходимости повторной авторизации и переподключения. А так же нет необходимости поддерживать соединение активным чтобы быть постоянно в онлайн.
          • +7
            протокол не поддерживает Push для мобильных устройств

            Расширения протокола уже есть: XEP-0357: Push Notifications.

            Process One сделала штуку — ProcessOne Push Platform: XMPP-based Push Solutions — которая добавляет PUSH для XMPP в их мессенджер ChatSecure при подключении к совместимым серверам.

            В Service Discovery jabber.ru и talkr.im видно что-то про PUSH



            Хочется Jabber-клиент (и сервер) с поддержкой PUSH, но пока я на это дело плюнул: ничего не понятно.
            • +2
              Круто, спасибо.
            • +3
              Для джаббера нет адекватных клиентов, и не будет, пока XEPы не будут обязательны для реализации в клиенте.

              Плюс, я не помню точно, но у него был какой-то критический недостаток в протоколе. Что-то вроде отсутствия счётчика пакетов, из-за чего были проблемы с сортировкой и потерей.

              • 0
                Плюс, я не помню точно, но у него был какой-то критический недостаток в протоколе. Что-то вроде отсутствия счётчика пакетов, из-за чего были проблемы с сортировкой и потерей.

                Это тоже решается. К сожалению, опциональным XEP'ом, и я не помню его номер. Что-то вроде stream control, когда станзы именно что нумеруются.

                Видел даже где-то руководство по добавлению поддержки этого дела в какой-то мобильный IM-клиент и в сервер на Prosody, дабы мобильный клиент лучше держал коннект и был более устойчив к обрывам.
                • 0
                  Опциональные ХЕРы портят всё.
                  • 0
                    Почему? Если ваш сервер поддерживает (а поддерживающие есть), то напишите/допишите клиент, это будет заведомо проще и быстрее, чем пилить всё с нуля.
                    • 0
                      Практика — то есть наличие стопицот конкурирующих мессенджеров, среди которых джаббер не блещет юзербазой, показывает, что заведомо проще как раз написать с нуля.
                      • 0
                        не показывает
                        // показывает не это
                      • 0
                        Нет. Я пишу свой мессенджер не потому, что мне яростно нужен XEP на stream initiation или ещё что, а потому, что мне хочется написать свой мессенджер на C++ с блекджеком и лямбдами.
    • +2
      Skype, WhatsApp и т.д. уже стали доминирующими мессенджерами. Шансы, что какой-нибудь Tox выскочит, как черт из табакерки и захватит миллиард пользователей, стремятся к нулю

      Достаточно дождаться покупки этих меседжеров Mail'ом.ru )))
      • +2
        Даже если WhatsApp завтра просто исчезнет, всё равно все пересядут на Viber или Telegram, но никак не на Tox. Его функционал просто не нужен обычному пользователю. А мессенджер без пользователей — не нужен никому.
        Сценарий использования Tox — группа друзей или коллег размером от 2 до N человек вместе устанавливают его и общаются через него. Иначе есть шанс что звонить будет просто некому.
        • –1
          Вам нужно кое что поправить:
          nano /etc/Randl.conf
          юмор-mod=on
        • –1
          Для группы друзей уже есть Slack и gitter
          • +1
            Slack — это irc с рюшечками
    • +2
      Когда то icq тоже был стандартом дефакто. Но… ничто не вечно под луной.
  • +3
    Почему не упоминается FireChat?
    • 0
      На момент когда его тестировал, это был чатик с теми кто рядом и какими-то непонятными комнатами. Идея мне очень понравилась но реализация была так себе. Сейчас все сильно поменялось? Если да, могу попробовать и добавит в статью.
      • +3
        Комнаты так и остались. Общаться можно через интернет, но при его отсутствии формируются сеть пользователями поблизости и для передачи сообщений используется Bluetooth, Wi-Fi. Я им активно не пользовался, так что не знаю на сколько там все удобно реализовано. Стоит на черный день :)
        • +5
          Мне как раз не нравится идея прикручивания меш именно к приложению чата. Имхо, целый коммуникационный канал не должен юзать монопольно один апп. Меш должен быть реализован через тот же CJDNS, который на выходе дает всем приложениям, умеющим в IPv6 статический, независимый от местоположения приватный IPv6 адрес с end2end шифрованием и инкапслуляцией решений всех вопросов связи ниже L3. Т.е. тема с тем, как соединить людей по wifi — не должно быть проблемой мессенджера, а мессенджер должен заниматься своими чатами, голосовой связью и т.д. Иначе мы получим десятки несвязных мешсетей, которые не помогают друг другу, а скорее мешают, и при этом надо будет врубать все радиопередатчики.
          • 0
            Это пока утопичная идея. Если я правильно понимаю, то поддержка CJDNS должна осуществляться на уровне операционной системы. Если с *nix и BSD-like все понятно, то вот с мобильными ОС все хуже. Раз пока нет единого стандартна для организации mesh-сетей на уровне ОС, то проще все это реализовать на уровне своего приложения.
            • 0
              IEEE 802.11s чем не стандарт?
              CJDNS — популярный, но по многим причинам он не может быть стандартом.
              • 0
                802.11s только про Wi-Fi. В FireChat же mesh-сеть может работать и через Bluetooth.
                • 0
                  Блютуз фигово масштабируется — до 7 клиентов в одну сеть…
                  • 0
                    Так как это не «один или два», то серьёзных ограничений на общий размер mesh-сети нет. (Но нужны узлы для передачи из одной семиклиентской сети в другую. Их роль, как я понимаю, играют Wi-Fi-передающие узлы.)
                    • +2
                      Ну да, тусовка народу что яблоку негде упасть и у всех выключены WiFi для экономии энергии, ибо знают что в большой тусовке он является причиной преждевременного разряда батареи… блютуз как-то поэкономичнее, а MESH-WiFi стандарт еще не сильно распространён, у большинства пользователей будет 802.11n или в крайнем случае 802.11ac которые не располагают к экономии энергии.
                • 0
                  Вариантов много, хоть batman-adv и через лазерную указку переговаривайтесь.

                  Протокол — не то, что является проблемой. Основные проблемы — расход батареи и нестабильное окружение(клиенты двигаются)
    • 0
      Он же только для революций вроде бы, а в обычно время Телеграмм удобнее.
    • 0
      Узкоспециальный мессенджер для компактных толп, с упомянутыми сравнивать нельзя.
  • +4
    я предлагаю оставить в комментариях свой логин с пометкой «Согласен провести тестирование моего аккаунта на уязвимости».

    zhovner или любой по почте pavel@zhovner.com.

    На всякий случай: намёк в том, что кто-то может написать не свой логин, а в результате пострадает невинный человек. Не надо так делать.

    А по статье: так я и не понял, кто по Вашему мнению лучше Skype или Телеграм, т.к. и там, и там есть превосходные степени слов… поясните, пожалуйста.
    • +3
      кто-то может написать не свой логин

      Не переживайте, я смогу предварительно выяснить подлинного владельца аккаунта в самом скайпе.

      так я и не понял, кто по Вашему мнению лучше Skype или Телеграм

      Вы точно дочитали до конца?
  • +8
    Signal забыли
  • 0
    Половина телефонов и самой телефонии через SIP работает. И только парочка кривых «СофтФонов» ему репутацию портит.
    • 0
      SIMPLE не поддерживает почти никто, передачи файлов нет.
  • +2
    В Skype, кстати, можно редактировать не только последнее, но и более ранние сообщения — в течение часа (?).
    По умолчанию Ctrl+Up редактирует последнее, но во всех клиентах в контекстном меню сообщения есть пункт «редактировать сообщение».
  • 0
    iMessage имеет end-to-end шифрование. Причем каждое устройство получает свое шифрованное сообщение. Похоже на упомянутый выше Signal.
    • 0
      Хорошо, исправил. Расскажите как происходит доставка сообщений отправленных получителю оффлайн? Когда в момент получения отправитель оффлайн. Проще говоря как сообщения хранятся на сервере если это end to end.
      • 0
        А что мешает при end-to-end хранить сообщения в зашифрованном виде на сервере?
        • 0
          Это значит, что PFS не используется и все чаты закрыты одним ключом устройства? Получается похитив ключ, можно вскрыть все чаты записананные с начала времен.
          • +1
            Я имею ввиду такую схему: Клиент А хочет послать сообщение клиенту B. Он получает все публичные ключи всех устройств клиента B и шифрует каждым ключем свое сообщение — т.е. грубо говоря при 10 устройств у B он отправит на сервер 10 сообщений, которые будут дожидаться онлайна каждого из устройств клиента B. (Ну или это будет не 10 сообщений, а одно, зашифрованное AES'ом вместе со словариком «Публичный RSA (whatever) ключ — зашифрованный им AES ключ».
            • 0
              В том-то и дело, что сейчас уже никто так не делает для IM. OTR, например, генерирует новый ключ каждую чат-сессию (в смысле OTR, а не в смысле сессии как таковой), ключ этот хранится в оперативной памяти, и если кто-то после того, как вы поговорили с человеком и закрыли чат-сессию, захочет посмотреть, о чем вы говорили, он просто не сможет этого сделать, т.к. ключа, которым шифровались сообщения, уже нет.
              Обычный (статический) публичный ключ нужен для установления чат-сессии и подтверждения подлинности эфемерного ключа.

              У ребят из Open Whisper Systems были идеи генерировать для каждого клиента несколько десятков эфемерных ключей впрок, чтобы можно было отправить несколько десятков оффлайн-сообщений, но не знаю, реализовали ли они это.
              • 0
                Да, они запилили свой клевый протокол и походу всё работает github.com/WhisperSystems/Signal-Android/wiki/ProtocolV2
              • 0
                Вспомнил одну веселую ситуацию. Общался в Spark через OTR. А мессенджер тупо историю записал в обычный текстовый файл. Безопасность, однако.
                • +1
                  А в чем проблема? Мой мессенджер (psi+) тоже так делает.
                  • 0
                    Считается, что весь смысл deniable encryption (коим является OTR в отличие от PGP, например), теряется. Более того, что не очень приятно, он теряется и для вашего собеседника, который может надеяться на то, что против него заведомо не будет улик.

                    Хотя не знаю, в клиенте, который я разрабатываю, тоже вся история в файл записывается. Как раз недавно об этом задумывался, но не смог выбрать из трёх вариантов (не писать никогда, либо писать всегда, либо сделать настройку) и отложил выбор.
                    • 0
                      Ну, спорно.
        • 0
          Вы хотите сказать, что там статический ключ, без дополнительных эфемерных ключей, и он не меняется?
  • 0
    Справедливости ради в Телеграмме аутентификация по СМС не единственный способ добраться до аккаунта, есть ещё двухфакторная авторизация в которой после вода СМС кода, надо будет ввести обычный пароль.
    • +5
      Справедливости ради, если читать внимательно, можно увидеть что это упомянуто.
      • 0
        Сорри, утра не заметил )
    • +2
      Она почему-то не работает: я брал общедоступный номер, регистрировал на него Телеграм, привязывал почту и включал двухфакторную аутентификацию — после чего через неделю учётку угоняли. Сильный пароль от этого не помогал — было ощущение, что эту аутентификацию можно просто отключить с телефона, не зная пароль и не имея доступа к почте.

      Кроме прочего, мессенжеры с привязкой к телефону не дают использовать номера +883… (inum) → требуют реальный телефон в реальной стране. Грубо говоря — привязка к паспорту.
      • +1
        А что такое «общедоступный номер» и где его брать?
        • +1
          Искать по запросу вроде receive sms online.
      • +2
        Скорее всего учетку не угоняли, а создавали новую, а ваша старая уничтожалсь с потрохами.
  • +2
    Есть пара знакомых, которые принципиально не хотят переходить на телеграмм из-за отсутствия инвиза и рассылки всем контактам «Иван Иваныч has joined Telegram!», так что такое (инвиз, не рассылка) тоже могло бы быть полезной функцией.
    • +1
      Если не добавлять собеседника в контакты, а общаться только через никнейм, то не видно когда собеседник онлайн и когда был последний раз онлайн.
      Это здорово оберегает от навязчивых, разовых и случайных собеседников, в отличии от ватсапп, где обязательно нужно добавлять собеседника в контакты и получать (отдавать) номер телефона. Для приватности можно заявить это как киллер-фичу Телеграма.
      У меня есть собеседники с которыми я общаюсь в Телеграм, но не знаю их номера телефонов — только никнейм.
      • +2
        Тут скорее проблема в другом. Для регистрации в Телеграм однозначно нужен номер телефона. И если ваш номер записан у кого-то в записной книжке, то он будет оповещен, когда вы зарегистрируетесь в Телеграме.
        • +1
          Мне кажется эта фича сделана для популяризации Телеграм и возможно в будущем будет отключена.
        • 0
          Тут проблема в другом: когда я попытался подключиться через web-версию, то оно мне прислало смс чтоб удостовериться что это я. Но т.к. телефон дома, а я -нет, то смысл?
          • +1
            Странно, мне присылается код с подтверждением в Телеграм на устройства с активными сессиями. СМС можно послать по желанию.
            скриншот
            image
            • –1
              Ну может так и было, но телефон с Телеграмом всё равно дома.
              • +1
                Ну удобство использования продукта обычно обратно пропорчионально его безопасности.
  • +1
    Все описанные вами проблемы решаются наличием нормальных транспортов в соседние IM протоколы. После того как скайп стал работать через вэб, есть вероятность, что jabber2skype появится. При наличии xabber в телефоне большего пока и не надо.
    • 0
      Вас не расстраивает отсутствие Push-уведомлений?
    • +12
      Транспорты? Вы серьезно? Даже мне, интернет-задроту сложно пользоваться этим фуфлом.
      • 0
        Так об этом и речь текущими транспортами невозможно пользоваться вообще. До сих пор коробит при воспоминании о прикручивании J2ICQ к ejabberd. Была бы общая поддержка транспортов, пусть хоть 100500 месенджеров с закрытым кодом будет, завел бы учетку во всех необходимых и свел бы все в свой джаббер с OTP.
        • 0
          Надо было просто pyicqt прикручивать ;)
          git clone, 3 строки в ежике и погнали.
    • +3
      Транспорты сами по себе костыль, который появился из-за того, что существует тот зоопарк, который мы все имеем неудовольствие наблюдать. В SMTP вот нет никаких транспортов, потому что они не нужны — любой почтовый сервер и так понимает, что ему хочет сказать другой.
      • +3
        Уже не нужны. Т.к. что такое uucp уже мало кто помнит без wiki.
      • +2
        Там своих костылей хватает. SMTP протокол до сих пор не предназначен для передачи символов с кодами 128...255, всё реализовано через различного рода костыли вроде BASE64 и MIME. Некоторые костыли общеприняты и кажутся врождёнными но много и уникальных. Более-менее SMTP-сервера умеют общаться только на базовом уровне, что хватает для передачи писем, но что-то большее вроде подтверждения приёма-доставки и начинаются пляски с бубном.
      • 0
        Можно ли считать транспортом SMTP-сервер, который пересылает входящие сообщения в виде SMS на указанные в адресе номера? Одно время у некоторых операторов связи такие были, как сейчас с ними ситуация — не знаю.
        • 0
          Ну это отдельные частные случаи, так и веб-клиент для чего-нибудь можно обозвать «транспортом из http в $protocolname». А именно массового использования приблуд для пересылки из smtp в другие системы связи не наблюдается.
    • 0
      jabber2skype есть, spectrum.im
      • 0
        О, не знал о нем, знал только о sameroom.io
      • 0
        По наличию слова dbus в коде создаётся впечатление, что оно работает, пиная запущенный в фоне десктопный скайп клиент. Что автоматом означает требование иксов на сервере и жор ресурсов этим самым клиентом.
      • 0
        Хотелось бы чего-нибудь более легковесного, использующего Skype Web. На винде, если не использовать родной клиент, уже можно otr делать: http://wiki.miranda-ng.org/index.php?title=Plugin:SkypeWeb/ru в логах родного клиента все красиво выглядит )
  • +5
    Мессенджер — это немношк технологий и много-много денег в маркетинг. Это именно так и никак иначе. Поэтому ваш анализ с табличками абсолютно бесполезен. Все что вы сравниваете, шифрование, архитектура, кодеки видео и пр. — не более чем маркетинговые фичи. Пользователь плевал на все это. Это косвенно подтверждается тем фактом, что азиатский рынок мессенджеров в обзоре не представлен совсем, а тут есть о чем рассказать.
  • +1
    Как обычно проблема в деньгах.
    За таким месседжером должна стоять крупная организация, готовая это дело финансировать, но на текущий момент очевидно, с точки зрения бизнеса — это бесперспективно, раз таких предложений нет.

    Есть альтернатива — это сообщество open source. Но у OS проблема в отсутствии денег, им занимаются в свободное от работы время.
    Мне симпатичен Tox, я внимательно слежу за его развитием. Но им надо научится зарабатывать на нем деньги.
    Главный вопрос как?
    Они уже собрали краудфанеринг на $5000, но это месяц работы разработчика. И единожды.
    • +1
      Но им надо научится зарабатывать на нем деньги.
      Главный вопрос как?

      Как и все — клянчить у сообщества кнопка доната.
  • +14
    Есть классный XMPP-проект — Jappix, и сервер к нему — Metronome (форк Prosody), из коробки он поддерживает очень много различных XEP включая синхронизацию сообщений между клиентами, уведомления о прочтении, аудио и видео вызовы, хранение истории, а так-же многое другое.

    Если кого-то заинтересовал, я планировал в скором времени написать пост о нем.
    • +2
      Я точно жду материал о jabber
    • 0
      Таких социалок — вагон, начиная с жуйка и продолжая movim.eu
      • 0
        Вопрос не в социалке (ее то как раз можно выпилить), вопрос в годном XMPP-клиенте, с нормальным интерфейсом и поддержкой всех новомодных технологий
        • 0
          Присоединяйтесь conversations.im
          • 0
            Conversations — сам использую его на телефоне, он действительно классный. но что делать на десктопе? — Jappix как десктопный клиент меня более чем устраивает

            ps: за movim кстати спасибо, поковырял, оказался тоже весьма няшный
            • 0
              ) пжлста

              На десктопе vacuum-im. А так, mcabber справляется со всем.
        • 0
          А это нормально что на главной странице он мне не дает сменить имя сервера в форме авторизации?
          • 0
            Да, так-как это такой же xmpp-клиент как и все остальные, только для веб :)
            • +2
              Не пойму. Вот в любых других клиентах я могу свой жид забубенить. А тут только родные только чтоль? В таком случае он не нужен.
              • 0
                Можно поднять на своем сервере его, он же открытый. (и там разрешить только jid со своего сервера, или любой. уж как угодно)

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

                Но у jappix есть огромный плюс — возможность анонимного доступа к muc. Фактически можно так пригласить прочто в «веб чатик» человека, который об XMPP никогда не слышал, и это просто одной ссылкой. Может быть иногда очень удобно.
  • +1
    Очень многое в создании открытого мессенджера упирается в проблемы реализации клиента: часть функций, таких как голосовые звонки и передача файлов, требуют P2P подключения.

    До повсеместного перехода на IPv6 для обеспечения P2P требуется городить кучу костылей с пробиванием многослойных NAT-ов, обходом фаерволов и т.п. Все это трудоемко и крайне не надежно.

    После перехода на IPv6 задача должна сильно упроститься и, возможно, тогда пойдут открытые альтернативы.
    • +1
      Тем не менее, Skype каким-то образом пробивает многослойные NATы.
      Пусть даже с использованием своей сети серверов (чуть не написал CDN).
    • 0
      Это давно обходится STUN-серверами.
      Осталось интегрировать STUN-сервер в <подставить название сервера для нужного протокола>.
      • 0
        Не все так просто:

        • Если мы хотим, чтобы была децентрализация и открытость, то надо все эти вензеля задокументировать в спецификации, поддержать в протоколе и во всех клиентах;
        • Для тех, у кого непрошибаемый NAT, надо держать по всему миру сервера для транзита трафика;
        • Помимо STUN используется еще UPnP на домашних маршрутизаторах для автоматической проброски портов и, я подозреваю, что есть еще ряд неизвестных мне технологий.

        В итоге: реализовать P2P соединение надежно будет гораздо труднее, чем в случае с полностью закрытым проприетарным продуктом (контролируются много меньше элементов). И мы получаем проблему когда «звонки иногда не работают». В такой ситуации пользователь не будет разбираться, кто виноват (его клиент, клиент собеседника, чей-то провайдер, настройки точек доступа и т.п.).
  • –1
    Интернет, каким мы его знаем сегодня, существует благодаря открытым стандартам.

    Сначала идет бодрая речь про то, как крут интернет сам по себе, что он существует обособленно, а потом приводятся минусы мессенжеров, что у них:
    Централизованное управление. Централизованная архитектура.

    При этом автор забывает, что почти «весь интернет» держится на доменных именах, которые сами по себе так же централизованы, и подчиняются властям США. Т.е. в любой момент точно также как Telegram закрыл по запросу властей <страны/компании> переписку в чате, так и почти любая страна может в любой момент при определенных условиях закрыть любой публичный сайт, от централизации никто никуда не ушел. Теоретически, в любой момент штаты могут тупо отключить делегирование всей зоны .RU и тогда проблема будет пострашнее «централизованных мессенжеров». Поэтому мне кажется, что проблема мессенжеров больше раздута — всё таки мессенжеры — это штука удобная и полезная.

    И если автор настолько паникёр, что разводит панику вокруг мессенжеров, то ему стоит сначала разобраться с ответственностью за делегированием доменных имен — с закреплением этих прав за странами на международном уровне, а уж потом спускаться ниже до уровня мессенжеров.
    • +4
      Ну вот, для вас, вероятно, интернет=WWW, раз вы про сайты говорите. Ну отберут у вас домен, и что, интернет перестанет работать? Используйте EMCDNS и Namecoin, либо просто зоны OpenNIC.
      Все P2P-решения не завязаны на конкретные домены. Они используют списки IP-адресов, которые либо скачивают при первом запуске сразу с нескольких доменов, либо просят пользователя вообще вручную их ввести (Perfect Dark)
      • +1
        Я имел ввиду, что для большинства пользователей интернет = страница в браузере.
        А последствия от отбора всей *.Ru зоны даже страшно представить — во первых перестанут открываться страницы в браузерах(через какое-то время, когда у всех кэш станет тухлым). Затем перестанет ходить почта. Я уж не говорю, сколько различного ПО использует доменные имена в качестве адресов серверов(ведь хардкодить ип-адреса — дело не благодарное) и всё это ПО просто встанет.

        Вы представляете, какой будет ущерб?
        Да, из этого можно будет как-нибудь выкрутиться — обязать всех провайдеров использовать новый адрес ДНС-шлюза, который кому-то админить, но еще не факт, что всё ПО станет корректно на нём работать.
        Да, можно пользователям сказать «ВСЕМ Установить ЭТО ПО», как это сделали в Казахстане: http://habrahabr.ru/post/272207/
        Но какой процент и в какое время это сделает? Разве это не делает эту проблему насущей? И где тогда статья «DNS должен умереть»?
        • +3
          В Казахстане вообще непотребство устроили кошмарное. Редкостные мудаки.
    • +8
      Все доменные имена, в привычном их понимании, как и IP-адресса, контролируются международной некомерческой компанией ICANN, да она находится в америке, но тем не менее работает все с ней по всеобщему соглашению и контролируется она не только штатами.
      DNS в отличии от большинства мессенджеров технология открытая и вполне может работать и без корневых DNS-серверов. Вы у себя дома можете поднять свой отдельный DNS-сервер и делегировать любые зоны в том числе и .com и .ru как вам захочется.
      Что в случае, даже если ситуация которую вы описываете и может когда-либо произойти, в чем я глубоко сомневаюсь, в том случае каждая страна просто обзаведется своим корневым DNS-сервером и будет делегировать имена как ей заблагорассудится, как вы и предложили.
      На самом деле с тем же успехом можно бояться закрытия gmail.com или mail.ru, но от этого не перестанут работать почтовые клиенты и сам протокол электронной почты в целом.

      Я лично поддерживаю идею автора, и считаю, что главная проблема это закрытость реализации протокола и отсутствие server-to-server, то есть если вас не устраивает любой из существующих email-серверов, пожалуйста, поднимайте свой и вы точно так же сможете обмениваться электронной почтой со всеми своими друзьями как и делали это раньше.
      В случае же с большинством мессанджеров вы так не сделаете. И вы будете обязанны использовать те клиенты, которые вам «сказали» использовать. При этом вас обяжут смотреть такую рекламу — котороую они захотят что бы вы смотрели. И вы ничего не сможете с этим поделать, т.к. вы сами решили что проблема мессенжеров больше раздута…
      • –4
        Теперь стало понятнее суть проблемы.
        Значит всё-таки суть в закрытости протокола, а вовсе не в «централизованности» серверов, про которое только и говорится в статье.

        Опять-же про ДНС-серверы- есть корневые DNS центры. Их ип-адреса захардкожены во все компьютеры и во все системы. Да, государство в целом может взять и поднять свои ДНС-сервера и всем сказать установить патч-заплатку, изменяющую адресацию главных серверов. Это как бы временно спасет ситуацию, но какой будет причинен ущерб? Громадный! Как минимум несколько дней сайты не будут открываться по привычным адресам, почта не будет уходить, т.к. не будет знать ип-адреса нужных доменов, клиентское ПО не сможет коннектиться к серверам по их днс-записям итд. И еще не факт, что всё ПО вдруг станет корректно работать после поднятия государственного днс-сервера.

        Есть ли от этого решение? Есть — поднять свой днс сервер.

        Сравнивая проблему мессенжеров, в котором встречается только одна главная проблема:
        "-Мессенжер вдруг могут запретить общаться/закрыть канал итд"
        Решение аналогичное поднятию собственного ДНС-сервера: это либо поменять мессенжер на другой(как произошло в Бразилии недавно http://geektimes.ru/post/267864/ ), либо написать свой сервер с блэкджеком и. Но «поднятие собственного» сервера настолько же сложно и не правильно, сколько поднятие DNS для страны, а технология мессенжеров — не такая уж и странная магия, чтобы не смочь написать её самому.
        • +5
          Опять-же про ДНС-серверы- есть корневые DNS центры. Их ип-адреса захардкожены во все компьютеры и во все системы.

          Эти адреса эникастом подключены в разных датацентрах на разных континентах, так что если один из континентов будет отрезан от интернета (даже, о госпаде, Америка) корневые сервера будут доступные по тем же IP адресам.

          Судя по профилю, Тимур, вы находитесь в Москве. Попробуйте выполнить трассировку маршрута до 192.5.5.241 и скажите где он у вас находится. Это один из корневых DNS серверов, тот самый IP который захардкожен во все программы.
        • +2
          Проблема в первую очередь в централизации.
          Вспомните icq, хоть ее протокол и был изначально закрыт, тем не менее позже он был реверсинженернут и открыт для всех желающих и использовался множеством разных клиентов, была даже реализация сервера.
          Но «погоды это не сделало», все равно была одна закрытая сеть, подвластная одной организации, которая могла сделать с ней что захочет, захотела закрыла, захотела mail.ru продала, захотела сделала новый закрытый протокол, который работает только с угодными клиентами… Тоже касается и Telegram, клиент — открытый, сервер — закрытый…
          Закрытость — это вторая проблема которая вытекает прямиком из первой.

          Вообще мне по данной проблеме очень коментарий ValdikSS понравился:
          Если говорить в общем, то и почта, и XMPP построены на принципе federation, когда серверы связываются с другими серверами для обмена сообщениями, а если их этой возможности лишить, они все равно смогут продолжать работать, но только в пределах своего домена.
          По какой-то причине, абсолютное большинство современных сервисов вообще не ценят federation, из-за чего у нас есть странные вещи вроде Telegram, когда протокол открытый, а сервер — нет, mattermost, zulip и прочие hipchat, которые по-настоящему крутые, но никому не нужные из-за невозможностью коммуникации между серверами, и, как следствием, замкнутости системы.
          Причем federation замечательно работает для смартфонов — он не сажает батарею, в отличие от p2p-подхода (от чего пришлось избавляться Skype и из-за чего в Tox тоже пришлось добавить что-то вроде federation — tcp relay).
          Надеюсь вы понимаете о чем я говорю.

          Вы писали:
          «поднятие собственного» сервера настолько же сложно и не правильно. сколько поднятие DNS для страны
          Не имеется ввиду, что это придется делать конкретно вам, вы можете использовать один из уже существующих в интернете как в случае с джаббером и электронной почтой.
          • 0
            Спасибо за обоснованные ответы.
            На счет закрытости сервера — не стоит забывать, что вместе с открытием протокола и federation в мессенжеры придет спам, от которого будут страдать в первую очередь сами пользователи. Это было и с электронной почтой, это было и в icq, это есть и в Web, это есть везде. При чем я только сейчас вдруг осознал, что обожаю мессенжеры, потому-что в них практически нет ненужного мне спама. В них ты действительно получаешь только нужные тебе сообщения, а не те, которые надо еще фильтровать. И думается мне, что как только один из мессенжеров начнет раскрывать протокол, то в него польётся куча спама, а пользователям придется ставить себе модули, вроде анти-спам бота итд, и всё это повторяет путь ICQ. И на фону других мессенжеров «без спама» этот вдруг резко потеряет аудиторию. Я уже не говорю о потерях в прибыли при показе рекламы в своих клиентах.

            Поэтому пока никто не знает средства решения этой проблемы: либо пользователям спам+компания в убытках.
            И самым оптимальным вариантом остается использование нативных клиентов, к счастью не такие они уж и плохие(я про телеграмм).
            • 0
              В ICQ/AOL была когда-то такая функция как «пожаловаться на спам» она есть в протоколе(может даже и досихпор) но не реализована в клиентах. Работает она довольно просто — пользователь жалуется на спамера, и если жалоб собирается много то аккаунт спаммера(или IP-адрес резко теряет возможность часто отправлять сообщения вплоть до в час по чайной ложке). Наверно, потому и отказались что привязка велась к IP-адресу и легко устроить DOS-атаку на пользователей общего NAT.
              Но в целом, закрытость протокола никак не мешает спаму. В аське, кстати давно не видел спама.
              • 0
                > В аське, кстати давно не видел спама.
                Для аськи это уже «безопасность неуловимого Джо».
                Спамерам гораздо интереснее долбить WhatsApp — вот там они меня реально достали. Хочу вообще снести нафиг это угребище, но… держат несколько пользователей.
            • 0
              В Viber уже жалуются на спам. Там-то всё просто — телефонные номера уже давным-давно слиты.
            • 0
              Спам и в Скайпе есть, он приходит от контактов не из вашей адресной книги, только кто же его читает:) Не важно есть тут федерация или нет, мессенжер не почта.
        • +1
          Хрен с ней, закрытостью, но если я не могу себе поставить сервер и он не может общаться с другим сервером — это проблема.
        • 0
          Они не для пользователей захардкожены, а для роли DNS сервера. Обычные пользователи резолвят имена через провайдерский DNS. И соответственно у провайдера или провайдера провайдера всегда можно перенастроить или добавить зоны даже не трогая эникасты рут серверов, которые зазеркалированы по всему миру. В этом свете блокировка зоны ru от самой же России выгллядит совершенно не возможной идеей, не правда ли?
    • +1
      Еще не упоминали Ricochet — анонимный бессерверный протокол передачи мгновенных сообщений
      http://habrahabr.ru/post/242535/

      днс не использует.
  • +6
    Команда Telegram, создайте сервер для дома/компании, разрешите этот сервер посредством API добавить в стек и пусть вся переписка с теми кого добавит владелец сервера — останется на этом сервере. Это все, о чем я прошу Вас.
    • +2
      Компания, основанная разработчиком из Telegram, уже создала такой сервер.
  • +5
    А на могилке телеграма проросла асечка…
  • –4
    Мсьёё, мьсёёёё!!! Ну уймитесь вы! Нельзя же так вот прямо!

        image

    Подсудное дело, видите ли!
    • +16
      Скриншоты текста в JPEG намного большее преступление.
      image
      • +1
        Я, чесно говоря, искал в комментах вот эту картинку: image
        • 0
          Не обязательно новый стандарт, можно доделать XMPP, например.
  • 0
    не «ваш любимый мессенджер», а «наш любимый мессенджер» Потому что выбор мессенджера — это не личный выбор, это выбор некоторого сообщества в процессе коммуницирования.
    Уровень приватности коммуникаций обывателя с точки зрения сообщества обывателей не обязательно должен соответствовать уровню приватности секретного агента. Тем более, что повышение уровня приватности обывателя до уровня секретного агента только вызовет больше ненужных обывателю вопросов. А так — кому нужно шифрование смайликов?
    • +2
      Мои смайлики — моё личное дело и личное дело моего собеседника. Может, у меня неправославные смайлики с двумя Ж и одним ребенком? Или двумя М и одним ребенком? А резонанс? А возможные последствия, вплоть до потери работы? Нет. Моя переписка — личное дело меня и моего собеседника, даже если на смайле двое старших братьев и младшая сестра и нет никакого бэкграунда, связанного с сексуальной революцией в развитых странах. А учитывая непредсказуемость законодательства и особенности его правоприменения в отдельно взятых странах…

  • +1
    Я таки не выдержал и снёс skype несколько месяцев назад с android телефона. Ибо проглядываются явные признаки троянской программы. Из него нельзя выйти, после выхода он всё равно в фоне и всплывает при получении сообщения community.skype.com/t5/Android/Cannot-shut-off-skype-on-android-phone/td-p/1731346
    • 0
      Несколько лет пользуюсь Cyanogenmod (когда они еще не мутили с МС). Такой проблемы нет, по причине возможности управления всеми правами приложений. Читал что в 6 Андроиде что-то такое сделали но сам не видел еще.
      Кастомные прошивки в плане безопасности и отвязки от всяких зондов конечно вне конкуренции.
  • 0
    Статью не читал, но скайп должен умереть, достали эти гавнокодеры.
    • –4
      Сделайте лучше
      • +2
        Увы я не в состоянии, вернее мне без радости заниматься этим.
        Вопрос в другом, они добавили баг с не сбрасываемыми входящими в последней версии, а апдейт делать не спешат. Пусть хотя бы не ломают то что работает, не говоря уже про «Сделайте лучше».
        • 0
          Тогда не пользуйтесь? Альтернатив разного качества — сотни. О том и пост)
          • +2
            Позняк метаться, подсел уже на эту иглу.
            • +1
              И теперь не слезете, пока он не умрет?) Чем альтернативы не устраивают?
              • +2
                Не слезу пока большинство контактов не слезет.
              • 0
                Полсотни контактов, которых нигде кроме скайпа нет. Это как минимум.
                • +1
                  Да ладно? Существуют люди, у которых ни одной соцсети и ни одного мессенджера, кроме скайпа? Да еще так много, что только вы их знаете полсотни? Жесть…
          • 0
            Сотни? С офлайн сообщениями, видеовызовами, одновременным входом и синхронизацией с разных устройств, win, линукс и андроид версиями? Я вот если честно переодически ищу замену и все никак.
            • +1
              Facebook из того чем я пользуюсь. Наверняка что-то еще есть, ибо я пользуюсь очень небольшим количеством мессенджеров.
        • –9
          Если бы вы только знали, как лично меня достали юзеры с требованиями «Пусть хотя бы не ломают то что работает». Этим людям надо предлагать решения такого плана: «Поставьте себе Лексикон для DOS 3.0, и ваш Google Docs никогда не сломается»
  • –1
    Skype должен умереть только за то, что он только мимикрирует под дуплексный голосовой канал связи. Попробуйте услышать собеседника на фоне нестохастического шума со своей стороны (чужой разговор, ребенок, и т.д.). Мне все-равно, что это он так пытается отфильтровать шум, применяя адаптивные фильтры, так как на деле я не слышу собеседника, как если бы это был односторонний канал.
  • +2
    Вообщем то все правильно написано. Для тех кто хоть немного понимает (или хотябы читает хабр и другие ресурсы) автор в некотором роде КЭП. Основной вопрос в том что все знают, все понимают, а сделать сообщество ничего не может. Максимум jabber клиент на мобильники портировали и все.
    Очень печально. И странно что FSF и другие организации не лезут в это дело, оставляя на откуп проприетариям.
    • 0
      Как я уже выше написал, мессенджеру нужны пользователи. Иначе каким бы чудесным он не был, пользы от него никакой.
      • 0
        Тема мессенджера на мобильнике уже почти исчерпана. В текущем виде тот же телеграмм только исправляет недоделки своих конкурентов. Это в плане функционала и интерфейса. Наверно он и завершит этот цикл спирали, пока не родиться какое нибудь новое направление.

        И как показывает практика именно тогда начинают подтягиваться опенсорсные решения для пользователей. За аудиторией никто не гонятся: делают качественно, открыто и для себя. Так что будем ждать. Жалко только что момент при котором пользователей можно было получить просто так упущен.
        • 0
          У такого софта изначальна узкая целевая аудитория. Именно потому что «под себя». Никто и не рассчитывает, что секретарша Оля будет заморачиваться с Tox только потому что там шифрование и децентрализация.
          Поэтому слабо себе представляю, как им набирать аудиторию. Не только сейчас, но и вообще. А без аудитории мессенджер… ну, я это уже говорил
    • 0
      FSF видимо хватает для общения почтовых рассылок.
  • +20
    Режим иронии:

    Это та самая статья, в которой нужно было похоронить телеграм за деньги?
    • +17
      Да, только автор взял деньги у 100 заказчиков и похоронил все мессенджеры сразу
    • +1
      Я не пытаюсь хоронить телеграм, я им активно пользуюсь и он мне очень нравится. Вот только это не решение проблемы, а временная альтернатива.
      • 0
        Я не пытаюсь хоронить телеграм
        Но что на КДПВ?
  • +2
    Есть ещё такое сравнение безопасности мессенджеров, которое уже упоминалось на Хабре: www.eff.org/secure-messaging-scorecard.
  • 0
    «Skype на десктопе, по крайней мере на Windows и OS X»
    Могу добавить, что на Ubuntu 15.04 у меня тоже очень стабильно работает
    • –2
      Под Linux какая-то жутко древняя версия. Я лично skype for web использую, когда в убунте
      • +1
        Какая разница, насколько он древний. Главное чтоб работал более менее стабильно.
      • 0
        Зато рекламы нет ;)
        А skype for web под убунтой звук не умеет, проще на спектруме сидеть тогда.
    • 0
      Skype может не работать в linux без видимых причин, например в случае qtwebkit собранном gcc-5 bugs.gentoo.org/show_bug.cgi?id=546746
      Насколько я слышал, skype for linux практически не поддерживается и только вопрос времени когда он просто перестанет работать. К примеру, при следующем обновлении протокола.
      • +1
        Картинки, которые шлют в чат, уже довольно давно в линуксовом не открываются.
  • 0
    Ррано или позlно, кто то замутит стартап который решит этот вопрос.
    Напишет свой протокол связи\допилит существующий, и оставит его опенсорсным чтоб все желающие могли интегрировать и писать свои клиенты.

    Еще бы кроме передачи видео\голоса\текста я бы воткнул туда криптокошелек, чтоб можно было еще пересылать деньги. А монетизировать все это дело можно например за счет премайна своей встроенной крипты.
    • +1
      И какой будет мотивация переходить с одного из существующих протоколов на новый?
      При том что теоретический переход всех на один общий протокол уменьшит количество пользователей _всех_ мессенджеров.
      • 0
        Да все как обычно.
        Я говорю о мотивациях пользователей, овнеры старых мессенжеров конечно будут против.

        — Реклама
        — Знакомые которые уже там сидят
        — Киллер фичи, которых нет в аналогах

        Мгновенно конечно все не перейдут, если проект будет хорош он получит долю рынка. Кому то пересылка крипты будет полезно, кого то не прослушиваемость привлечет.
        Если поплывет, то за счет открытости протокола начнут появлятся альтернативные клиенты и интеграция в разные сервисы и это тоже рост аудитории.
        • +1
          Переходы от одного месседжера к другому сейчас переходит из-за рекламы этого месседжера. И бог бы с ним, если был бы единый протокол, как HTTP. И если один выделится и будет работать полностью на открытых стандартах, после него войдут новые игроки, задавив рекламой его. Но при этом они вероятнее всего будут использовать свой другой новый крутой закрытый (или открытый, в данном случае это не важно) протокол. И так по кругу.

          Проблема глубже, чем просто создать протокол. Проблема в головах пользователей.

          PS думаю нам повезло, что интернет относительно долго набирал массовость. Если бы интернет получил массовость, до появление базовых стандартов веба, сейчас у нас мог бы быть такой же ад и с сайтами, каждый клепал свой крутой протокол web-сервера для своих браузеров, со своими разметочными стандартами.
          • 0
            Мне кажется, у нас как раз ад и с сайтами, и с протоколами связи, начиная с ipv4 и заканчивая https сертификаты на который нужно покупать (покупать Карл!) чтоб они красиво выглядели со стороны пользователя.

            Разные браузеры как раз потому по разному отображают сайты тк стандарт html они воспринимают по разному. Поэтому верстальщики делают иногда отображение разной версии в зависимости от браузера и потом кросс тестируют этот ужас.

            Просто все это развивалось быстро и хаотично.
            Требуется тотальный рефакторинг.
            • 0
              Согласен, ад и на уровне поддержки стандартов развести можно. Что мы и наблюдаем в случае с html. Если даже представить, что рендрят все браузеры одинаково, есть бонусный левел — один браузер, раньше другого реализует поддержку новой фичи в стандарте.

              А ещё сейчас появился HTTP2, который на мой взгляд не очень хорош, т.к. и проблему ищут не там и решают не тем.

              Согласен, что нужен тотальный рефракторинг. Но в вебе ситуация в миллион раз лучше (на данный момент), чем с IM.

              PS нужно бы просто остановиться сесть и подумать, но текущее положение не даёт это никому сделать. Но рано или поздно это дойдёт до нужной точки кипения.
        • +1
          1. Сама по себе реклама ничего не даст. Нужны чтобы или было что рекламировать (пункт 3) или было кому рекламировать (пункт 2).
          2. Знакомые должны и сам как то перейти, это работает только при наличии какой-никакой аудитории.
          3. И вот основной пункт. То, что генерирует аудиторию. Так вот открытость, децентрализованность и шифровка большинство не волнует. Большинство предпочтёт удобство безопасности.

          Чем плох Tox? Почему не привлекает аудиторию? Открытый, шифрованный, непрослушиваемый.
          • 0
            >>Почему не привлекает аудиторию?
            Может, у них нет денег на рекламу?
            Основной пункт массовой раскрутки сейчас — это реклама.
            Качество софта важно для удержания пользователей.

            Если запустить массированую рекламу самого убогого, глючного и коряво слепленного IM то какая то аудитория начнет им пользоваться.
            Больше рекламы — больше пользователей.
            Даже в icq и однокласниках до сих пор куча народа сидит.
    • +2
      А вот мы уже заплилии.
      Кастомный протокол связи, оптимизированный для слабых сетей, опционально легковесное шифрование (TLS требует передавать много всего для новых коннектов). Фото, видео, аудио, документы, текст. Логин по имейлу, телефону, логину-паролю, не ограничиваясь этим. Платформа расширяема – как клиенты, так и сервер.
      VoIP и End-to-End в активной разработке и будут зарелизены в течение двух недель.
      Дальше в планах федерализация.
      • 0
        Пока только логин по номеру телефона. Или все фишки еще не зарелизены?
        Что значит «опциональное шифрование», не нашел где включается?
        И насколько оно легковесное, что используется? )
        • 0
          corp.actor.im – тут имейл, и чаты сгруппированы как в скайпе – предполагается, что командам нужны эти две штуки. corp.actor.im — как пример кастомизации, что можно сделать на нашем сдк.
        • 0
          В последних версиях сервера включено по дефолту.
          Мы повторили спецификацию TLS, оптимизировав первоначальный процесс обмена ключами. Плюс, данные шифруются сначала Кузнечиком (по российскому ГОСТу), и потом AESом (по стандартам США).
      • 0
        Поставил клиент под android, для регистрации спрашивает номер телефона. Где логин по имейлу?
    • 0
      Стартап — подразумевается заработок.

      Пользователи не будут переходить на «новый протокол». Пользователи хотят прийти на готовый красивый и удобный клиент со всеми плюшками, где уже есть куча их друзей, поэтому просто какой-то отдельно взятый стартап, который решит всем нашару все сделать, обанкротится прежде чем сможет раскрутиться до сервера, который потянет хотя бы пару десятков тысяч онлайн текстового чата. А если взять звонки и видео — он должен на чем-то заработать, чтобы до такого дойти.
      • 0
        Нам ничего не мешает быть оупенсурсом, но при этом зарабатывать на интеграциях в ентерпрайзе, спонсорских разработках фич в апстриме и кастом девелопменте.
      • 0
        Конечно вы правы, красивый и удобный клиент обязателен, без него не поплывет.
        Стартапы бывает берут денег у инвесторов, и бывает цифры достигают миллиардов, если инвесторы видят перспективу, до момента когда начинается монетизация.

        Вам понятна идея с монетизацией на премайне встроенной крипты?
        Это стык рынка криптовалют и месенжеров, перспективная тема.

        PS Я не запускаю такой стартап, это просто вариант развития событий, один из многих.
        Можно еще денег на кикстартере собрать, и далее монетизироваться как википедия сбором пожертвований.
    • 0
      Когда-то, когда повсюду был ICQ, все мои контакты были там.

      Потом появились, в разной последовательности, Jabber, Mail Agent, Skype, WhatsApp, Telegram. И что? А то, что я теперь вынужден поддерживать весь этот зоопарк. Я не могу просто перестать общаться с человеком, которому глубоко фиолетово, чем %my_messenger_name% круче (удобнее, безопаснее, красивее, экономнее, мультиплатформеннее -нужное подчеркнуть), а сидит в своём любимом %their_messenger_name% и никуда переходить не станет.

      Такие дела. Мотивация нужна, причём для массового пользователя. Для которого качество приложения совсем по другим критериям определяется, и который в силу привычки может сидеть на каком-нибудь ICQ до последнего.
      • 0
        Я не могу просто перестать общаться с человеком, которому глубоко фиолетово, чем %my_messenger_name% круче (удобнее, безопаснее, красивее, экономнее, мультиплатформеннее -нужное подчеркнуть), а сидит в своём любимом %their_messenger_name% и никуда переходить не станет.

        Не повезло. Или, наоборот, повезло. У меня как-то само собой всё отвалилось, поддерживать зоопарк не надо, XMPP для общения и IRC для сообществ хватает.
        • 0
          Как-то не рассматривал ситуацию в разрезе везения. В основном у меня сейчас XMPP, плюс слабые вкрапления Skype и Telegram. Но упомянутый зоопарк — всё ещё единственный способ быть действительно на связи, если она вдруг немедленно нужна.
  • +1
    Почему бы не поднять на ноги IRC, проверенный протокол. Внедрить возможность распределенного сервера, и можно потихоньку прикручивать все остальное (видео, звук)
    • +1
      Каша из топора.
      • 0
        Не совсем. IRC писался в те времена, когда нормальным RTT был 180 секунд (нет, я не путаю — именно секунд) и IRC в таких условиях стабильно работает.
        Так что с сетевой частью у него всё отлично.

        При этом видео-звук уже можно передавать через XFER. Лучше, конечно, использовать XFER в качестве STUN сервера, а трафик гнать напрямую.
        • 0
          Ну вот и получается «каша из топора». Звук через xfer, файлы через какой-нибудь node, трафик который не пройдет напрямую через firewallы и наты — гнать через третий шлюз, и получится что irc используется только для передачи сообщений, которые при таком количестве решений переслать становится не проблемой вообще.
          • 0
            В irc хороший подход с регистрацией.

            Если допилить распределенные сервера, было бы — не хочешь — не регайся, хочешь постоянный ник типа name@server — регайся, без рекламы и смс.
            Общение в комнатах и запароленных комнатах удобно, что если с кем-то договориться, тебе даже не обязательно знать его аккаунт, просто в нужное время зашел в комнату и там общайся.
            Клиенты и плагины к такому можно писать легко, включая например индивидуальные плагины шифрования — посторонние в комнате видят какой-нить mime64/uue, нужные люди — нормальный текст. В общем из irc можно было бы сделать «гипертекстовый фидонет», просто не надо это никаким стартапам.
          • 0
            Вы на архитектуру существующих мессенджеров со звуком и видео посмотрите и забейте =)

            XFER == irc, файлы через него тоже передавать можно.
            • 0
              Ну просто если делать, так делать сразу красиво и качественно, а не из костылей, имхо
  • +1
    Я уже такую проблему почувствовал очень давно. Я не регаюсь в новых месседжерах, использую очень небольшую их группу + почта (которая слава «богу» стандартизована).

    Более правильным заголовком поста было бы нечто в духе — Хватить клепать мессенджеры, пора разработать единый стандарт, либо доработать один из существующих.
  • –1
    Кстати, друг подкинул ссылку на интересное обсуждение на тему на сколько Tox на самом деле децентрализован (на самом деле нет).
    • +3
      Почитал обсуждение, автор этого issue по моему троллил, ему объяснили по каждому пункту в чем он заблуждается. Вкратце:

      1. All mobile clients enforce TCP connections instead of UDP.
      Можео отключить

      2. Offline messaging
      Еще не закоммичено вообще. Децентрализованные оффлайн сообщения — очень нетривиальная идея.

      3. Usernames
      Не является фишкой toxcore вообще.

      4. Bootstrapping
      Необходимо для создания децентрализованной сети.
  • –1
    А пока мессенжеры мрут, мы их будем соединять! (За деньги.)

    Мы == sameroom.io

    Кстати, наш любимый мессенжер (kato.im) уже умер.
    • +4
      Вот, кстати, графическое представление ада: cdn.sameroom.io/chat-timeline.pdf
      • 0
        Отличная схема. Но у вас там ошибка относительно MS Lync. Это продолжение MS Office Communicator, который вышел еще в 2007 году.
        • 0
          А сейчас он вроде эволюционировал до Skype for business и работает на скайповском протоколе?
          Или же там какой-то транспорт в скайп используется?
          • 0
            Ну это очередной ребрендинг. В предыдущей версии создавалась федерация между Lync-инфраструктурой on-premises и Skype срерверами MS. Lync внутри себя использует SIP. Не думаю, что с переименованием что-то изменилось.
          • +1
            skype for business — это свежий ui, работает с тем же lync server как и старый lync client.

            причем lync стал skype for business после какого-то апдейта офиса, и при запуске когда видел, что используется старый lync сервер быстро менял ui и становился опять lync'ом ))
            правда skype for business из office 2016 уже так не делает.
        • 0
          Да и GTalk'ом я продолжаю пользоваться.
    • +1
      А можно self-hosted и всё это дерьмо в виде транспортов)?
      Или хотя бы не self-hosted, но транспорты.
      • 0
        конечно можно, spectrum.im только кто этим заниматься будет? :)
        • 0
          spectrum.im/documentation/about.html они не умеют телеграм, hangouts, судя по сайту. А вот они бы как раз не помешали.
          • 0
            я как раз занимался добавлением телеграма в sameroom.io :) честно скажу за бесплатно я бы это никогда бы не взялся делать :) ситуация с hangouts ещё хуже, но это уже другой девелопер делал :) возня такого рода в опенсорс вряд ли пойдёт, так как любой уважающий себя опенсорс разработчик давно уже сидит на чем-то более полезном типа xmpp, irc или на крайняк на том же slack'е.
            • 0
              Ну так я в sameroom предлагаю XMPP подцепить =)
              • 0
                у нас немного специфика другая, мы не хотим давать через одну систему в другую ходить — мы соединяем чаты из разных систем. То есть если говорить про xmpp, то у нас есть cisco jabber и можно соединять комнату из него с чатиком в том же телеграмме. Транспортов в такой формулировке у нас точно не будет.
        • 0
          Хотя через libpurple может и получится прикрутить telegram. А вот про hangouts — непонятно. Судя по докам — нельзя.
          • 0
            Так прикручено уже. И даже работает. И даже (в пику официальному клиенту), поддерживает секретные чаты с десктопа.
            • 0
              Я в курсе, что в purple оно прикручено. Я не уверен, что к спектруму телеграм через purple получится прикрутить )
  • 0
    WebRTC всех похоронит… Не знаю что у автора там нагружает, у меня WebRTC в HD нормально работает… не грузить ни проц ни чего…
    • 0
      на ipod touch 3g надеюсь тоже не грузит? А вот скайп там работает, если с такой-то матерью его установить.
    • 0
      Ну, например, у меня видео в браузере заметно сильнее нагружает CPU, нежели в видеоплеере, при том, что в браузере все равно используется аппаратное декодирование. Просто браузеры сделаны так, что они декодированное видео обратно в RAM гонят, а видеоплееры выводят непосредственно из VRAM.
      В Firefox для кодирования и декодирования H.264 в WebRTC используется кодек от Cisco, что тоже не сильно способствует скорости, когда железо может кодировать и декодировать само.
  • 0
    Упомянуть до кучи BitMessage — чтобы уж попал в общий хвост обсуждения.
  • 0
    Сейчас токсу очень не хватает offline сообщений, это сложно реализовать, но и бонус от этого увесистый.
    • +1
      Я вообще не представляю как можно гарантировать доставку офлайн сообщения в децентрализованной сети, кроме как через суперноды или копируя каждое сообщение на каждую ноду. Интересная задача.
      • 0
        Ну вот в Bitmessage есть некий механизм, двое суток сообщение может дожидаться клиента.
        • +1
          Там второй вариант. Против спама у них POW, что дает некоторую задержку при отправке. Конечно, децентрализованно, но хранить все недоставленные сообщения всей сети — это вряд ли смасштабируется на миллиард пользователей.
  • +1
    во-первых, очень крутой пост, заставляет задуматься, спасибо.

    И всё же о чем речь: о мессанджерах или о новом глобальном unified communication, которые заменят голосовую связь, sms и заодно емейл с всеми мессенджерами?
    Было бы круто, конечно, чтобы в контактах для человека был один идентификатор, используя который можно было бы и позвонить, и видеосвязь, и початится, и сообщение оставить, и файл отправить и т.д.

    Если вся gsm (и пр) связь с номерами и sim-картами остается, то имхо неизбежно наличие мессенджеров, использующух эту инфраструктуру, какие бы новые идентификаторы юзерам в И-нете не придумывались.
    Не очень понятно, почему привязка к телефону так плоха. Это ведь по сути тоже адрес, только в другой сети. И он уже есть, надо его только подтвердить. Да, это исключает первичную регистрацию без телефона. Но в том же вайбере после регистрации можно менять sim-карту и десктоп клиент есть.
    Но главное — это решает вопрос о обнаружения, это лично для меня было главным преимуществом вайбера перед тем же скайпом. Контакты с телефонами уже есть. И теперь я просто могу им позвонить по вайберу, если они поставят. В случае с отдельным идентификаторам — я должен его как-то узнать. Т.е. такой handshake предварительный нужен. Для анонимности это плюс, для удобства — минус.
    Получается нужно и то и другое.

    Не не и спора ради, но такие оды качеству связи в скайпе не понятны — имхо качество-то как раз хреновое.
    И то, что скайп занимает релеем как раз заставляет не держать его запущенным даже на десктопе.
    • +3
      Не очень понятно, почему привязка к телефону так плоха. Это ведь по сути тоже адрес, только в другой сети. И он уже есть, надо его только подтвердить.

      Потому что привязка к провайдеру не выгодна для вас. Раньше, когда интернет только начинался, провайдеры предоставляли email вместе с подключением к интернету. Понравилось бы вам сейчас менять адрес email при переезде на другой адрес? Почему тогда, если отъехать на пару киллометров от дома, я внезапно должен платить в несколько раз больше мобильному оператору за роуминг? Неужели маршрутизация моих IP-пакетов в этом районе обходится дороже чем для других пользователей? А если вы вдруг решили пересечь границу, так будьте добры платить в десятки раз дороже. Это справедливо? Я согласен платить честную стоимость за маршрутизацию моих IP пакетов провайдеру в конкретном регионе, где я сейчас нахожусь, но не собираюсь платить в десятикратном размере за услуги компании, с которой мне посчастливилось в молодости проживать рядом. Кроме того, я не хочу разорять своих близких заставляя их звонить на мои международные номера.
      Поэтому я считаю что связывать на всю жизнь IP провайдера и оператара связи, это рабство в которое вас насильно загоняют чтобы контролировать и грабить.
      • +1
        Номер можно сохранить при переходу к другому оператору. А если меняете номер, то мессенджер можно перепривязать к новому номеру (по крайней мере в WhatsApp я менял номер абсолютно безболезненно).
        Местный роуминг — это конечно абсурд, существующий только в России по-моему. С другой стороны международный роуминг понятен, надо ведь платить оператору, который работает в стране роуминга.
      • 0
        вы говорите об операторе связи и роуминге, а не о мессенжерах.
        в идеале да, номер телефона должен выделяться отдельно от оператора некой национальной службой а'ля dns.
        но идеала нет. адрес выделяет поставщик услуги. в случае с интернетом, кстати, то же самое. просто вы его не используете напрямую, как номер телефона.
        мессенджеры же просто использую ваш уже существующий статический адрес (номер телефона) для удобства. это не рабство, т.к.: 1) вы можете заменить сим-карту и, по крайней мере вайбер, продолжит работать; 2) вы можете сменить оператора, не меняя номер;
        но, опять же, в иделе было бы удобно, чтобы мессенжер позволял выбирать использовать ли номер телефона как идентификатор.
  • 0
    Отличная статья! Лучшего обоснования стремиться к общему протоколу передачи коротких сообщений я не читал!
  • +1
    В обсуждении типичная ошибка технарей в погружении в детали вопроса. Хотя страдает концепция.

    У каждой системы есть свой админ. Безопасность у любого it продукта заканчивается на разработчике и администраторах предлагаемого сервиса.

    Концепция протокола состоит в том, что он предлагает способ связи. Это главный момент. Протокол должен быть прост, расширяем, универсале…

    Мне казалось идея статьи в необходимости использования общего протокола (коим является XMPP). Почему почтовый протокол используется и будет использоваться?.. Потому что его легко масштабировать: можно в пределах компании, двух, трёх…, а можно и в пределах страны. Зачем не ограничиваемый всепролазиющий messanger? Для чего вы будете его использовать? И будете ли вы его использовать, зная что он для всех, а не строго между вами? Я для своей компании использовал бы messanger, который только между моими сотрудниками. И если у меня появится хороший партнёр, которому я доверяю на 100%, быть может, я и для его компании открою свой messanger. И вот тут нам понадобится общий протокол с которым будут работать те клиентский приложения, в которых я привык работать, и те клиентские приложения, в которых привык работать мой партнёр. Смекаете?

    А история с террористами использующими какой-то messanger — PR ход! Эти террористы не более грамотные, чем среднестатистический человек. И они уж точно не анализируют криптостойкость messanger'ов. И децентрализованность им не нужна. А если им нужен совсем закртый канал связи, то можно поднять свой xmpp на amazon, даже без домена, но со всеми приблудами шифрования. Потом, сделать своё грязное дело. Потом грохнуть всё это. И никакой информации о переписки нет. И телефон можно купить, попользоваться и сжечь. Это для параноиков. Но даже если бы они делали всё через irc канал созданный на любой популярной ноде. Спецслужбы скорей всего узнали об этом слишком поздно.

    А если вы системный администратор, то вы знаете, чтобы не допустить протечек описанных в статье, вам нужно поднять свой сервис и локализовать его до своего круга лиц. А если вам нужно просто кинуть смс-ку: «Я купил хлеба, мама» — то мне не обязательно это отправлять через Tox… Для этой цели подойдёт ICQ. Так вот суть мысли в том, что протокол он, как бы, транспорт, он с разными уровнями безопасностями.

    Знаете по какому протоколу я сижу в скайп?.. Есть надстройка в pidgin, которая позволяет по http через веб-сервис skype писать сообщения пользователям скайп. И у меня в этом pidgin корпоративный xmpp. И у меня в этом pidgin xmpp учётка на яндексе, который является открытым xmpp, и у меня в этом pigin насдтройка для использования telegram. А если мне нужно передать пароль от очень важной учётки моему сослуживцу админу в локальной сети в одном помещении, то я для этих целей использую Bonjour сервис через тот же pidgin, а потом удаляю у себя историю сообщений на компьютере по этой учётке. И я так уверен, что это сообщение увидит только этот человек, а прослушать трафик в моей сети может только Петя и Вася, которые так-же отвечают за безопасность в этой сети. Вот это хорошая безопасность без сомнений прозрачная и ясная. А универсальный messanger типа Tox для фантазёров, которые слабо подкованы в сетях и в этих же протоколах…

    И, когда у вас утечёт что-то из-за использования Tox, потому что кто-то там чего-то напутал. В моей Bonjour'ке через Pidgin соседу, меньше колен и слабых мест безопасности.

    А что делать обычным пользователям, не админам?.. Не заморачиваться этими вопросами, как и раньше, и полагаться на админов сервисов, которые они используют, и наслаждаться «смайликами, как в iPhone».

    У Tox мне не ясна бизнес-модель. Безопастность — это не бизнес модель. На это никто не клюнет. Корпорации не клюнут, потому, что его нельзя локализовать. Админы не клюнут, потому, что понимают всё суть сетевой модели и не будут рисковать в том сервисе, устройство которого им до конца не известно (а админы не всезнайки и устройство многих вещей им до конца не известно, а безопасность строится на отрубании лишних концов). Пользователи не клюнут, потому что безопасность у них не в приоритете, а функционал бедный в сравнении с Telegram, WhatsApp. Чем эти ребята, и кого они хотят завоевать?.. Таких как я они завоюют. Только из моего окружения нет больше таких же параноиков. А лишнее приложение в памяти телефона им не нужно.
    • +2
      Эти террористы не более грамотные, чем среднестатистический человек.… А если им нужен совсем закртый канал связи, то можно поднять свой xmpp на amazon, даже без домена, но со всеми приблудами шифрования.

      Среднестатистический человек такого не умеет.
      А если вам нужно просто кинуть смс-ку: «Я купил хлеба, мама» — то мне не обязательно это отправлять через Tox… Для этой цели подойдёт ICQ.

      А зачем мне еще один мессенджер для сообщений маме, если можно (теоретически, в идеале) им не пользоваться? Зачем плодить лишние сущности?

      И, когда у вас утечёт что-то из-за использования Tox, потому что кто-то там чего-то напутал.

      Вы предоложение не закончили. Но если напутать, то может утечь что угодно откуда угодно.

      У Tox мне не ясна бизнес-модель.

      Чем эти ребята, и кого они хотят завоевать?..

      Это ж опен сорс. Делаем для себя, делимся с остальными. Вот и вся бизнес модель.

      Админы не клюнут, потому, что понимают всё суть сетевой модели и не будут рисковать в том сервисе, устройство которого им до конца не известно

      Опять же, опен сорс. Можно почитать исходники в любой момент.
  • 0
    Skype до сих пор раскрывает ваши IP-адреса, включая локальный. По этим данным можно узнать ваше текущее местоположение и построить карту перемещений.

    К слову, Tox как протокол также позволяет узнать IP-адрес, только гораздо проще.
    • 0
      tor
      • +1
        Так и Skype можно пустить через Tor. Только тамошние скорости убьют видео/аудиозвонки. Обычное следствие компромисса анонимности против быстродействия. Просто не очень честно писать «скайп должен умереть за то, что раскрывает IP», когда этим занимается в том числе Tox.
        • 0
          согласен
  • 0
    Tox DHT ничего не могу сказать, но twister DHT в месяц набирает порядка 30Гб только влет влет, а суммарно трафика под 100Гб.
    Стата с 21 декабря
    DHT Torrents: 983
    Peers: 794
    Peer List Size: 228638
    Active Requests: 3
    Download: 22.8 Gb @ 17.2 Kb/s
    Upload: 23.3 Gb @ 16.7 Kb/s
    DHT Download: 12.7 Gb @ 8.19 Kb/s
    DHT Upload: 11.6 Gb @ 7.2 Kb/s
    IP Overhead Download: 6.93 Gb @ 4.26 Kb/s
    IP Overhead Upload: 7.12 Gb @ 4.4 Kb/s
    Payload Download: 5.28 Mb @ 0 b/s
    Payload Upload: 699 Mb @ 0 b/s


    TOX id
    209FEAB6490F4D3348D28E5D9ECF91773932DA4625444E991F6EDBF4CD357C11B4D535777B97
    И тут скажем разработчикам спасибо за возможность сменить публичный ID не меняя приватный, т.е. не теряя контакты
  • +1
    А если мои любимые мессенджеры это XMPP и Tox? :)

    // Кстати, на самом деле, у XMPP есть много чего для того, чтобы работать не хуже скайпов, ватсаппов, телеграмов и прочих. Просто куча XEP'ов остаётся никем не реализована (а пока она не реализована много где — она остаётся в черновиках и не рекомендуется к повсеместной реализации, типа «на свой страх и риск». Замкнутый круг.

    Но вообще, был бы у меня бесконечный запас времени и бесконечный денежный запас (чтобы не думать об их добыче) — я бы таки начал осуществлять свою мечту по написанию идеального XMPP-клиента :)
    • 0
      XMPP со всеми своими XEP-ами еще очень долго не будет хорошо работать на мобилках. XML не выстоит против бинарного протокола, предусматривающего возможность потери любого пакета by design.
      • 0
        Ну, например: www.jabber.org/extensions/xep-0295.html
        // он хоть и первоапрельский, но в Prosody реализован и работает.
        И, как ни странно, именно его использует WhatsApp ;)
        • 0
          Я правильно понимаю, что это json? Он перед бинарным протоколом имеет ровно те же недостатки, что и XML. Чуть меньше трафика, но не сравнить с каким-нибудь protobuf. И обратной совместимости практически ноль.
          • 0
            Ну, я не просто так упомянул, что WhatsApp работает на нём и ему норм :)

            // кстати, судя по всему, в дискуссию затесался молчаливый фанат XMPP, который Вас минусует, но не аргументирует :) Вот вам пара плюсов :)
          • 0
            А JSON отлично заворачивается в MessagePack msgpack.org и объем его будет вполне сопоставим с PB.
            • 0