
E-mail P2P verdadeiro sobre a Yggdrasil Network para Android
![]() | ![]() | ![]() | ![]() |
O Tyr executa um servidor de correio completo no seu dispositivo Android e encaminha o correio através da rede mesh Yggdrasil — sem servidores de correio centrais, sem reencaminhamento de portas, sem STUN/TURN. As mensagens são encaminhadas diretamente entre os nós, e o Yggdrasil encripta tudo em trânsito.
O seu endereço é derivado de uma chave pública Ed25519 (<64-hex>@yggmail), por isso não pode ser falsificado. SMTP/IMAP padrão são expostos em localhost, portanto qualquer cliente de correio funciona; DeltaChat/ArcaneChat proporcionam a melhor experiência de mensagens P2P.
127.0.0.1:1025) e IMAP local (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]
O servidor de correio é o yggmail-ng (Rust), incorporado como uma biblioteca nativa via UniFFI (libyggmail_mobile.so) e executado como um serviço em primeiro plano. Sobre o Yggdrasil, expõe SMTP e IMAP4rev1 em localhost; qualquer cliente pode conectar-se.
O chat integrado (desde a versão 1.8) usa o mesmo transporte P2P encriptado: texto e fotos, confirmações de entrega/leitura, tocar para copiar, leitura automática ao abrir e notificações suprimidas enquanto uma conversa está em primeiro plano.
Automático: conclua a configuração inicial (palavra-passe + pares), inicie o serviço, instale o DeltaChat ou o ArcaneChat, depois toque em Configurar DeltaChat/ArcaneChat — o Tyr abre a aplicação pré-configurada.
Manual: crie um novo perfil → Usar um servidor diferente → insira o seu endereço @yggmail (do ecrã principal do Tyr) e a palavra-passe que definiu no Tyr.
<64-hex>@yggmail127.0.0.1:1143 (sem TLS) · SMTP: 127.0.0.1:1025 (sem TLS)O Tyr deve estar em execução para o correio fluir — ative o início automático nas definições. Use o botão Código QR para partilhar o seu endereço.
local.properties ou ANDROID_HOME)O Gradle é fornecido pelo wrapper (./gradlew) — sem instalação separada.
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
Os ficheiros pré-construídos libyggmail_mobile.so residem em app/src/main/jniLibs/<abi>/ e as ligações UniFFI em app/src/main/java/uniffi/yggmail_mobile/. Para os recompilar a partir do yggmail-ng precisa adicionalmente de:
rustup target add aarch64-linux-android armv7-linux-androideabi x86_64-linux-android i686-linux-androidcargo install cargo-ndkANDROID_NDK_HOME definidocd Yggmail-ng && ./build-android.sh # then copy the .so + bindings per the script's hint
Aplicação: GPLv3 (veja LICENSE). A biblioteca yggmail-ng incorporada é MPL-2.0.
| Componente | Detalhes |
|---|
| Idioma | Kotlin 2.2.20 |
| SDK Mínimo / Alvo / Compilação | 23 / 33 / 36 |
| Arquitetura | Em camadas (UI → Service → Data) |
| Servidor de correio | yggmail-ng (Rust) via UniFFI (libyggmail_mobile.so) |
| Rede | Mesh de sobreposição Yggdrasil |
| Localização | Inglês, Russo |