Как я решил проблему «третьей стороны» в мессенджерах, или почему сервер - это слабое звено

Помните обещания об «абсолютной приватности»? Марк клялся, Павел обещал, но в 2025-м новости о мессенджерах всё больше напоминали сводки с фронта: утечки сотен гигабайт переписки, найденные бэкдоры и данные, внезапно ставшие доступными «третьим лицам».

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

От теории к практике

Примерно в то же время, когда скандалы с приватностью стали нормой, у меня появилась мысль - а что, если посредник не просто не зашифрован, а физически отсутствует?

Я реализовал эту концепцию как технический эксперимент, чтобы проверить её на прочность. Оказалось, что схема вполне жизнеспособна. То, что начиналось как проект «на коленке», превратилось во вполне рабочий инструмент, где безопасность гарантирована не обещаниями разработчика, а самой архитектурой системы.

В чем реальная уязвимость сигнальных серверов

Многие мессенджеры гордятся стойкостью шифрования - AES-ключи, обфускация трафика и борьба с DPI выглядят солидно. Но остается один критический нюанс: у них всё равно есть сервер.

Даже если его называют «сигнальным» и говорят, что он нужен только для установления связи, это всё равно точка сбора данных. Если данные где-то собираются, за ними рано или поздно придут. Будь то хакерская атака или официальный запрос - метаданные (кто, когда и с кем общался) могут рассказать о вас больше, чем само содержание сообщений.

Ну и наконец в серверную могут просто прийти уполномоченные люди которые потребуют предоставить доступ ко всему :-).

Концепция чистого P2P

В Silent Channel я исходил из того, что лучшая защита - это отсутствие объекта для атаки. Здесь нет серверов. Вообще. Даже для того, чтобы ваши устройства «увидели» друг друга.

В классических мессенджерах вы подключаетесь к центральному узлу, который фиксирует ваш IP, время входа и личность собеседника. В моем приложении вы генерируете файл запроса (Offer), передаете его собеседнику любым удобным способом (через почту, другой мессенджер или физически на флешке), получаете файл ответа (Answer) - и только после этого устанавливается прямой туннель. В итоге для остального интернета вашего общения просто не существует.

Цена приватности

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

Тут есть важный технический момент: почему эти файлы нужно использовать быстро? Успех P2P-соединения зависит от того, найдут ли устройства друг друга в сети. Файлы содержат ICE-кандидаты - список ваших текущих IP-адресов и портов на данный момент.

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

  • При смене IP (переход с Wi-Fi на мобильную сеть) старые данные в файле моментально становятся недействительными.

  • В отсутствие сервера, который обновлял бы маршруты в реальном времени, вы полагаетесь на «снимок» сети. Если условия изменились за время передачи файла, туннель не построится.

  • При слабой связи бывает не сразу удается установить соединение, приходится повторять процесс подключения.

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

Автономность и отказ от сервисов Google

Я старался сделать приложение максимально независимым:

  • Здесь нет аккаунтов. Никаких привязок к номеру телефона или почте. Нет записи в базе - нет данных, которые можно сопоставить с личностью.

  • Никакого Firebase или Google Play Services. В приложении нет облачных уведомлений и встроенной аналитики, что кстати делает его удобным для любых кастомных сборок Андроид.

  • Никакой рекламы и скрытых метрик. Передавать данные просто некуда - в коде не заложены адреса серверов для сбора статистики.

Почему это критично сейчас

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

В централизованных системах администратор сервера знает о вас всё, кроме смысла слов, но смысла часто и не требуется для деанонимизации. В моем приложении нет даже «Личного кабинета» - это было бы абсурдом в контексте приватности. Только код и прямое соединение.

Стек технологий и платформы

