Files
Hermes_ProtonMail_Plugin/README.md
T

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