0.1.6 • Published 6 years ago

protonmail-exporter v0.1.6

Weekly downloads
26
License
-
Repository
github
Last release
6 years ago

ProtonMail Exporter

Thought your emails were stuck in encrypted byteland? ProtonMail, for all of its merits, does not support email exports of any kind. Because of their small team, they have no public API and do not (yet) support IMAP or bulk downloads.

This CLI uses headless Chromium to download, optionally decrypt, and export ProtonMail emails to standard formats.

Features

  • Exports email content, raw and parsed headers, and other ProtonMail metadata to JSON.
  • Optionally exports to standard .mbox format for portability to other email providers and applications.
  • Supports auto-resuming of stopped exports.

Limitations

  • This is currently only designed for the two-password ProtonMail login scheme. No 2FA support.
  • No attachment support.

Usage

It is not recommended you pass your passwords directly via option, as they'll be available in your bash history. If you do not pass your passwords as options, you will be prompted for them.

Options:

    -V, --version                              output the version number
    -u, --username <username>                  ProtonMail username (required)
    -p, --password <password>                  ProtonMail login password (optional)
    -m, --mailbox-password <mailbox-password>  ProtonMail mailbox password (optional)
    -g, --gui                                  Run with Chromium window visible (default: false)
    -c, --clean                                Remove cached emails for this account
    -d, --decrypt                              Decrypt email contents
    -h, --help                                 output usage information

Technical Notes

  • While the download is synchronous, there is no rate-limiting built in. Consider throttling your network connection in Chromium dev tools.
  • With decryption enabled, your encrypted private key is received via your login request to ProtonMail, and then decrypted locally the same way it is in your browser.

Notes

  • If you've changed your ProtonMail mailbox password since creating your account, YMMV, as this changes your private key's password.
  • This downloader does not distinguish between different email addresses in one ProtonMail inbox. It downloads the entire inbox.
  • Your (PGP encrypted) emails will be written to disk. Your emails will be not be decrypted, unless you pass the -d option.
  • Email headers are never encrypted.
TODOs:
  • Add 2FA support
  • Coverage
  • Find source of puppeteer navigation timeout error