Для тех, кому интересна техническая часть:

  • WebRTC в чистом, без-серверном виде.

  • Serverless Signaling - отсутствие посредников при обмене SDP-пакетами.

  • KMP (Kotlin Multiplatform) - основа проекта. Благодаря этому стеку приложение уже сейчас доступно не только на Android, но и в виде полноценной Desktop-версии (Windows). Оба клиента работают по идентичной логике безопасности. На данный момент это две основные платформы, для которых возможна сборка и стабильная работа P2P-протокола.

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

Для передачи голоса и видео используется протокол SRTP на базе UDP. Это концепция «живого потока», где потеря части пакетов не критична: мы просто их игнорируем, так как следующий пакет придет через миллисекунды. Текстовая же переписка работает через Data Channel (протокол SCTP поверх UDP), который обязан гарантировать доставку каждого байта в правильной последовательности.

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

Кроме того, Data Channel требует жесткого контроля состояния. Если из-за кратковременной смены сети потеряется служебный пакет подтверждения, канал может уйти в ошибку и потребовать пере-подсоединения. Видео в такой ситуации просто «дернется» и продолжит трансляцию.

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

В итоге мы получаем техническу�� иронию: передать «тяжелое» видео в мире без серверов иногда проще, чем установить текстовое общение. Зачастую установить одно только соединение для чата (Data Channel) не получается за один подход, когда аудио или видео устанавливается без проблем.

О доверии

Я предвижу главный вопрос сообщества: «Если приложение про приватность, почему код не открыт?». Хочу ответить на это максимально честно.

Silent Channel — это мой коммерческий проект, в который вложено много сил на решение задач P2P‑стабильности. На данном этапе я выбрал модель закрытого кода для защиты интеллектуальной собственности и монетизации. Однако приватность здесь базируется не на «честном слове», а на физических ограничениях архитектуры:

  • Проверка сетевой активности. Любой задавшийся целью может запустить сниффер (Wireshark, PCAPDroid) и убедиться: приложение не инициирует соединений с внешними серверами. В коде просто нет адресов, куда могли бы уходить логи или метаданные.

  • Нету бигтеха. Писал чуть выше - в приложении полностью отсутствуют Firebase, Google Play Services и любая другая аналитика. Нет рекламы. Это можно проверить через анализ манифеста. Так что в случае креша мне сложнее его поймать, так что очень жду живые отзывы.

  • Несохранение данных. Ваша переписка не сохраняется ни на каких серверах (их просто нет) и не кэшируется в постоянную память устройства. Все данные существуют только в рамках текущей сессии исключительно в оперативной памяти.
    - Важное уточнение: Принятые файлы сохраняются в указанном вами месте (по умолчанию в папке «Загрузки»).

  • Минимум разрешений. Silent Channel запрашивает абсолютный минимум системных разрешений. Ему не нужны ваши контакты, доступ к SMS или геолокации. Только аудио, видео звонки - собственно для этого он и нужен ).
    Вы можете убедиться посмотрев файл манифеста приложения по ссылке или самостоятельно дастать его из файла апк.

Для поддержки проекта существуют две версии приложения. Цена платной версии в Google Play зависит от страны, она снимает все лимиты на общение. Рассматриваю вариант оплаты другими методами.

Бесплатная версия полнофункциональна в плане безопасности, но имеет следующие технические ограничения: Длительность аудиозвонка - до 3 минут, видеозвонка - до 1 минуты, максимальный размер пересылаемого файла в чате - до 3 МБ.

Я понимаю, что для многих отсутствие Open Source - это «красный флаг». Но в данном случае архитектура Clean P2P делает наличие бэкдора практически бессмысленным: ему просто некуда отправлять украденные данные, так как в системе отсутствует центральный узел сбора.

В общем я открыт к диалогу.

Итог

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

Silent Channel - это эксперимент по возвращению контроля над общением самому пользователю. Это не так удобно, как обычный чат, но это цена за то, что ваше общение остается только вашим.

Буду рад любому фидбеку. Сразу отмечу: при анализе предложений я в первую очередь смотрю на то, как идея влияет на максимальную безопасность и анонимность пользователя, и только во вторую - насколько это повышает удобство интерфейса.

