Брейншторм по архитектуре и операционным подходам для мессенджера, устойчивого к цензуре (в первую очередь — РКН/Россия).
РКН использует ТСПУ (Технические средства противодействия угрозам) с DPI — анализ трафика в реальном времени, включая нейросетевую классификацию протоколов. Это уже не простое IP-блокирование: любое «необычное» поведение трафика детектируется и блокируется.
Трафик должен выглядеть как обычный браузерный TLS. WebTunnel (Tor) имитирует SNI популярных сайтов. Reality-протокол идёт дальше: маскирует TLS-рукопожатие под Microsoft/Apple, вплоть до таймингов пакетов.
Запрос идёт на CDN (Cloudflare, Fastly, Akamai), а внутри CDN перенаправляется на реальный сервер. Заблокировать Cloudflare — значит сломать половину рунета. Используется в Tor, Signal, Lantern. Cloudflare Workers дают хороший контроль над маршрутизацией.
AnyTLS и аналоги: мультиплексирование сессий и случайный padding пакетов — паттерн трафика не детерминирован. Классификаторы РКН натренированы на конкретные сигнатуры, рандомизация ломает их.
UDP-based протокол, быстрее обходит DPI, сложнее фильтровать без потери легитимного трафика (YouTube тоже ходит по QUIC).
На уровне клиента модифицировать исходящий трафик: desync-split, fake-пакеты перед TLS-рукопожатием. Работает без внешних серверов — всё напрямую.
Как у Tor/Signal: список мостов распространяется отдельно от основного канала — через email, QR-коды, Telegram-боты, DNS-запросы. Мосты ротируются, IP-адреса живут недолго.
Пользователи вне РФ одним переключателем становятся ретранслятором. Аналог Snowflake в Tor — браузерное расширение или фоновый процесс. Чем больше добровольцев, тем устойчивее сеть.
При полном отключении интернета — Bluetooth и WiFi Direct для передачи сообщений между устройствами. Реализовано в Briar Messenger. Для РФ нишевой сценарий, но критично при полном отключении (как в Беларуси 2020).
Сообщение проходит через несколько узлов, каждый знает только предыдущий и следующий. Нет центрального сервера — нечего блокировать.
Начальное обнаружение серверов через DoH (например, 1.1.1.1). Даже если классический DNS заблокирован, первый контакт с инфраструктурой работает.
Сервер не знает, кто с кем общается. Sealed Sender (как у Signal): получатель не может доказать отправителя. Без привязки к номеру телефона — только криптографические идентификаторы.
Фиктивный трафик в периоды молчания — DPI не детектирует мессенджер по паттерну «вспышки активности + тишина».
Если основной канал заблокирован, обмен ключами/инвайтами идёт через: QR-код офлайн, email, SMS, стеганографию в изображениях, GitHub Gist.
SMS работает через сотовую сеть — РКН физически не может его заблокировать без отключения сотовой связи целиком.
Приложение использует нативный SMS API Android. Сообщение уходит как обычная смска на номер получателя, но:
- зашифровано E2E перед отправкой
- имеет специальный заголовок-префикс для идентификации
- перехватывается приложением и не отображается в стандартном SMS-inbox
Так работал Signal в режиме Encrypted SMS и работает Silence Messenger.
Плюсы: нет сервера, работает без интернета, бесплатно
Минусы: только Android (iOS не даёт SMS API сторонним приложениям), метаданные видны оператору
Сервер подключён к SMS-шлюзу (Twilio, SMSC). Когда интернет-транспорт недоступен, доставка идёт через SMS.
Плюсы: работает на iOS
Минусы: стоит денег (~$0.006–0.01 за SMS), сервер знает метаданные
интернет-транспорт → CDN bridge → Tor → SMS
Клиент пробует транспорты по приоритету, переключается автоматически. Пользователь видит индикатор «отправлено через SMS».
- Base64-кодирование зашифрованного payload (увеличивает размер на ~33%)
- Сжатие текста до шифрования (zstd/lz4)
- Compact-схемы (Curve25519 + ChaCha20)
- Один сегмент SMS (~137 байт данных) вмещает ~80–100 символов открытого текста после шифрования
Без зависимости от Google Play. Несколько десятков зеркал с автоматической ротацией доменов. Подпись APK верифицируется по хешу, опубликованному в нескольких независимых источниках.
Пользователи получают обновления полностью мимо Google. Важно для тех, кто не использует Google-сервисы.
Полноценный клиент в браузере — не нужно ничего устанавливать. Работает через HTTPS, максимально сложно заблокировать. Ключи хранятся в IndexedDB.
В России большая доля Huawei без Google Play. RuStore — российский магазин, снижает барьер входа для массовой аудитории.
Curl-совместимый интерфейс, работает через любой прокси, интегрируется в скрипты. Для технически продвинутых пользователей.
Кнопка «подключиться через мост» прямо в интерфейсе. Всё встроено — как в Tor Browser. Пользователь не знает, что такое bridge или SOCKS5.
Только email или полностью анонимно — по инвайт-ссылке. Номер телефона как опция, не обязательство. Устраняет привязку к паспорту через SIM-карту.
Целевой APK < 15 МБ. Быстро скачивается даже через медленный мост.
Приложение выглядит как калькулятор или заметки. Иконка и название меняются. Паник-кнопка уничтожает переписку или переключает на дефолтный экран — актуально при физической проверке телефона.
Добавить контакт можно при личной встрече — сканирование QR без интернета. Первичный обмен ключами без центрального сервера.
Серверы одновременно на AWS, GCP, Azure, Hetzner, OVH, DigitalOcean. Для блокировки нужно заблокировать всё — это политически и технически сложно.
Клиент пробует в порядке приоритета без участия пользователя:
прямое соединение → CDN fronting → bridge → Tor → SMS
Telegram/Matrix-бот публикует в реальном времени: какие транспорты работают, какие мосты живые, как получить актуальный APK.
Стимулировать пользователей вне РФ поднимать реле: статистика трафика, бейджи, или микроплатежи за предоставленный трафик.
| Идея | Эффект | Сложность реализации |
|---|---|---|
| Domain Fronting / CDN | Очень высокий | Средняя |
| Обфускация под HTTPS (WebTunnel/Reality) | Очень высокий | Высокая |
| APK зеркала + PWA | Высокий | Низкая |
| Встроенный один-тап обход | Высокий | Средняя |
| Система мостов с ротацией | Высокий | Высокая |
| SMS-транспорт (Android, device-to-device) | Высокий (фолбэк) | Средняя |
| Volunteer bridge (Snowflake-подобие) | Высокий | Высокая |
| Авторегистрация без телефона | Средний | Низкая |
| Dummy traffic | Средний | Средняя |
| Паник-режим / маскировка | Средний | Низкая |
| Bluetooth/WiFi mesh фолбэк | Низкий (нишевой) | Очень высокая |