
Email P2P autentica basata su Yggdrasil Network per Android
![]() | ![]() | ![]() | ![]() |
Tyr esegue un server di posta completo sul tuo dispositivo Android e instrada la posta attraverso la rete mesh Yggdrasil — niente server di posta centrali, niente port forwarding, niente STUN/TURN. I messaggi vengono instradati direttamente tra i nodi e Yggdrasil crittografa tutto in transito.
Il tuo indirizzo deriva da una chiave pubblica Ed25519 (<64-hex>@yggmail), quindi non può essere falsificato. SMTP/IMAP standard sono esposti su localhost, quindi qualsiasi client di posta funziona; DeltaChat/ArcaneChat offrono la migliore esperienza di messaggistica P2P.
127.0.0.1:1025) e IMAP (127.0.0.1:1143)graph LR
A[Tyr Chat] -->|built-in| B[Tyr service]
C[DeltaChat/ArcaneChat] -->|SMTP/IMAP| B
B -->|YMP| D[Yggdrasil network]
D -->|P2P encrypted| E[Recipient's Tyr]
Il server di posta è yggmail-ng (Rust), integrato come libreria nativa tramite UniFFI (libyggmail_mobile.so) e eseguito come servizio in primo piano. Sopra Yggdrasil espone SMTP e IMAP4rev1 su localhost; qualsiasi client può connettersi.
La chat integrata (dalla versione 1.8) utilizza lo stesso trasporto P2P crittografato: testo e foto, conferme di consegna/lettura, tocca per copiare, lettura automatica all'apertura e notifiche soppresse mentre una conversazione è in primo piano.
Automatico: completa la configurazione iniziale (password + peer), avvia il servizio, installa DeltaChat o ArcaneChat, poi tocca Setup DeltaChat/ArcaneChat — Tyr apre l'app già configurata.
Manuale: crea un nuovo profilo → Usa un server diverso → inserisci il tuo indirizzo @yggmail (dalla schermata principale di Tyr) e la password che hai impostato in Tyr.
<64-hex>@yggmail127.0.0.1:1143 (no TLS) · SMTP: 127.0.0.1:1025 (no TLS)Tyr deve essere in esecuzione per far fluire la posta — abilita l'avvio automatico nelle impostazioni. Usa il pulsante Codice QR per condividere il tuo indirizzo.
local.properties o ANDROID_HOME)Gradle è fornito dal wrapper (./gradlew) — nessuna installazione separata.
git clone https://github.com/JB-SelfCompany/Tyr.git
cd Tyr
./gradlew assembleDebug # debug APK → app/build/outputs/apk/debug/
./gradlew installDebug # installa su un dispositivo connesso
I file precompilati libyggmail_mobile.so si trovano in app/src/main/jniLibs/<abi>/ e i binding UniFFI in app/src/main/java/uniffi/yggmail_mobile/. Per ricostruirli da yggmail-ng hai bisogno inoltre di:
rustup target add aarch64-linux-android armv7-linux-androideabi x86_64-linux-android i686-linux-androidcargo install cargo-ndkANDROID_NDK_HOME impostatocd Yggmail-ng && ./build-android.sh # poi copia il .so e i binding secondo il suggerimento dello script
| Componente | Dettagli |
|---|---|
| Linguaggio | Kotlin 2.2.20 |
| Min / Target / Compile SDK | 23 / 33 / 36 |
| Architettura | A strati (UI → Service → Data) |
| Server di posta | yggmail-ng (Rust) tramite UniFFI (libyggmail_mobile.so) |
| Rete | Mesh overlay Yggdrasil |
| Localizzazione | Inglese, Russo |
App: GPLv3 (vedi LICENSE). La libreria yggmail-ng incorporata è MPL-2.0.