mccb

Fonctionnalités

Ce que mccb fait de vos fichiers PST

Une image, deux services : web (tableau de bord et API, port 22362) et worker (file de tâches). L'état tient dans SQLite et des fichiers dans ./data.

Ce qu'il importe

  • E-mails vers IMAP

    Envoyés, Brouillons, Corbeille et Indésirables vont dans les dossiers spéciaux du serveur. Chaque langue et chaque jeu de caractères sont préservés.

  • Agendas vers CalDAV, contacts vers CardDAV

    Avec découverte DAV automatique.

  • Le plus récent d'abord

    Les e-mails sont importés du plus récent au plus ancien, tous dossiers confondus.

Conçu pour les lots

  • Comptes par CSV

    Ajoutez les comptes un par un, ou par CSV (email;password[;login]).

  • Envois avec reprise

    Les gros PST sont envoyés par morceaux, chacun contrôlé par SHA-256. L'espace libre est vérifié d'abord.

  • Aperçu

    Voyez les accents et les pièces jointes avant toute écriture.

  • Rapports

    Progression en direct, journal et rapport JSON par boîte.

Interruptions sans risque

  • Reprendre sans doublons

    Pause, arrêt, plantage ou redémarrage : une reprise interroge le serveur et ne duplique jamais un message.

  • Des plantages contenus

    Chaque tâche et chaque analyse de PST tourne dans son propre sous-processus : un plantage de la bibliothèque PST native ne peut pas faire tomber le worker.

  • Contrôles

    Après la phase e-mail, le nombre de messages de chaque dossier est comparé à ce qui a été envoyé, et un échantillon de messages est relu et comparé par empreinte.

Exploitation

  • Réglage

    Réglage automatique ou manuel des constructeurs de messages et des connexions IMAP, par serveur.

  • Mots de passe des boîtes

    Stockés chiffrés. L'application peut les déchiffrer : protégez donc ./data et la SECRET_KEY.

  • Sauvegarde

    Tout est dans ./data, y compris secret.key : sans lui, les mots de passe de boîtes enregistrés ne peuvent plus être déchiffrés.

Ce qu'il ne fait pas

  • Plusieurs administrateurs

    Un seul administrateur : un mot de passe partagé, ni comptes ni rôles.

  • Plusieurs hôtes

    SQLite sur un disque local : un seul hôte, pas de haute disponibilité, pas de NFS.

  • Les PST chiffrés

    Les PST chiffrés ou protégés par mot de passe n'ont aucun traitement dédié. Ils donnent des erreurs ou sont marqués invalides. Ne comptez pas dessus.

  • Résister à tous les PST corrompus

    Un PST corrompu peut faire planter libpff. Les éléments touchés sont ignorés et signalés, et au-delà de MAX_CHILD_CRASHES plantages, la tâche échoue.

  • HTTPS

    Le port 22362 parle en HTTP simple. Placez mccb derrière un reverse proxy et n'exposez pas ce port directement.

  • D'autres architectures

    L'image publiée est pour linux/amd64 uniquement.

  • Tout décoder parfaitement

    Les éléments sans information de jeu de caractères peuvent être mal décodés dans certaines langues.

  • Compenser le serveur cible

    Le résultat dépend du serveur IMAP et DAV cible.

Lancer mccb

Ouvrez http://<host>:22362 et connectez-vous avec le mot de passe affiché. Il n'apparaît qu'une fois. Les détails sont dans la documentation.

$ mkdir mccb && cd mccb
$ curl -fsSLO https://raw.githubusercontent.com/yetysw/mccb/main/docker-compose.yml
$ docker compose up -d
$ docker compose logs web | grep -A2 "Admin password"