I am @JoshData. By day (and night) I am a civic entrepreneur/hacker.
I run GovTrack.us and recently co-founded if.then.fund.
Today I am going to tell you about my side-project:
https://mailinabox.email
Decentralized. Secure.
https://github.com/mail-in-a-box/mailinabox
Readable. Idempotent. Fool-proof.
~20 installs per day
No idea how many Mail-in-a-Boxes are actually running.
Small but great open source community.
Ultimate goal: Let people tinker with email again.
The control panel is a client to
the Management API
(via AJAX --- no <form>
s).
Create Mailboxes | |
---|---|
GET /admin/mail/users | (list users) |
POST /admin/mail/users/add | (add user) |
POST /admin/mail/users/password | (set user pw) |
Modify DNS | |
PUT /admin/dns/custom/<qname>/<rtype> | (set DNS record) |
Other Management | |
POST /admin/ssl/install | (install SSL cert) |
POST /admin/system/status | (self monitoring - JSON) |
curl -X POST --user me@joshmail.xyz:123456 https://box.joshmail.xyz/admin/system/status
[ { "extra": [], "text": "System", "type": "heading" }, { "extra": [], "text": "All system services are running.", "type": "ok" }, { "extra": [], "text": "SSH disallows password-based login.", "type": "ok" }, { "extra": [], "text": "System updates have been installed and a reboot of the machine is required.", "type": "error" }, ...
To create a dynamic DNS service:
curl -X PUT --user me@joshmail.xyz:123456 https://box.joshmail.xyz/admin/dns/custom/laptop.joshmail.xyz
Stay in touch.
@JoshData. @Mailinabox. https://mailinabox.email.