MeshMessenger · Mesh-мессенджер без интернета

План и целевая архитектура полносвязного mesh-мессенджера (Android и iOS): сообщения и файлы по соседним устройствам, multi-hop, store-and-forward, E2E. Исходников клиента в этом репозитории пока нет — только спецификация.
Не путать с [TotalMessenger](https://huskynet.ru/4502/) (AndroidProjects\TotalMessenger) — отдельный локальный прототип, не mesh.
Возможности (цель продукта)
- Работа без интернета в локальной среде (P2P / ad-hoc).
- Узлы ретранслируют трафик (multi-hop, TTL, дедуп по
envelope_id). - Текст и файлы (чанки, resume, контроль целостности).
- Адресная книга и верификация контактов (QR, fingerprint, trust).
- E2E по умолчанию (identity keys, envelope, дальше ratchet).
Сейчас в репозитории зафиксирован план этапов 0–6 и протокол envelope. Сборки приложения нет.
Требования (когда появится код)
- Клиент: Flutter или нативный Android + iOS.
- SQLite, libsodium, protobuf.
- iOS: ограничения фона, MultipeerConnectivity / Bonjour.
- Полевые тесты на нескольких устройствах.
Установка и запуск
Кода для сборки нет. Читать doc/ARCHITECTURE.md. Первые шаги после старта разработки — секция «Что делать первым» там же (apps/mobile, packages/protocol, protobuf, outbox, direct P2P).
Использование
Пока не применимо. MVP full mesh (DoD): 5+ устройств, multi-hop с ACK, файлы до 100MB с resume, без петель дедупа.
Структура проекта
MeshMessenger/
├── MESH_MESSENGER_FULL_MESH_PLAN.md # указатель на doc/
├── README.md
└── doc/
Целевое дерево после Этапа 0: apps/mobile, packages/protocol, packages/mesh-core, packages/crypto.
Технологии (рекомендация плана)
- Flutter или dual-stack native.
- SQLite; libsodium (X25519, Ed25519, XChaCha20-Poly1305 / AES-GCM).
- Protocol Buffers; structured logs.
История изменений
Формат Keep a Changelog.
[Unreleased]
Added
- Четвёрка документации на русском; план mesh сведён в ARCHITECTURE.
[0.0.1] — план
Added
- Спецификация full mesh: слои, envelope, файлы, trust, этапы 0–6.



