A third-party, open-source ProtonMail CardDAV, IMAP and SMTP bridge
See the codeA third-party, open-source ProtonMail bridge. For power users only, designed to run on a server.
⚠️ Heads up!
This project has migrated to Codeberg.
hydroxide supports CardDAV, IMAP and SMTP.
Rationale:
Feel free to join the IRC channel: #emersion on Libera Chat.
hydroxide is a server that translates standard protocols (SMTP, IMAP, CardDAV)
into ProtonMail API requests. It allows you to use your preferred e-mail clients
and git-send-email with ProtonMail.
+-----------------+ +-------------+ ProtonMail +--------------+
| | IMAP, SMTP | | API | |
| E-mail client <-------------> hydroxide <--------------> ProtonMail |
| | | | | |
+-----------------+ +-------------+ +--------------+
hydroxide is implemented in Go. Head to Go website for setup information.
Start by installing hydroxide:
git clone https://github.com/emersion/hydroxide.git
go build ./cmd/hydroxide
Then you'll need to login to ProtonMail via hydroxide, so that hydroxide can retrieve e-mails from ProtonMail. You can do so with this command:
hydroxide auth <username>
Once you're logged in, a "bridge password" will be printed. Don't close your terminal yet, as this password is not stored anywhere by hydroxide and will be needed when configuring your e-mail client.
Your ProtonMail credentials are stored on disk encrypted with this bridge password (a 32-byte random password generated when logging in).
hydroxide can be used in multiple modes.
Don't start hydroxide multiple times, instead you can use
hydroxide serve. This requires ports 1025 (smtp), 1143 (imap), and 8080 (carddav).
To run hydroxide as an SMTP server:
hydroxide smtp
Once the bridge is started, you can configure your e-mail client with the following settings:
localhostYou must setup an HTTPS reverse proxy to forward requests to hydroxide.
hydroxide carddav
Tested on GNOME (Evolution) and Android (DAVDroid).
⚠️ Warning: IMAP support is work-in-progress. Here be dragons.
For now, it only supports unencrypted local connections.
hydroxide imap
This project is casually maintained: pull requests are welcome, but the maintainer is busy with lots of other things and will be slow to respond.
Also see CONTRIBUTING.md.
MIT
Overall
Maintained
Code review
Go module
Latest release
Releases this year
(top 24 of 59)
2,563 followers · starred Jan 2020
177 followers · starred Aug 2021
779 followers · starred Jun 2020
411 followers · starred May 2020
A third-party, open-source ProtonMail CardDAV, IMAP and SMTP bridge
See the codeA third-party, open-source ProtonMail bridge. For power users only, designed to run on a server.
⚠️ Heads up!
This project has migrated to Codeberg.
hydroxide supports CardDAV, IMAP and SMTP.
Rationale:
Feel free to join the IRC channel: #emersion on Libera Chat.
hydroxide is a server that translates standard protocols (SMTP, IMAP, CardDAV)
into ProtonMail API requests. It allows you to use your preferred e-mail clients
and git-send-email with ProtonMail.
+-----------------+ +-------------+ ProtonMail +--------------+
| | IMAP, SMTP | | API | |
| E-mail client <-------------> hydroxide <--------------> ProtonMail |
| | | | | |
+-----------------+ +-------------+ +--------------+
hydroxide is implemented in Go. Head to Go website for setup information.
Start by installing hydroxide:
git clone https://github.com/emersion/hydroxide.git
go build ./cmd/hydroxide
Then you'll need to login to ProtonMail via hydroxide, so that hydroxide can retrieve e-mails from ProtonMail. You can do so with this command:
hydroxide auth <username>
Once you're logged in, a "bridge password" will be printed. Don't close your terminal yet, as this password is not stored anywhere by hydroxide and will be needed when configuring your e-mail client.
Your ProtonMail credentials are stored on disk encrypted with this bridge password (a 32-byte random password generated when logging in).
hydroxide can be used in multiple modes.
Don't start hydroxide multiple times, instead you can use
hydroxide serve. This requires ports 1025 (smtp), 1143 (imap), and 8080 (carddav).
To run hydroxide as an SMTP server:
hydroxide smtp
Once the bridge is started, you can configure your e-mail client with the following settings:
localhostYou must setup an HTTPS reverse proxy to forward requests to hydroxide.
hydroxide carddav
Tested on GNOME (Evolution) and Android (DAVDroid).
⚠️ Warning: IMAP support is work-in-progress. Here be dragons.
For now, it only supports unencrypted local connections.
hydroxide imap
This project is casually maintained: pull requests are welcome, but the maintainer is busy with lots of other things and will be slow to respond.
Also see CONTRIBUTING.md.
MIT
Overall
Maintained
Code review
Go module
Latest release
Releases this year
(top 24 of 59)
2,563 followers · starred Jan 2020
177 followers · starred Aug 2021
779 followers · starred Jun 2020
411 followers · starred May 2020