2.5 KiB
Acces boite mail O365 pro (hermes-tt) — historique et decision
Echec V0 : hermes-mail-proxy (Graph API device code flow)
Tentative : client public officiel Microsoft ("Microsoft Graph Command Line Tools", client_id 14d82eec-204b-4c2f-b7e8-296a70dab67e) via MSAL device code flow, pour contourner le besoin d'enregistrement d'appli Azure AD (bloque en self-service sur le tenant TT). Code deploye port 3060 (hermes-mail-proxy), jamais authentifie : consentement Mail.Read/Mail.ReadWrite/Mail.Send bloque par l'admin meme sur ce client pre-consenti. Confirme le 22/07/2026 (curl /auth/status -> authenticated:false apres plusieurs semaines up). Container arrete et supprime le 22/07/2026, port 3060 libere. Ne pas retenter la voie Graph API sur ce tenant sans intervention admin TT.
Decision V1 : hermes-mail-browser (session navigateur persistante)
Principe : authentification 100% humaine (Nabil, MFA inclus) via noVNC sur un navigateur reel tournant sur le NAS (IP maison tunisienne). L'automatisation ne fait QUE lire sur la session deja ouverte — jamais de re-authentification automatisee, jamais de credentials stockes en clair.
Stack :
- Microsoft Edge reel (channel msedge, pas Chromium generique) — fingerprint Sec-CH-UA coherent avec un poste Windows corporate, reduction des heuristiques de detection cote Defender for Cloud Apps.
- Affichage virtuel Xvfb + x11vnc, expose uniquement en LAN via noVNC (port 8810, bind 192.168.100.33, AUCUN vhost DSM, AUCUN reverse-proxy).
- Edge lance en persistant (--user-data-dir sur volume monte, profil survit aux redemarrages) avec remote debugging port 9222 (localhost uniquement).
- API FastAPI (port 3110) se connecte au MEME navigateur via CDP (connect_over_cdp) — pas d'instance separee — pour lire la boite de reception. hermes-tt consomme cette API en lecture seule.
Scope Phase 1 (lecture seule) : liste boite de reception (expediteur, objet, date, lu/non lu, apercu), lecture corps complet d'un mail. Aucune action d'ecriture (envoi, suppression, deplacement) en V1.
Gestion expiration session : l'API detecte l'atterrissage sur login.microsoftonline.com et renvoie 409 "reauthentification manuelle requise" plutot que de tenter quoi que ce soit — Nabil rouvre noVNC, se reauthentifie, la session persiste a nouveau.
Ports : 3110 (API interne), 8810 (noVNC, LAN uniquement). Conteneur : hermes-mail-browser, reseau n8n, UID/GID 1026:100, volume data/ pour le profil navigateur.
Statut : deploiement initial 22/07/2026.