addy.io on Ubuntu 24.04 by cloudimg
by cloudimg
Self hosted email aliasing that hides your real inbox behind aliases you control.
addy.io on Ubuntu 24.04 LTS by cloudimg
addy.io, formerly AnonAddy, is a self hosted email aliasing service. Instead of handing your real address to every shop, forum, newsletter and app that asks for one, you give each of them a different alias on your own domain. Mail sent to an alias is forwarded to your real inbox, and you can reply from the alias so the other side never learns where it actually lands. When an alias starts attracting spam you switch it off or delete it, and only that one correspondent is affected.
Because every alias is unique to one recipient, an address that starts receiving spam tells you exactly who leaked or sold it. Aliases can be created from the web interface, from the official browser extensions and mobile apps, or through the API. Each one carries a description, can be enabled and disabled at any time, and keeps a count of what has been forwarded, blocked and replied through it. You can point different aliases at different recipient mailboxes, block individual senders, build rules that act on incoming mail, and have forwards encrypted with your own PGP key. Bring as many domains as you like, with catch all rules and username subdomains.
Your mail stays yours. Everything runs on your own virtual machine with its own MariaDB database and its own Postfix mail server. No message, alias or address is visible to anyone else, and cloudimg has no access to any of it.
### What cloudimg adds
Nobody can walk up and claim your appliance. Self hosted addy.io ships with sign up open and has no notion of an owner, so on a public address any passer by can create an account on your server and start issuing aliases on your domain. This image never enters that state. First boot creates exactly one administrator with a password generated on your virtual machine, and sign up is closed before the web server accepts a single connection. Neither the web listener nor the mail listener opens until that has happened.
No shared secrets, anywhere. The application key, the database password, the Redis password, the verification secret, the blocklist API secret, the DKIM signing key and the administrator password are all generated on your virtual machine at first boot and exist nowhere else. Upstream publishes real default values for several of these in its example configuration, including one genuine high entropy secret committed to its public repository. A guard runs before both public listeners start and refuses to let either serve on an empty, unrotated or published default value.
A closed back end. MariaDB, Redis and the spam filter all listen on the loopback interface only. The single web listener is a hardened reverse proxy on ports 80 and 443, and the single mail listener is Postfix on port 25.
Your domain in one command. One command repoints the appliance at your own domain: it rewrites the application configuration, the mail server and the DKIM signing tables together, generates a signing key for your domain, then prints the exact A, MX, SPF, DKIM and DMARC records to publish.
Mail that actually arrives. Outgoing alias mail is DKIM and ARC signed, and incoming mail is checked for SPF, DKIM and DMARC. The public blocklist lookups in upstream's reference configuration are deliberately disabled: they refuse queries made through a cloud resolver and silently turn a spam check into lost mail.
Verified before it shipped. The image is captured only after a fresh virtual machine, launched from the exact image you receive, has proved all of the above on its own: real credentials accepted, published defaults rejected, an anonymous sign up refused with no account created, a real alias generated through the API and read back, and the mail server proved to route the alias domain to the application.
Complete source included. addy.io is licensed under the GNU Affero General Public License v3. The complete corresponding source for the exact version running here ships on the image with its checksum, the licence text and a written offer.
### Deployment
Launch the virtual machine, allow inbound ports 80 and 443 from the networks you trust and inbound port 25 from anywhere, and browse to the public address. The administrator sign in details are written to a root only file on first boot. Point the appliance at your own domain, publish the DNS records it prints, and your aliases will start receiving mail. Azure blocks outbound port 25 on most subscriptions, so the deployment guide also covers relaying forwarded mail through a smart host.
Backed by 24/7 cloudimg support.