
Echte P2P-E-Mail auf Basis des Yggdrasil-Netzwerks für Android
![]() | ![]() | ![]() | ![]() |
Tyr betreibt einen vollständigen Mailserver auf Ihrem Android-Gerät und leitet E-Mails über das Yggdrasil‑Mesh‑Netzwerk weiter – keine zentralen Mailserver, kein Port‑Forwarding, kein STUN/TURN. Nachrichten werden direkt zwischen den Knoten weitergeleitet, und Yggdrasil verschlüsselt alles während der Übertragung.
Ihre Adresse wird von einem Ed25519‑öffentlichen Schlüssel abgeleitet (<64-hex>@yggmail), sodass sie nicht gefälscht werden kann. Standard‑SMTP/IMAP wird auf localhost bereitgestellt, sodass jeder Mailclient funktioniert; DeltaChat/ArcaneChat bieten die beste P2P‑Messaging‑Erfahrung.
127.0.0.1:1025)‑ und IMAP (127.0.0.1:1143)‑Servergraph 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]
Der Mailserver ist yggmail‑ng (Rust), eingebettet als native Bibliothek über UniFFI (libyggmail_mobile.so) und läuft als Vordergrunddienst. Über Yggdrasil stellt er SMTP und IMAP4rev1 auf localhost bereit; jeder Client kann sich verbinden.
Der integrierte Chat (seit 1.8) verwendet denselben verschlüsselten P2P‑Transport: Text und Fotos, Sende‑/Lesebestätigungen, Tippen‑zum‑Kopieren, automatisches Lesen beim Öffnen und unterdrückte Benachrichtigungen, während eine Unterhaltung im Vordergrund ist.
Automatisch: Onboarding abschließen (Passwort + Peers), Dienst starten, DeltaChat oder ArcaneChat installieren, dann auf DeltaChat/ArcaneChat einrichten tippen – Tyr öffnet die App vorkonfiguriert.
Manuell: Neues Profil erstellen → Anderen Server verwenden → Ihre @yggmail‑Adresse (vom Tyr‑Hauptbildschirm) und das in Tyr festgelegte Passwort eingeben.
<64-hex>@yggmail‑Adresse127.0.0.1:1143 (kein TLS) · SMTP: 127.0.0.1:1025 (kein TLS)Tyr muss laufen, damit E‑Mails fließen – aktivieren Sie den automatischen Start in den Einstellungen. Verwenden Sie die QR‑Code‑Schaltfläche, um Ihre Adresse zu teilen.
local.properties oder ANDROID_HOME)Gradle wird vom Wrapper (./gradlew) bereitgestellt – keine separate Installation.
git clone https://github.com/JB-SelfCompany/Tyr.git
cd Tyr
./gradlew assembleDebug # debug APK → app/build/outputs/apk/debug/
./gradlew installDebug # install to a connected device
Die vorgebauten libyggmail_mobile.so‑Dateien befinden sich in app/src/main/jniLibs/<abi>/ und die UniFFI‑Bindungen in app/src/main/java/uniffi/yggmail_mobile/. Um sie aus yggmail‑ng neu zu erstellen, benötigen Sie zusätzlich:
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 # then copy the .so + bindings per the script's hint
App: GPLv3 (siehe LICENSE). Die eingebettete yggmail‑ng‑Bibliothek ist MPL‑2.0.
| Komponente | Details |
|---|
| Sprache | Kotlin 2.2.20 |
| Min / Ziel / Compile SDK | 23 / 33 / 36 |
| Architektur | Schichten (UI → Service → Data) |
| Mailserver | yggmail‑ng (Rust) über UniFFI (libyggmail_mobile.so) |
| Netzwerk | Yggdrasil‑Overlay‑Mesh |
| Lokalisierung | Englisch, Russisch |