4.2 KiB
4.2 KiB
Hermes ProtonMail Plugin
Nützliches Add-on für Hermes Agent
um ProtonMail als E-Mail-Plattform zu nutzen — direkt über die Proton REST API, ohne Bridge, ohne GUI, Headless.
Stellt einen nativen Mail-Client für das Hermes Agent Gateway bereit — mit end-to-end-verschlüsseltem Senden & Empfangen, lokalem Mail-Index und Event-gesteuertem Sync.
Warum dieses Plugin?
| Anforderung | Lösung |
|---|---|
| 🔐 End-to-End-Verschlüsselung | OpenPGP in Python (PGPy / python-gnupg) |
| 🖥️ Headless-Betrieb auf VPS | Keine GUI, kein WireGuard, keine Bridge |
| 🚀 Echtzeit-Push | gRPC Events oder intelligentes Polling |
| 📦 Mail-Sync | Lokaler SQLite-Index mit inkrementellem Sync |
| ✍️ Mail verfassen | Verschlüsselter Versand via Proton API |
Status
| Phase | Fortschritt | Beschreibung |
|---|---|---|
| 1 — Auth POC | 🔲 | SRP-6a Login + API-Zugriff |
| 2 — Crypto POC | 🔲 | OpenPGP Entschlüsselung + Attachment-Handling |
| 3 — Sync Engine | 🔲 | SQLite-Index + Senden/Empfangen |
| 4 — Hermes Plugin | 🔲 | Gateway-Integration + Daemon |
| 5 — Produktion | 🔲 | Resilienz + Tests + Monitoring |
Aktuell: Phase 1 — Implementierungsplan steht, Setup-Phase läuft.
Schnellstart (später)
Hinweis: Dieses Plugin befindet sich noch in der Entwicklung.
Die ersten Releases erscheinen nach Abschluss der Phase 3 (Sync Engine).
# (Später verfügbar)
git clone https://gitea.thomander.de/andreas/Hermes_ProtonMail_Plugin.git
cd Hermes_ProtonMail_Plugin
./install.sh
Features (geplant)
| Feature | Beschreibung |
|---|---|
| 🔐 SRP-6a Auth | Sicheres Login ohne Passwort-Übertragung |
| 🔑 OpenPGP Crypto | End-to-End Entschlüsselung im Agent |
| 📨 Mail-Sync | Lokaler SQLite-Index mit Konversationen |
| 📤 Mail senden | Automatisch verschlüsselter Versand |
| 📎 Attachments | Verschlüsselte Anhänge senden & empfangen |
| 🔔 Push / Poll | Echtzeit-Benachrichtigung oder intelligentes Polling |
| 🏷️ Labels & Ordner | Proton-Labels synchronisieren |
| 👥 Kontakte | Public-Key-Discovery für Empfänger |
Architektur
┌─────────────────────────────────────────┐
│ Hermes Gateway (Agent Core) │
│ └── Platform Adapter: ProtonMail │
│ ├── Auth Manager (SRP-6a) │
│ ├── Crypto Engine (OpenPGP) │
│ ├── Sync Engine (SQLite) │
│ └── Notifier (Push → Hermes) │
└─────────────────────────────────────────┘
│
▼ HTTPS
┌─────────────────────────────────────────┐
│ ProtonMail API (mail.proton.me) │
│ ├── REST: Auth, Messages, Labels │
│ ├── gRPC: Events (neue Mail-Push) │
│ └── Key Server: Public Key Discovery │
└─────────────────────────────────────────┘
Was ist im Paket?
Hermes_ProtonMail_Plugin/
├── README.md ← Diese Datei
├── IMPLEMENTATION_PLAN.md ← 5-Phasen Entwicklungsplan
├── plugin.yaml ← Plugin-Metadaten
├── install.sh ← Interaktives Setup (später)
├── lib/
│ ├── __init__.py
│ ├── auth.py ← SRP + Token Management
│ ├── crypto.py ← PGP Wrapper
│ ├── api.py ← HTTP Client
│ ├── sync.py ← SQLite Sync Engine
│ └── models.py ← Dataclasses
├── scripts/
│ └── proton_daemon.py ← Long-running Sync + Push
├── tests/
│ └── ... ← Unit + Integration Tests
└── LICENSE ← Unlicense (Public Domain)
Lizenz
Unlicense — Public Domain