Больше деталей

Для генерации картинок и в качестве шеф редактора использовался AI.

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


  1. Yuriy_krd
    19.01.2026 14:39

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


    1. lordtao Автор
      19.01.2026 14:39

      Признаю, это уязвимость — факт обмена файлами. Но это контролируемый риск:

      Для обычного пользователя — не трагедия.
      Для параноика — каналов для одноразовой отправки не отследить, а файлы быстро «протухают», не раскрывая сути.


      1. fnlnz
        19.01.2026 14:39

        А клавиатура гугловская или встроенная?


        1. lordtao Автор
          19.01.2026 14:39

          Клавиатура предлагаемая устройством. Судя по всему есть предложение дополнить самописной встроенной клавиатурой чтобы избежать возможных перехватов?


  1. Andnet
    19.01.2026 14:39

    Куча бесплатных уже давным давно есть.


    1. lordtao Автор
      19.01.2026 14:39

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


      1. grixis
        19.01.2026 14:39

        Tox например. Там нет сервера вроде.


        1. lordtao Автор
          19.01.2026 14:39

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


      1. Kagvi13
        19.01.2026 14:39

        А как вы оцениваете такой проект как BitMessage (основан на принципах Blockchain, но, похоже, давно не развивается)?


  1. MAXH0
    19.01.2026 14:39

    : “Если приложение про приватность, почему код не открыт?”. Хочу ответить на это максимально честно.

    Silent Channel - это мой коммерческий проект, в который вложено много сил на решение задач P2P-стабильности. На данном этапе я выбрал модель закрытого кода для защиты

    Вынесете это, пожалуйста, в заголовок. Потому что дальше можно не читать.


    1. lordtao Автор
      19.01.2026 14:39

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


      1. MAXH0
        19.01.2026 14:39

        Ну вы же рекламируете товар. Так рекламируйте его заинтересованным в покупке клиентам, а не случайным прохожим, зашедшим поинтересоваться решением... Ведь сами признали "для многих отсутствие Open Source - это «красный флаг»." Так зачем вы заставляете их время терять?..


        1. lordtao Автор
          19.01.2026 14:39

          Спасибо за вашу точку зрения. Цель статьи - в первую очередь обсудить архитектуру чистого P2P-соединения и её жизнеспособность, а не продвижение продукта. Модель монетизации упомянута лишь для полноты картины, так как это часто важный практический вопрос. Основная задача - получить мнения и отзывы от читателей, чтобы понять, насколько такая концепция вообще имеет перспективы и что в ней можно улучшить. Ваше мнение, как человека с интересом к теме, тоже ценно для этого обсуждения.


          1. MAXH0
            19.01.2026 14:39

            Вот мне тоже интересно, как поведёт себя система в России в условиях анализа пакетов и прочих чудес.


          1. cpud47
            19.01.2026 14:39

            Тогда разделите статью на две. Иначе в обсуждениях каша из мнений.


            1. lordtao Автор
              19.01.2026 14:39

              Мои мысли изложены в статье. Каша не моя.


              1. MAXH0
                19.01.2026 14:39

                "Я - не я. Каша мне моя..."
                Вы смешали постановку проблемы и рекламу своего решения :) Это распространенный приём, но не менее раздражающий. Это как реклама ТГ в постовых.


        1. Pi-man
          19.01.2026 14:39

          так вроде это нормально в рекламе. Вдруг кто-то из изначально не желающих передумает под влияним аргументов?


          1. MAXH0
            19.01.2026 14:39

            Ну да... А Хабр ресурс для публикации рекламы не в рубрике: Я пиарюсь?


  1. dsoastro
    19.01.2026 14:39

    а как у вас связываются клиенты за NAT? Какой TURN сервер они используют?


    1. lordtao Автор
      19.01.2026 14:39

      TURN сервер не используется. Только STUN сервера.


    1. namikiri
      19.01.2026 14:39

      Присоединюсь к вопросу, это было первое, о чём я подумал.

      Плюс более глобальный: как двум клиентам найтись? Допустим, я хочу связаться с кем-то, как я идентифицирую собеседника? По его IP? По какому-то уникальному ключу? А как наши приложения узнают друг друга? Как проверить, что посреди нас не появился мужик посередине?


      1. lordtao Автор
        19.01.2026 14:39

        Вы правы, но именно этап обмена файлами и есть критическая точка. WebRTC защищает уже установленный канал, но не процесс «рукопожатия».

        Если злоумышленник перехватит и подменит файлы offer и answer в момент их передачи (например, по email или в другом мессенджере), он может встать между вами, представившись каждому из вас вашим собеседником. После этого он сможет расшифровывать и перенаправлять весь трафик.

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


    1. supercat1337
      19.01.2026 14:39

      Вообще, было бы интересно почитать о безопасности stun и turn серверов. Без них никакого p2p нет.


      1. lordtao Автор
        19.01.2026 14:39

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


    1. namikiri
      19.01.2026 14:39

      Вопрос туда же: если несколько устройств сидят за NAT, и двое из них решили связаться с кем-нибудь извне по вашему протоколу, как система поймёт, кто куда подключается? По портам?


      1. lordtao Автор
        19.01.2026 14:39

        Система различает устройства за одним NAT в основном с помощью портов и механизмов NAT-трансляции, которые координируются через STUN-серверы.
        Ключевую роль играют порты. Даже если публичный IP-адрес у всех устройств за NAT один, маршрутизатор назначает уникальный внешний порт для каждого исходящего соединения. Это позволяет системе однозначно идентифицировать, какому именно устройству в локальной сети предназначен входящий трафик.


        1. dsoastro
          19.01.2026 14:39

          а если NAT такой что без TURN сервера соединение не установить?


          1. lordtao Автор
            19.01.2026 14:39

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


  1. quarus
    19.01.2026 14:39

    Давно ждал чего-то подобного (я не программист).

    По оплате: нет подписки. Пишу здесь, т.к. в GPlay невозможен отзыв без установки программы.

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


    1. lordtao Автор
      19.01.2026 14:39

      К сожалению подписка это дополнительный доступ Google Services


      1. quarus
        19.01.2026 14:39

        Да, и без группы разработчиков вероятность угасания проекта ещё больше возрастает... возможно рекомендации об открытии кода более актуальны?


    1. m0tral
      19.01.2026 14:39

      Для старта вполне достаточно, потом приходит понимание


  1. Number571
    19.01.2026 14:39

    Задумка прямого P2P-соединения хороша, но в реальном мире почти неосуществима. Вы убрали из модели угроз сервера, которые могли бы хранить метаданные о вас, вашем онлайн/оффлайн статусе, переписках и прочей активности - это хорошо. Тем не менее P2P-соединение - оно не является прямым, оно проходит сквозь множество маршрутизаторов провайдеров связи, фактически тех же серверов, всё также собирающих множество метаданных. Чтобы скрыть от них активность уже недостаточно обычной установки P2P-соединения в сети Интернет. В результате, мы получаем слегка пониженный риск сбора метаданных, но основной риск в лице майора - он остаётся.


    1. lordtao Автор
      19.01.2026 14:39

      Вы совершенно правы: P2P-соединение не является абсолютной защитой от слежки, а скорее меняет источник угроз. Оно устраняет центральный сервер, который хранит метаданные и историю переписки, что защищает от корпоративной слежки и взломов серверов. Однако, как вы верно заметили, соединение проходит через маршрутизаторы провайдеров, которые по-прежнему могут анализировать сам факт коммуникации между IP-адресами.
      Ключевая уязвимость чистого P2P — раскрытие реальных IP-адресов собеседникам, что позволяет легко их идентифицировать.
      Именно эту проблему эффективно решает VPN. Он скрывает ваш настоящий IP-адрес от собеседника и шифрует трафик от локального провайдера, перенося "точку доверия" на VPN-сервис. Таким образом, комбинация P2P и VPN значительно повышает уровень приватности, защищая как от корпоративного, так и от другого анализа трафика, при условии выбора надёжного VPN-провайдера.


      1. m0tral
        19.01.2026 14:39

        У вас VPN ещё в придачу? Или вы так съехали с темы?


        1. lordtao Автор
          19.01.2026 14:39

          Это чистый P2P. Про VPN в статье не написано. В ответе предложено возможное решение предложенной ситуации.


      1. sohmstyle
        19.01.2026 14:39

        >>при условии выбора надёжного VPN-провайдера

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

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

        Пусть это будет вашим pet-проектом, который вы сможете демонстрировать на собеседованиях.


        1. lordtao Автор
          19.01.2026 14:39

          Вы абсолютно правы, я использую AI для написания приложений Андроид приблизительно с 2009 года, для публикаций на Хабре с 2011 года. Да, еще библиотеки на GitHub c 2010 года. Рекомендую использовать, очень помогает.


  1. m1kr1k
    19.01.2026 14:39

    А выложить apk на github или у себя на сайте можно?


    1. lordtao Автор
      19.01.2026 14:39

      Выложил в GitHub


  1. bear11
    19.01.2026 14:39

    Интересно, если это Москва, с Билайна на МТС пройдет звонок через эту штуку? Вы можете попробовать?


    1. lordtao Автор
      19.01.2026 14:39

      По идее без проблем. К сожалению не могу проверить. Если кто-то проверит буду благодарен )


  1. AI3aEball
    19.01.2026 14:39

    Идея Pure P2P, по моему мнению пушка. Выкинуть сервер из уравнения - единственно верный путь. Нооооо... давайте без иллюзий. "Приватность базируется на архитектуре" разбивается о "я выбрал модель закрытого кода". В мире Security это так не работает насколько мне известно. "Trust me, bro" это тоже не аргумент. ИМХО. Если я не могу скомпилить клиент сам и убедиться, что он не пишет копию SDP-оффера в скрытый лог (который улетит при краше или обновлении), то вся эта "архитектурная защита" держится на честном слове. Или я что-то не понимаю?

    Хотите доверия параноиков (а это по сути ваша ЦА) - открывайте код. Хотите денег - продавайте сборки в сторе, донаты или Enterprise-лицензии. А "Приватный проприетарный мессенджер" - это оксюморон.


    1. lordtao Автор
      19.01.2026 14:39

      Согласен с вами на 100%: в безопасности одних слов недостаточно. Поэтому главный принцип Silent Channel - полная проверяемость сетевой активности на уровне ОС. Любой желающий (с помощью Wireshark, PCAPdroid или встроенного мониторинга) может убедиться, что после обмена SDP-файлами приложение не устанавливает ни одного соединения с какими-либо внешними серверами - только прямой P2P-канал с собеседником. Архитектура без серверов - это не просто заявление, а технический факт, который можно подтвердить независимо от открытости кода. Для параноиков (нашей ЦА) это, пожалуй, даже важнее, чем исходники - ведь даже в открытом коде можно спрятать сюрприз, а здесь доказательство лежит в плоскости сетевого трафика, который вы можете проконтролировать сами.


      1. takezi
        19.01.2026 14:39

        Бэкдор может ждать сигнала к действию молча :)


        1. lordtao Автор
          19.01.2026 14:39

          Это верное наблюдение. Однако в системе без серверов «сигнал к действию» должен откуда-то прийти. Приложение не имеет фоновых подключений — весь его трафик это прямое P2P-соединение, которое можно проверить. Чтобы активировать бэкдор на конкретном пользователе, нужен механизм целевой доставки команды, а в чистом P2P для этого просто нет инфраструктуры. Интересно услышать вашу гипотезу: как, технически, по-вашему, мог бы выглядеть такой сигнал и каналы его доставки в данной архитектуре?


          1. aleksandr_el
            19.01.2026 14:39

            С инициализацией соединения со стороны клиента спустя 180 дней от вчера, либо 18 сентября...

            Как верно заметили, параноики не станут верить на слово. Проверять весь трафик? Ну такой себе совет на самом деле, в данном контексте


            1. lordtao Автор
              19.01.2026 14:39

              В андроиде есть такое понятие как бекграунд/фореграунд сервис. Он должен быть прописан в манифесте по типу <uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
              Открываете приложение при помощи к примеру jadx, смотрите манифест (он там в открытом виде). Там указаны все разрешения. Вы увидите что там перечислены только вот эти:

              <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" /> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <uses-permission android:name="android.permission.CAMERA" /> <uses-permission android:name="android.permission.RECORD_AUDIO" /> <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />

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

              Вы так же не найдете описания никаких других сервисов которые могут подобным заниматься. Чистое сингл активити.


      1. cpud47
        19.01.2026 14:39

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

        Дальше продать эту информацию провайдерам/точкам обмена трафиком и профит. Ну или мониторить офферы и собирать информацию.

        Или в другую сторону: а сколько по времени нужно производить эксперимент по мониторингу? Что если приложение выходит на связь только раз в сутки, в глубокую ночь?;)

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

        Короче говоря, нет. Закрытые исходники — это крест на доверии/приватности.


        1. lordtao Автор
          19.01.2026 14:39

          Offer/Answer - сигнальные текстовые файлы стандартного JSON с ICE кандидатами. Вы их можете легко проверять.
          Мониторинг можно делать автоматическим, покажет пустоту за ночь. Приложение не имеет разрешений для работы сервисов в бекграунде - см. манифест. А если приложение не имеет возможности получить команду в любой момент, то это явно не айс.
          Открыть исходники - подумаю. Может быть позже. А пока у меня маленький вопрос - а зачем это мне?


          1. cpud47
            19.01.2026 14:39

            Вопрос не в том, чтобы убедиться что нет конкретной лазейки. Вопрос в том, что доказать отсутствие бэкдоров внешними методами — крайне проблематично.

            А пока у меня маленький вопрос - а зачем это мне?

            Не знаю. Если Вы хотите, чтобы Вашим приложением пользовались в качестве "приватного мессенджера" — то открыть прийдётся. Если же Ваша ЦА — обычные пользователи, которым просто нужен мессенжер (удобный, красивый, etc), то можете не открывать.

            Если что, открытие исходников не означает отсутствие заработка. Можете рассмотреть разные модели монетизации.

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


  1. Mikhail55ru
    19.01.2026 14:39

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


    1. supercat1337
      19.01.2026 14:39

      Абсолютно согласен. Конфиденциальность как-то не бьётся с реалтаймовым p2p и отсутствием верификации (читай как риск mim).


  1. typ6o0jiehb
    19.01.2026 14:39

    Переходите на ipv6, и вам не нужны будут посредники. Yggdrasil / mycelium например. Используйте готовые решения типа i2p или tor - развивайте эти сети, и в них транслируйте ваши сообщения. В чем проблема? Есть куча вариантов.

    А вот эти вот ваши чистый прямой p2p так же будет залогирован операторами.


  1. mitrillov
    19.01.2026 14:39

    Ура, мы достигли использования ИИ вместо человека на всех этапах разработки продукта, от кода и сайта, до написания статьи на Хабр.


    1. Nemoumbra
      19.01.2026 14:39

      ... и ответов в комментариях. Вернее, надеюсь, что это просто мерещится мне.

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


      1. gassner
        19.01.2026 14:39

        Не мерещится. Это реально с ИИ ответы написаны, со всеми его красными флагами.


    1. lordtao Автор
      19.01.2026 14:39

      Вы абсолютно правы, я использую AI для написания приложений Андроид приблизительно с 2009 года, для публикаций на Хабре с 2011 года. Да, еще библиотеки на GitHub c 2010 года.
      Рекомендую, очень помогает. Я исправлю статью.


  1. TechnicalMan94
    19.01.2026 14:39

    Или я что-то не понимаю, или...

    Зачем на сигнальном сервере что либо сохранять? Я делал чат, сокет принял-отправил сообщение и забыл.


  1. MarksMan09
    19.01.2026 14:39

    Keet вроде уже придумали... Вы придумали его еще раз? :)

    Скрытый текст


    1. lordtao Автор
      19.01.2026 14:39

      Интересный проект. Прочитал в инете - " его финансируют крупные крипто-корпорации".


  1. gassner
    19.01.2026 14:39

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

    Если вы душу в софт вложили, так и ответить могли бы. А если там нейро-слоп "напиши мне приложение для отправки текста через WebRTC" (как у вас в промпте для ответов на комментарии), то платить вам не за что. Самое ответственное (передачу ключ-файлов) вы не придумали.


    1. lordtao Автор
      19.01.2026 14:39

      Вежливость и занудство - две разные вещи. Стараюсь ответить на все комментарии лично. AI отвечает когда меня нет на месте.


      1. gassner
        19.01.2026 14:39

        Вежливость и занудство - две разные вещи.

        Я про это и говорю.


  1. leadraven
    19.01.2026 14:39

    Статья про "народный" (пролетарский) мессенджер, а в конце интеллектуальная собственность, монетизация... Не изжил ещё мелкобуржуазное в себе.

    Лучше бы донаты принимал.


    1. lordtao Автор
      19.01.2026 14:39

      Вы правы, возможно если бы не было войны, то у меня не было бы столько свободного времени в связи с отсутствием работы и невозможностью выйти из дома (загребут ТЦК). А так появилось много свободного времени чтобы придумать как прокормить семью.
      Сейчас я полностью мелкобуржуазный и только истинные пролетарии не нуждаются в земной пище. А поскольку учился в советское время, то не умею нормально продавать свои продукты (не учили), поэтому до крупно буржуазного не дорос.


    1. lordtao Автор
      19.01.2026 14:39

      Донаты вещь хорошая. Только "кто девушку поит, тот ее и танцует". Не хочется заниматься танцами с кем то.
      Мне кажется честней использовать либо бесплатную версию с небольшими ограничениями, либо одноразовый небольшой платеж. Ну и конечно же можно вообще не использовать ).


  1. aleksandr_el
    19.01.2026 14:39

    Чем все эти "приседания" и сложности лучше, чем скажем выдать ключ от непривилигированного доступа по ssh на любой арендованный сервак в Африке, где можно двоим пообщаться в текстовом файлике и оставить файлы прям в домашнем каталоге?

    В этом сценарии я вижу проблем не меньше, чем в предлагаемом в статье варианте


    1. lordtao Автор
      19.01.2026 14:39

      Вы правы, ну что может быть проще для обычного пользователя чем аренда сервака в Африке ).
      Кстати вы пробовали как работает бесплатное приложение? Вам было сложно его использовать?


      1. aleksandr_el
        19.01.2026 14:39

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


  1. omonraa
    19.01.2026 14:39

    есть неплохая технология - симплекс чат.


    1. lordtao Автор
      19.01.2026 14:39

      Согласен, но есть одно маленькое замечание: у него есть сервера.


  1. khamraev
    19.01.2026 14:39

    У тебя может быть идеальный P2P, но если оба за CGNAT — вы никогда не встретитесь.


    1. lordtao Автор
      19.01.2026 14:39

      Вы совершенно правы. Вероятность почти 100% что не соединиться. Для таких целей как раз и должны использоваться TURN-серверы. Но я их не включал осознанно. Как писал выше возможно добавлю в качестве опции.