All Projects → emersion → Hydroxide

emersion / Hydroxide

Licence: mit
A third-party, open-source ProtonMail CardDAV, IMAP and SMTP bridge

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to Hydroxide

James Project
Emails at the heart of your business logic!
Stars: ✭ 485 (-16.09%)
Mutual labels:  mail, smtp, imap
imail
small mail server
Stars: ✭ 88 (-84.78%)
Mutual labels:  mail, imap, smtp
Maddy
✉️ Composable all-in-one mail server.
Stars: ✭ 2,800 (+384.43%)
Mutual labels:  mail, smtp, imap
ESP-Mail-Client
⚡️Arduino Mail Client Library to send, read and get incoming mail notification for ESP32, ESP8266 and SAMD21 devices. The library also supported other Arduino devices using Clients interfaces e.g. WiFiClient, EthernetClient, and GSMClient.
Stars: ✭ 78 (-86.51%)
Mutual labels:  mail, imap, smtp
Mailcow Dockerized
mailcow: dockerized - 🐮 + 🐋 = 💕
Stars: ✭ 4,573 (+691.18%)
Mutual labels:  mail, imap, smtp
Neomutt
✉️ Teaching an Old Dog New Tricks -- IRC: #neomutt on irc.libera.chat
Stars: ✭ 2,343 (+305.36%)
Mutual labels:  mail, smtp, imap
enough mail
IMAP, POP3 and SMTP clients for Dart developers. Contains both low level as well as a high level API.
Stars: ✭ 78 (-86.51%)
Mutual labels:  mail, imap, smtp
Docker Mailserver
Production-ready fullstack but simple mail server (SMTP, IMAP, LDAP, Antispam, Antivirus, etc.) running inside a container.
Stars: ✭ 8,115 (+1303.98%)
Mutual labels:  mail, smtp, imap
Mail
Library to send e-mails over different transports and protocols (like SMTP and IMAP) using immutable messages and streams. Also includes SMTP server.
Stars: ✭ 399 (-30.97%)
Mutual labels:  mail, smtp, imap
skirnir
Skirnir Email Server
Stars: ✭ 31 (-94.64%)
Mutual labels:  mail, imap, smtp
Excision-Mail
Fullstack, security focused mailserver based on OpenSMTPD for OpenBSD using ansible
Stars: ✭ 108 (-81.31%)
Mutual labels:  mail, imap, smtp
Neutron
Self-hosted server for the ProtonMail client
Stars: ✭ 452 (-21.8%)
Mutual labels:  mail, smtp, imap
Mailu
Insular email distribution - mail server as Docker images
Stars: ✭ 3,151 (+445.16%)
Mutual labels:  mail, smtp, imap
Mail
The Hoa\Mail library.
Stars: ✭ 24 (-95.85%)
Mutual labels:  mail, imap, smtp
fs2-mail
asynchronous library for sending and receiving mail via fs2._
Stars: ✭ 39 (-93.25%)
Mutual labels:  mail, imap, smtp
Rainloop Webmail
Simple, modern & fast web-based email client
Stars: ✭ 3,618 (+525.95%)
Mutual labels:  mail, smtp, imap
Twisted
Event-driven networking engine written in Python.
Stars: ✭ 4,442 (+668.51%)
Mutual labels:  smtp, imap
himalaya
Command-line interface for email management
Stars: ✭ 1,715 (+196.71%)
Mutual labels:  mail, imap
imapx
A cross-platform IMAP library for .NET, supporting .Net 2.0 - 4.5, Mono and Windows Phone
Stars: ✭ 28 (-95.16%)
Mutual labels:  mail, imap
Mail
💌 Mail app for Nextcloud
Stars: ✭ 528 (-8.65%)
Mutual labels:  smtp, imap

hydroxide

A third-party, open-source ProtonMail bridge. For power users only, designed to run on a server.

hydroxide supports CardDAV, IMAP and SMTP.

Rationale:

  • No GUI, only a CLI (so it runs in headless environments)
  • Standard-compliant (we don't care about Microsoft Outlook)
  • Fully open-source

Feel free to join the IRC channel: ##emersion on irc.freenode.net.

How does it work?

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  |
|                 |             |             |              |              |
+-----------------+             +-------------+              +--------------+

Setup

Go

hydroxide is implemented in Go. Head to Go website for setup information.

Installing

Start by installing hydroxide:

git clone https://github.com/emersion/hydroxide.git
GO111MODULE=on 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).

Usage

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).

SMTP

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:

  • Hostname: localhost
  • Port: 1025
  • Security: none
  • Username: your ProtonMail username
  • Password: the bridge password (not your ProtonMail password)

CardDAV

You must setup an HTTPS reverse proxy to forward requests to hydroxide.

hydroxide carddav

Tested on GNOME (Evolution) and Android (DAVDroid).

IMAP

For now, it only supports unencrypted local connections.

hydroxide imap

License

MIT

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].