
Настоящая P2P-почта на основе сети Yggdrasil для Android
![]() | ![]() | ![]() | ![]() |
Tyr запускает полноценный почтовый сервер прямо на устройстве Android и маршрутизирует почту через mesh-сеть Yggdrasil — без центральных почтовых серверов, проброса портов и STUN/TURN. Сообщения идут напрямую между узлами, а Yggdrasil шифрует весь трафик в транзите.
Адрес выводится из публичного ключа Ed25519 (<64-hex>@yggmail), поэтому его
нельзя подделать. Стандартные SMTP/IMAP доступны на localhost, так что подойдёт
любой почтовый клиент; DeltaChat/ArcaneChat дают лучший P2P-опыт.
127.0.0.1:1025) и IMAP (127.0.0.1:1143)graph LR
A[Tyr Chat] -->|встроенный| B[Сервис Tyr]
C[DeltaChat/ArcaneChat] -->|SMTP/IMAP| B
B -->|YMP| D[Сеть Yggdrasil]
D -->|P2P шифрование| E[Tyr получателя]
Почтовый сервер — yggmail-ng
(Rust), встроенный как нативная библиотека через UniFFI (libyggmail_mobile.so)
и работающий как foreground-сервис. Поверх Yggdrasil он отдаёт SMTP и IMAP4rev1
на localhost; подключается любой клиент.
Встроенный чат (с 1.8) использует тот же зашифрованный P2P-транспорт: текст и фото, статусы доставки/прочтения, копирование по нажатию, авто-прочтение при открытии и подавление уведомлений, пока диалог открыт.
Автоматически: пройдите онбординг (пароль + пиры), запустите сервис, установите DeltaChat или ArcaneChat, затем нажмите Настроить DeltaChat/ArcaneChat — Tyr откроет приложение с готовыми настройками.
Вручную: создайте новый профиль → Использовать другой сервер → введите свой
@yggmail-адрес (с главного экрана Tyr) и пароль, заданный в Tyr.
<64-hex>@yggmail127.0.0.1:1143 (без TLS) · SMTP: 127.0.0.1:1025 (без TLS)Для передачи почты Tyr должен быть запущен — включите автозапуск в настройках. Кнопка QR-код делится вашим адресом.
local.properties или ANDROID_HOME)Gradle предоставляется врапером (./gradlew) — отдельная установка не нужна.
git clone https://github.com/JB-SelfCompany/Tyr.git
cd Tyr
./gradlew assembleDebug # debug APK → app/build/outputs/apk/debug/
./gradlew installDebug # установка на подключённое устройство
Готовые libyggmail_mobile.so лежат в app/src/main/jniLibs/<abi>/, а UniFFI-биндинги —
в app/src/main/java/uniffi/yggmail_mobile/. Чтобы пересобрать их из
yggmail-ng, дополнительно нужны:
rustup target add aarch64-linux-android armv7-linux-androideabi x86_64-linux-android i686-linux-androidcargo install cargo-ndkANDROID_NDK_HOMEcd Yggmail-ng && ./build-android.sh # затем скопируйте .so + биндинги по подсказке скрипта
Приложение: GPLv3 (см. LICENSE). Встроенная библиотека yggmail-ng — MPL-2.0.
| Компонент | Детали |
|---|
| Язык | Kotlin 2.2.20 |
| Min / Target / Compile SDK | 23 / 33 / 36 |
| Архитектура | Слоистая (UI → Service → Data) |
| Почтовый сервер | yggmail-ng (Rust) через UniFFI (libyggmail_mobile.so) |
| Сеть | Оверлейная mesh-сеть Yggdrasil |
| Локализация | Английский, русский |