Сначала напрямую
Находит участников в локальной сети по UDP и отправляет напрямую, если известен адрес.
Мессенджер с ячеистой сетью
Iskra — мессенджер, сочетающий работу через сервер и ячеистую сеть: можно переключаться между ними и сочетать их. Серверов может быть несколько; их можно развернуть на устройствах под управлением Windows или Linux. Приложение доступно на Windows, Linux, Android и iOS.
Что умеет
Находит участников в локальной сети по UDP и отправляет напрямую, если известен адрес.
Нет прямого маршрута — ищет по небольшому графу (1–3 узла) и может передавать через уже знакомые узлы.
Bluetooth Low Energy может нести тот же зашифрованный сеанс по радио.
Необязательный сервер хранит только шифротекст. Передаёт пакеты, квитанции и сведения о присутствии. Переписку не читает.
Регистрация и чаты хранятся на устройстве. Людей добавляете по QR-коду. Для идентификации не требуются никакие данные вроде номера телефона, электронной почты и прочего.
Приложение работает на Windows, Linux, Android и iOS. Серверы можно развернуть на Windows или Linux.
Как идёт сообщение
Последний UDP-адрес, та же локальная сеть или участник с QR-кода.
Короткая цепочка узлов (не больше 1–3) снимает заголовок и передаёт пакет дальше.
Передача по Bluetooth Low Energy для того же сеанса, когда радио ближе, чем сеть.
Если никто не отвечает, сервер держит запечатанное содержимое, пока вторая сторона его не заберёт.
Платформы
Клиент. Здесь также можно развернуть сервер.
Клиент. Здесь также можно развернуть сервер.
Клиент.
Клиент.
Исходники
Клиент MAUI — в Iskra.MAUI. Ячеистая сеть, шифрование, обнаружение узлов и необязательный сервер — в дереве ShortP2P. Этот сайт — черновик лендинга для ветки 0.1, а не анонс выпуска.